]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
[grub2.git] / ChangeLog
1 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4 rather than resetting it to allow modules to reference themselves
5 in init.
6
7 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10 counter on dependencies since grub_dl_unref already handles this.
11
12 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15 on error if not already done.
16
17 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Fix few potential memory misusage.
20
21 * grub-core/font/font.c (load_font_index): Don't free char_index to
22 avoid double free.
23 (grub_font_load): Zero-fill font at alloc for safety.
24 Close file on error.
25 (free_font): Free bmp_idx.
26
27 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * docs/grub.texi (Installation): Fix several outdated claims.
30
31 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Handle module_license on windows.
34
35 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
36 sections shifted.
37 (insert_string): Make argument const char * instead of char *.
38 (write_section_data): Handle long section names.
39 Handle module_license.
40
41 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
44 handle class-free menuentries.
45 (grub_normal_add_menu_entry): Add a check to be sure.
46
47 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
50 PgUp and PgDown.
51
52 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * configure.ac: Bump version to 1.99.
55
56 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Give ATA device a bit more time on first try in order to allow disks
59 to spin up.
60
61 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
62 if dev->present is 1. Reset dev->present on failure.
63 (grub_ata_device_initialize): Set dev->present to 1.
64 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
65 (grub_ata_device): New member 'present'.
66
67 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-mkimage.c (generate_image): Update hash.
70
71 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
72
73 Flush caches on DMA memory.
74
75 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
76 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
77 (grub_dma_free): Likewise.
78 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
79
80 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
83 to avoid asm treating ld and sd as macros.
84
85 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
88 decompressor.
89
90 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
93 grub_decompress_core since later would fail if grub_decompress_core
94 is too far.
95
96 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
99 R_MIPS_JALR since it's used by newer compiler.
100
101 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
104
105 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
108 file_path to 0 for surety.
109 (grub_chainloader_boot): Set exit_data to NULL.
110 Unset the loader once done.
111 (grub_cmd_chainloader): Fix confusing error message if file is empty.
112
113 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
116 unknown key into a dprintf.
117
118 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
121 on first non-existant partition.
122
123 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
126 openning fails.
127 Reported by: Mark Korenberg.
128
129 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
132 overflow.
133
134 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * util/grub-mkimage.c (main): Explicitely flush and sync the output
137 before closing to ensure that it will be readable by grub-setup.
138
139 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
142 (devpath_1): Use MAKE_PIWG_PATH.
143 (devpath_2): Likewise.
144 (devpath_3): Likewise.
145 (devpath_4): Likewise.
146 (devpath_5): Likewise.
147 (devpath_6): Likewise.
148
149 The appleldr.mod was checked that to be binary identical to previous
150 version.
151
152 2011-05-05 Zach <mikezackles>
153
154 Support 2010 Macbooks.
155
156 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
157 (devs): Add devpath_6.
158
159 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
162 /dev/random. /dev/urandom is good enough for our purposes (salting).
163
164 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
167
168 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
171 hexadecimal.
172
173 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
176 and not 0 on failure.
177
178 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
179
180 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
181 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
182 disk; otherwise grub_fs_probe will not fall back to the next
183 filesystem.
184 (grub_pxefs_open): Likewise, for consistency.
185 Reported and tested by: Ezekiel Grave.
186
187 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
188
189 * tests/partmap_test.in: Don't hardcode path to parted.
190 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
191
192 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
193
194 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
195 of `ls' to find out which devices are available.
196
197 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
200 than source address for efi mmap buffer.
201
202 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
205 wrong action on non-detecting the magic.
206
207 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
210 already supplied by another part of the module (fixes compilation on
211 FreeBSD).
212
213 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
216 match the one used by mdadm.
217
218 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
219
220 * po/README: Add instructions for creating po/LINGUAS.
221
222 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
223
224 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
225 #551428.
226
227 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
228 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
229 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
230 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
231 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
232 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
233 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
234 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
235 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
236 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
237 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
238 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
239 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
240 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
241 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
242 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
243 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
244 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
245 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
246 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
247 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
248 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
249
250 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
251
252 * grub-core/kern/emu/getroot.c
253 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
254 test that was incorrectly reintroduced in r3214.
255 Reported by: Ian Dall. Fixes Savannah bug #33133.
256
257 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
258
259 Fix stack pointer handling in 16-bit relocator.
260
261 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
262 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
263 Fixes Ubuntu bug #683904.
264
265 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * configure.ac: Bump version to 1.99~rc2.
268
269 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
272 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
273 * grub-core/lib/x86_64/setjmp.S: Likewise.
274 * grub-core/lib/mips/setjmp.S: Likewise.
275 * grub-core/lib/powerpc/setjmp.S: Likewise.
276 * grub-core/lib/sparc64/setjmp.S: Likewise.
277
278 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
281 * grub-core/lib/efi/datetime.c: Likewise.
282
283 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
286 New function.
287 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
288 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
289 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
290
291 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
294 bitmap.
295 (grub_gfxterm_term_init): Likewise.
296
297 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
298
299 Take into account the decorations the computing menu entry width.
300
301 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
302 (grub_gfxmenu_create_box): Register get_border_width.
303 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
304 if available.
305 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
306 get_border_width.
307
308 2011-04-18 Endres Puschner <code@e7p.de>
309
310 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
311 Don't skip first class.
312
313 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
316 chunks.
317 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
318
319 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 Complete 64-bit division support.
322
323 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
324 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
325 * include/grub/misc.h (grub_divmod64): Rename to ...
326 (grub_divmod64_full): ... this.
327 (grub_divmod64): New inline function.
328
329 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * util/grub-mkimage.c (generate_image): Add forgotten comma.
332
333 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
336 performing the necessary test.
337
338 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
341 (kfreebsd.elf): Likewise.
342 (pc-chainloader.elf): Likewise.
343 (ntldr.elf): Likewise.
344
345 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
346
347 Identify RAID by its UUID rather than (guessed) name.
348
349 * grub-core/disk/raid.c (ascii2hex): New function.
350 (grub_raid_open): Accept mduuid/%s specification.
351 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
352 (get_mdadm_uuid): ... this.
353 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
354
355 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
358 to negative size.
359
360 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
361
362 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
363 btrfs subvolume.
364 * util/grub.d/20_linux_xen.in: Likewise.
365
366 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
367
368 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
369 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
370
371 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
372 Build a list of relevant visible mounts using the mnt_id and
373 parent_mnt_id fields, and then scan that list at the end.
374
375 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
376
377 * docs/grub.texi (normal): New section.
378 (normal_exit): New section.
379 (Embedded configuration): Add reference to normal.
380 (GRUB only offers a rescue shell): Likewise.
381 * docs/grub-dev.texi (Error Handling): Fix typo.
382
383 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
384
385 * NEWS: Drop obsolete entry about probe-only btrfs support.
386
387 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
388
389 * util/import_gcry.py: Fix typo.
390
391 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * NEWS: Add btrfs support.
394
395 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
396 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
397
398 BtrFS support. Written by me (Vladimir) with important bugfixes and
399 even more important testing by Colin.
400
401 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
402 * grub-core/Makefile.core.def (btrfs): Add crc.c.
403 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
404 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
405 mem_input_off and mem_input. All users updated to accept in-RAM input.
406 (gzio_seek): New function.
407 (test_zlib_header): Likewise.
408 (grub_gzio_read): Likewise.
409 (grub_zlib_decompress): Likewise.
410 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
411 Accept partial and non-virtual mounts.
412 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
413 avoid receiving /dev/dm-X as device.
414 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
415 Handle bind and partial mounts.
416 * grub-core/lib/crc.c: New file.
417 * include/grub/deflate.h: Likewise.
418 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
419 proto.
420 * include/grub/lib/crc.h: New file.
421
422 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Implement automatic module license checking according to new GNU
425 guidelines.
426
427 * grub-core/kern/dl.c (grub_dl_check_license): New function.
428 (grub_dl_load_core): Use grub_dl_check_license.
429 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
430 (GRUB_MOD_LICENSE): Likewise.
431 (GRUB_MOD_DUAL_LICENSE): Likewise.
432 All modules updated.
433
434 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
435
436 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
437 reserved_first_sector to 1. btrfs reserves plenty of space for boot
438 loaders.
439 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
440
441 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
444
445 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * util/grub-fstest.c (read_file): Report GRUB error if file opening
448 failed.
449
450 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/kern/file.c (grub_file_open): Don't take into account the
453 parenthesis in the middle of the filename.
454
455 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
458 rather than trying to put initrd way too high.
459 Reported by: Ryan Lortie <desrt@desrt.ca>
460
461 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
464 improperly removed string.
465
466 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
469 is_disk.
470 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
471 (open_device) Likewise.
472 (grub_util_biosdisk_close): Likewise.
473 Reported by: Mark Korenberg.
474
475 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
476
477 * util/grub-mkconfig_lib.in: Add missing quotes.
478
479 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
480
481 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
482 is NULL.
483
484 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Dynamically count the number of lines for the lower banner.
487
488 * grub-core/normal/menu_entry.c (per_term_screen): New member
489 num_entries.
490 (print_down): Use num_entries.
491 (update_screen): Likewise.
492 (grub_menu_entry_run): Set num_entries.
493 * grub-core/normal/menu_text.c (menu_viewer_data): New member
494 num_entries.
495 (grub_print_message_indented): Move real part to ...
496 (grub_print_message_indented_real): ... here. Additional argument
497 dry_run.
498 (draw_border): Additional argument num_entries.
499 (print_message): Additional argument dry_run.
500 (print_entries): Receive menu viewer data.
501 (grub_menu_init_page): New argment num_entries.
502 (menu_text_set_chosen_entry): Use num_entries.
503 (grub_menu_try_text): Likewise.
504 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
505 All users updated.
506 (grub_ucs4_count_lines): New function.
507 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
508 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
509 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
510 (grub_term_border_height): Likewise.
511 (grub_term_num_entries): Likewise.
512
513 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
516 Remove now unused string.
517
518 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
519
520 * docs/grub-dev.texi (Finding your way around): Update for 1.99
521 build system.
522 (Getting started): GRUB is developed in Bazaar now, not Subversion.
523
524 (Comment): Fix typo.
525 (Getting started): General copy-editing.
526 (Typical Development Experience): Likewise.
527 (Error Handling): Likewise.
528 (Video API): Likewise.
529
530 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
531
532 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
533 throughout.
534
535 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * util/grub-mkimage.c (main): Handle special naming of yeeloong
538 directory.
539
540 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
541
542 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
543 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
544 "development".
545
546 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
549 grub_strcpy since the lines aren't necessarily 0-terminated.
550
551 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
554 root on legacy.
555
556 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/commands/probe.c (options): Argument to set isn't optional.
559 (GRUB_MOD_INIT): DEVICE isn't optional.
560
561 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
564 word on new line if it's too long anyway. Fixes a hang.
565
566 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
569 const.
570 * util/grub-setup.c (main): Reuse md device name if available.
571 * util/raid.c (grub_util_raid_getmembers): Receive device name and
572 not GRUB name as argument.
573 Based on patch by: Florian Wagner <fwagner>.
574
575 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
578 Place mbi on low memory for better compatibility.
579
580 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
583
584 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
585 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
586
587 * autogen.sh: Ensure that collate and ctype locale is C.
588 * conf/Makefile.common: Likewise.
589
590 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/normal/menu.c: Add missing include.
593
594 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
597
598 2011-04-08 Martin Zuther <mzuther@mzuther.de>
599
600 * util/grub-mkconfig.in: Ignore emacsen backup.
601
602 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
605 on open.
606 (grub_util_biosdisk_close): Likewise.
607
608 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
611 const attribute and use grub_isdigit.
612
613 2011-04-06 Andrey <dev_null@ukr.net>
614
615 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
616 gcc warning.
617
618 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
621 useful grub_dprintf's.
622
623 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
626
627 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
630
631 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Output errors if theme loading failed.
634
635 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
636 grub_gfxterm_fullscreen on error paths to ...
637 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
638 theme loading error.
639
640 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
643 space for older compilers.
644 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
645
646 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
649 and report them as not RAID members since they are useless for GRUB.
650 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
651
652 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
653
654 Increase LVM implementation robustness in order not to crash on
655 configurations like pvmove. Previously code assumed that in some places
656 only lvs or only pvs are used whereas it seems that they are used
657 interchangeably.
658
659 * grub-core/disk/lvm.c (read_node): New function.
660 (read_lv): Use read_node.
661 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
662 Match volumes only at the end when all lvs are found. Take both
663 pvs (first) and lvs (second) into account.
664 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
665 mirror_* into node_*. All users updated.
666 (grub_lvm_stripe): Merge this ...
667 (grub_lvm_mirror): ... and this ...
668 (grub_lvm_node): ... into this. All users updated.
669
670 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
673 of function to allow further scanning for LVMs.
674
675 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
678 on failed seek as it breaks open fd reusage.
679
680 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * util/grub-install.in: Add a recommendation to use --recheck before
683 reporting bugs.
684
685 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
688 are obtained.
689
690 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
691
692 GRUB developper manual based on existing Internals section and
693 contributions by the various authors with active copyright assignment.
694
695 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
696 * docs/font_char_metrics.png: New file.
697 * docs/font_char_metrics.txt: Likewise.
698 * docs/grub-dev.texi: Likewise.
699 * docs/grub.texi (Internals): Move from here ...
700 * docs/grub-dev.texi: ... here.
701
702 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
703
704 Store the loopback device as data on loopback grub_disk structures,
705 rather than the file it points to. This fixes use of freed memory
706 if an existing loopback device is replaced.
707
708 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
709 disk->data, not dev->file.
710 (grub_loopback_read): Adjust file assignment to match.
711 Fixes Ubuntu bug #742967.
712
713 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
714
715 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
716 when replacing an existing device.
717
718 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
719
720 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
721 memory corruptions.
722
723 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
724 unsigned.
725 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
726 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
727 (grub_jfs_read_inode): Likewise.
728 (grub_jfs_opendir): Likewise. Remove now useless casts.
729 (grub_jfs_getent): Likewise.
730 Make ino a grub_uint32_t rather than int.
731 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
732 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
733 division and module with bit operations.
734 (grub_jfs_find_file): Make ino a grub_uint32_t.
735 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
736
737 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
738
739 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
740 warning. (This was in fact always initialised before use, but GCC
741 wasn't smart enough to prove that.)
742 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
743
744 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
747 stack alignment.
748 (efi_wrap_1): Likewise.
749 (efi_wrap_2): Likewise.
750 (efi_wrap_3): Likewise.
751 (efi_wrap_4): Likewise.
752 (efi_wrap_5): Likewise.
753 (efi_wrap_6): Likewise.
754 (efi_wrap_10): Likewise.
755 Based on information by: Red Hat/Peter Jones.
756
757 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
758
759 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
760 set-but-not-used variable.
761
762 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
763
764 * docs/grub.texi (Simple configuration): Be more explicit about
765 GRUB_DEFAULT, and add an example.
766 Reported by: Leslie Rhorer.
767
768 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
769
770 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
771 shell".
772
773 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
774
775 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
776 * util/grub.d/20_linux_xen.in: Likewise.
777
778 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * util/grub.d/10_linux.in: Try alternative config filenames where
781 we parse config file.
782 * util/grub.d/20_linux_xen.in: Likewise.
783
784 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
785
786 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
787 * util/grub.d/20_linux_xen.in: Likewise.
788
789 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/disk/raid.c (insert_array): Add few potentially
792 useful grub_util_info.
793 (grub_raid_register): Likewise.
794
795 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
798 Preserve partition number in mdadm code path.
799
800 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
803 few potentially useful grub_util_info.
804
805 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
808
809 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
810
811 * docs/grub.texi (default): Use @example rather than nested
812 itemized lists to avoid breaking gendocs.
813
814 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
815
816 * docs/grub.texi (Future): Update.
817
818 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
819
820 * docs/grub.texi (Environment): New chapter.
821 (Changes from GRUB Legacy): Link to "Environment block" section for
822 details of limitations.
823 (Simple configuration): Likewise. Link to documentation of gfxmode
824 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
825 respectively.
826 (Shell-like scripting): Note that normal variables are stored in the
827 environment.
828 (gettext): Link to documentation of lang and locale_dir.
829 (list_env): New section.
830 (load_env): New section.
831 (save_env): New section.
832
833 (Reporting bugs): Fix typo.
834
835 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
838 the example.
839
840 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/term/at_keyboard.c (set_scancodes)
843 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
844
845 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
846
847 * docs/grub.texi (Menu-specific commands): Remove some semantics
848 that were true in GRUB Legacy but not in GRUB 2.
849 (submenu): New section.
850 (false): New section.
851 (read): New section.
852 (true): New section.
853
854 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
855
856 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
857
858 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
859
860 * docs/grub.texi (Simple configuration): Explain some of the
861 current limitations of grub-mkconfig.
862 Reported by: Leslie Rhorer.
863
864 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Old macs search for boot.efi rather than for bootia32.efi.
867
868 * util/grub-install.in: Copy bootia32.efi to boot.efi.
869 * util/grub-mkrescue.in: Likewise.
870 Suggested by: Peter Jones.
871
872 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
875
876 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
879 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
880 (grub_lvm_mirror): New struct.
881 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
882 (grub_lvm_iterate): Iterate only visible volumes.
883 (grub_lvm_read): Factor out to ..
884 (read_lv): ... this. Support mirrors.
885 (grub_lvm_read): New wrapper function.
886 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
887 stripped or mirrored.
888
889 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
892
893 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
894
895 * docs/grub.texi (loopback): New section.
896
897 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
898
899 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
900 removed -p option.
901
902 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
903
904 * docs/grub.texi (BIOS installation): New section, partly based on
905 previous text in other sections.
906 (Installing GRUB using grub-install): Replace BIOS discussion with a
907 cross-reference.
908 (Images): Likewise.
909
910 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/kern/emu/hostdisk.c (find_partition_start)
913 [HAVE_DIOCGDINFO]: Add safety checks.
914
915 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
918 per default compiled in kernel and prior to 8.0 isn't shipped at all.
919
920 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
921
922 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
923 real_sb->size is zero (e.g. RAID-0), get the disk size from
924 real_sb->data_size instead.
925 Fixes Ubuntu bug #743136.
926
927 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
930 printf clauses for printing size and start.
931
932 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
935 Reported and tested by: Timothy Nikkel.
936
937 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
940 (dirty_region_add_real): ... this.
941 (dirty_region_add): Don't discard margin refresh when performing
942 scheduled repaint.
943
944 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/lib/relocator.c (allocate_regstart)
947 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
948 terminals are capabple of malloc-free operation.
949 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
950 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
951
952 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
953
954 * util/grub-setup.c: Copy the partition table zone if floppy support
955 is disabled, even if no partition table is found.
956
957 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
958 during POST if an invalid partition table is contained in the PBR
959 of the active partition when GRUB is installed to a partition.
960
961 2011-03-28 Colin Watson <cjwatson@debian.org>
962
963 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
964 comment.
965
966 2011-03-28 Colin Watson <cjwatson@debian.org>
967
968 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
969 to be specific about what kind of RAID device we're scanning for.
970
971 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
972
973 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
974 return freed string.
975
976 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
979
980 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Use libgeom on FreeBSD to detect partitions.
983
984 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
985 (grub-mkrelpath): Likewise.
986 (grub-script-check): Likewise.
987 (grub-editenv): Likewise.
988 (grub-mkpasswd-pbkdf2): Likewise.
989 (grub-fstest): Likewise.
990 (grub-mkfont): Likewise.
991 (grub-mkdevicemap): Likewise.
992 (grub-probe): Likewise.
993 (grub-setup): Likewise.
994 (grub-ofpathname): Likewise.
995 (grub-mklayout): Likewise.
996 (example_unit_test): Likewise.
997 (grub-menulst2cfg): Likewise.
998 * grub-core/Makefile.core.def (grub-emu): Likewise.
999 (grub-emu-lite): Likewise.
1000 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
1001 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
1002 define HAVE_DIOCGDINFO.
1003 (follow_geom_up) [FreeBSD]: New function.
1004 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
1005 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
1006 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
1007 unconditionally of HAVE_DIOCGDINFO.
1008
1009 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 Fix FreeBSD compilation problem.
1012
1013 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
1014 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
1015
1016 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
1017
1018 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
1019 Switch back to page zero before loading a kernel, since some kernel
1020 drivers expect that.
1021 Thanks to: Felix Kuehling.
1022
1023 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
1026 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
1027 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
1028
1029 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
1032 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
1033
1034 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
1037 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
1038 malloc is disabled.
1039
1040 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
1043 for modules headers when counting the needed allocation size.
1044
1045 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
1048 if no ASCII character is found to prevent crash.
1049
1050 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
1051
1052 * grub-core/video/bitmap.c (match_extension): Ignore case.
1053
1054 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
1057
1058 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/script/parser.y: Declare "time" as valid argument.
1061
1062 2011-03-23 Peter Jones <pjones@redhat.com>
1063
1064 Fix incorrect assert failure reporting.
1065
1066 * grub-core/tests/example_functional_test.c (example_test): Add
1067 a failure comment.
1068 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
1069 (failure_start): ...this. Check that malloc succeeded.
1070 Don't call xvasprintf. Return failure struct.
1071 (failure_append_vtext): New function.
1072 (failure_append_text): Likewise.
1073 (add_failure): Likewise.
1074 (grub_test_assert_helper): Likewise.
1075 * include/grub/test.h (grub_test_assert_helper): New declaration.
1076 (grub_test_assert): Macro rewritten.
1077
1078 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
1081
1082 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
1085
1086 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
1089 into GRUB-style one.
1090
1091 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
1094 error and not grub_errno.
1095 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1096
1097 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1100 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1101
1102 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/efiemu/i386/pc/cfgtables.c
1105 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1106 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1107 (grub_xnu_unlock): Likewise.
1108 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1109
1110 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1113 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1114 * grub-core/commands/hashsum.c (aliases): Likewise.
1115 * grub-core/commands/setpci.c (pci_registers): Likewise.
1116 * grub-core/disk/usbms.c (attach_hook): Likewise.
1117 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1118 (zio_checksum_table): Likewise.
1119 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1120 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1121 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1122 * grub-core/lib/relocator.c (leftovers): Likewise.
1123 (extra_blocks): Likewise.
1124 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1125 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1126 (modules_last): Likewise.
1127 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1128 (devices): Likewise.
1129 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1130 (modules_last): Likewise.
1131 * grub-core/normal/auth.c (users): Likewise.
1132 * grub-core/normal/context.c (initial_menu): Likewise.
1133 (current_menu): Likewise.
1134 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1135 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1136 (grub_serial_terminfo_input_template): Likewise.
1137 (grub_serial_terminfo_output_template): Likewise.
1138 (grub_serial_terminfo_input): Likewise.
1139 (grub_serial_terminfo_output): Likewise.
1140 (registered): Likewise.
1141 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1142
1143 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1146 grub_video_mode_type_t.
1147 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1148 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1149 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1150
1151 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * util/grub-install.in: Correct the x86-64 name as x86_64.
1154
1155 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
1156
1157 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1158 initial chunk read from the kernel always includes GRUB's multiboot
1159 header, which is now outside the first sector.
1160
1161 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1162
1163 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1164 cached mmap_size, so that this works correctly when called multiple
1165 times.
1166 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1167
1168 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
1169
1170 * docs/grub.texi (Simple configuration): Tidy up formatting.
1171
1172 2011-03-07 Szymon Janc <szymon@janc.net.pl>
1173
1174 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1175 Set-but-not-used variable removed.
1176
1177 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Workaround yet another IEEE1275 bug.
1180
1181 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1182 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1183 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1184 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1185 is set.
1186 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1187 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1188
1189 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1192 error.
1193
1194 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
1195
1196 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1197 empty, since in that case we can only generate either nothing or a
1198 syntactically invalid configuration file.
1199 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1200
1201 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1202
1203 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1204 (Making a GRUB bootable CD-ROM): Likewise.
1205 (Invoking grub-mkrescue): New section.
1206 Reported by: Yann Dirson. Fixes Debian bug #612585.
1207
1208 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * util/grub-install.in: Remove unnecessary brackets from tr
1211 arguments.
1212 * util/grub.d/10_hurd.in: Likewise.
1213 * util/grub.d/10_kfreebsd.in: Likewise.
1214 * util/grub.d/10_linux.in: Likewise.
1215 * util/grub.d/20_linux_xen.in: Likewise.
1216 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1217
1218 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
1219
1220 * include/grub/file.h (not_easly_seekable): Rename to ...
1221 (not_easily_seekable): ... this. Update all users.
1222
1223 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
1224
1225 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1226 grub-mkrescue.
1227
1228 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * util/grub-mkimage.c (generate_image): Refuse to create the images
1231 bigger than the actual flash (512K) in Loongson machines. 512K is also
1232 the biggest chip supported by them.
1233
1234 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1237
1238 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
1239
1240 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1241 super_offset field.
1242
1243 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * util/grub-install.in: Ignore install device on platforms
1246 where it doesn't make sense. Always use UUIDs except on pc, efi and
1247 sparc64.
1248 Reported by: Daniel Kahn Gillmor.
1249
1250 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1253
1254 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1257 (iterate_real): Don't rely on partition being non-NULL.
1258
1259 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1262 supported platforms. Put a compile time assert for this rather than
1263 generate a warning with 32-bit shift.
1264
1265 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1268 logical expression more readable.
1269
1270 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1273 even if some elements have a name.
1274 Reported by: Alexander GQ Gerasiov.
1275
1276 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1277
1278 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1279 path unreadable if `grub-probe -t abstraction' fails, for example if
1280 memberlist fails on an LVM volume group.
1281 Reported by: Darius Jahandarie.
1282
1283 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1284
1285 * docs/grub.texi (Simple configuration): Document
1286 GRUB_PRELOAD_MODULES.
1287
1288 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1289
1290 * .bzrignore: Remove nonexistent grub-pbkdf2.
1291
1292 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * configure.ac: Bump version to 1.99~rc1.
1295
1296 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1299 for safety.
1300
1301 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1304 module.
1305
1306 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1309
1310 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1313 diskdevid.
1314
1315 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 Fix compilation on cygwin.
1318
1319 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1320 -R .drectve on cygwin.
1321 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1322 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1323 (COND_CYGWIN): New condition.
1324 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1325 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1326 not @TARGET_OBJ2ELF@.
1327 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1328 type to determine whether aux is to be used.
1329
1330 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1333 realpath'ed device string.
1334 Handle floppy (somewhat).
1335 Issue error in unknown case rather than garbage.
1336 Reported by: Axel Beckert.
1337
1338 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub.d/00_header.in (load_video): Handle the case when no video
1341 drivers available.
1342 Thanks to: Axel Beckert.
1343
1344 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1347 variable. Fixes problem on big endian platforms.
1348
1349 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1352 It doesn't work well there.
1353
1354 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1357 warning.
1358 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1359 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1360 counter.
1361
1362 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 Use alias->path rather than buggy "canon".
1365
1366 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1367 (ofdisk_hash_add): New argument curcan. All users updated.
1368
1369 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1370
1371 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1372
1373 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1376 loadmask before doing any calculations. Use correct type for offset.
1377 (grub_linux_load64): Likewise.
1378
1379 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1380
1381 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1382 with NULL.
1383 (console_grub_equivalences_unshift): Likewise.
1384 Reported by: Daniel Dehennin.
1385
1386 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1389 (set_env_limn_ro): Likewise.
1390 (GRUB_MOD_INIT): Likewise.
1391 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1392 ARRAY_SIZE while on it.
1393 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1394 * grub-core/normal/context.c (grub_env_export): Move from here ...
1395 * grub-core/kern/env.c (grub_env_export): ... here.
1396 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1397 prefix.
1398 * grub-core/kern/main.c (grub_main): Export root and prefix.
1399 * include/grub/env.h (grub_env_export): Export.
1400 Reported by: Seth Goldberg.
1401
1402 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1405 Take into account space used by ELF sections and multiboot palette.
1406 Reported by: Grégoire Sutre.
1407
1408 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * BUGS: New file.
1411
1412 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Pass more appropriate video id to Linux.
1415
1416 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1417 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1418 fill have_vga.
1419 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1420 shift params->lfb_size.
1421 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1422
1423 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1426
1427 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1430 separator and pass bootpath/devid even if only one of them is available.
1431 Reported by: Seth Goldberg.
1432
1433 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1436 implementations bug on them.
1437
1438 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1439 memory.
1440 (filter_memory_map): Likewise.
1441
1442 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1445 Reported by: nebuchadnezzar.
1446
1447 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1450 Reported by: nebuchadnezzar.
1451
1452 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 Submenu default support.
1455
1456 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1457 auto_boot. All users updated.
1458 Declared static.
1459 Handle chosen and default with submenus.
1460 (grub_menu_execute_with_fallback): Declared static.
1461 Don't notify failure if autobooted. Upper level does it.
1462 (menuentry_eq): New function.
1463 (get_entry_number): Use menuentry_eq.
1464 (show_menu): New parameter "autobooted". All users updated.
1465 (grub_show_menu): Likewise.
1466 * include/grub/normal.h (grub_show_menu): Likewise.
1467 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1468 (grub_menu_execute_with_fallback): Likewise.
1469
1470 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * util/grub-mklayout.c (usage): Update help text.
1473
1474 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1477
1478 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * util/grub-menulst2cfg.c (main): Trim the line.
1481
1482 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1485 (grub_machine_init): Don't check amount of low memory as reportedly
1486 INT 12h can be broken and if low memory is too low we wouldn't have
1487 gotten into grub_machine_init anyway.
1488
1489 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1492 (grub_machine_mmap_iterate): Take low memory into account
1493
1494 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1497 badfs.
1498 Reported by: TiCPU.
1499
1500 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1503 members errors.
1504
1505 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1506
1507 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1508 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1509
1510 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1511
1512 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1513 openbsd and netbsd types being in part_bsd module.
1514
1515 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1518 (_FILE_OFFSET_BITS): Likewise.
1519 Reported by: Seth Goldberg.
1520
1521 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1522
1523 * configure.ac: Check for libdevmapper header.
1524
1525 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1528 avoid aliasing.
1529 (fzap_lookup): Likewise.
1530 (dnode_get): Likewise.
1531 (make_mdn): Likewise.
1532 (zfs_mount): Likewise.
1533 (fzap_iterate): Use temporary pointer to avoid aliasing.
1534 (grub_zfs_read): Likewise.
1535 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1536 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1537 pointers to avoid aliasing.
1538 (grub_cmd_xnu_kernel64): Likewise.
1539 (grub_xnu_load_driver): Likewise.
1540
1541 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1544 aliasing warning.
1545 (grub_cmd_terminal_output): Likewise.
1546 Reported and tested by: Grégoire Sutre.
1547
1548 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1551 warning.
1552 Reported and tested by: Grégoire Sutre.
1553
1554 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * configure.ac: Do CPU substitution even if it's specified explicitly.
1557 Reported and tested by: Alain Greppin.
1558
1559 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1562 Reported and tested by: Alain Greppin.
1563
1564 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 Satisfy some bison versions need for inttypes.h.
1567
1568 * grub-core/lib/posix_wrap/inttypes.h: New file.
1569 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1570 (int16_t): Likewise.
1571 (int32_t): Likewise.
1572 (int64_t): Likewise.
1573 Reported and tested by: Alain Greppin.
1574
1575 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1578 Silence spurious warning.
1579 Reported and tested by: Alain Greppin.
1580
1581 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1582
1583 * docs/grub.texi (Support automatic decompression): Update with xz
1584 decompression support.
1585
1586 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1587
1588 Improve loaders' kernel command line handling.
1589
1590 * grub-core/lib/cmdline.c: New file.
1591 * include/grub/lib/cmdline.h: Likewise.
1592 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1593 grub_create_loader_cmdline to create kernel command line.
1594 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1595 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1596 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1597 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1598 (linux): Add lib/cmdline.c on common.
1599
1600 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1603 inopos might be unaligned.
1604
1605 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1608 endian transformations.
1609 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1610 Based on report by: Doug Nazar.
1611
1612 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1613
1614 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1615 array->members[i].start_sector.
1616 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1617
1618 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1621 Reported and tested by: Grégoire Sutre.
1622
1623 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1624
1625 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1626 avoid causing test failures by clearing the screen.
1627
1628 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1629
1630 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1631 Fix prefix check to handle the case where dir ends with a slash
1632 (most significantly, "/" itself).
1633 Reported by: Michael Vogt.
1634
1635 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Run terminfo_cls on initing terminfo output to clear the screen and
1638 move the cursor to (0,0).
1639
1640 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1641 Call grub_terminfo_output_init.
1642 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1643 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1644 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1645
1646 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1649 only when needed.
1650
1651 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1654 CTRL.
1655
1656 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 The E820 type 5 is BADRAM, not EXEC_CODE.
1659
1660 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1661 (GRUB_E820_BADRAM): New define.
1662 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1663 into reserved. Propagate BADRAM.
1664 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1665 (GRUB_E820_BADRAM): New define.
1666
1667 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1670 Ignore the memory post-4G.
1671 (grub_relocator_firmware_alloc_region): Additional debug statement.
1672
1673 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1676 names.
1677 Reported by: David Pravec.
1678
1679 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1682 BIOSes.
1683
1684 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1687 Prevent overflow.
1688 (grub_reed_solomon_recover): Likewise.
1689
1690 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1693
1694 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1697 variable.
1698
1699 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1700
1701 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1702 descriptions of extract_legacy_entries_source and
1703 extract_legacy_entries_configfile.
1704 Reported by: Seung Soo, Ha.
1705
1706 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1707
1708 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1709 on devices that do not implement function 0.
1710
1711 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1712
1713 * grub-core/fs/hfsplus.c: Make parent unsigned.
1714 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1715 overflows.
1716 (grub_hfsplus_cmp_extkey): Likewise
1717
1718 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * util/grub-install.in: Correctly use bootloader_id and not
1721 GRUB_DISTRIBUTOR on efibootmgr line.
1722
1723 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1726
1727 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1728
1729 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1730 Xen and reorder menu item wording to make it clearer that this entry
1731 will launch Xen. Print separate messages when loading Xen and
1732 Linux.
1733
1734 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1737 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1738 loop in case of incorrect amiga partmap.
1739
1740 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1743 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1744 Reported by:EHeM.
1745
1746 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1749 spurious warning.
1750 Reported by: crocket
1751
1752 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1755 Preload EFIemu.
1756 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1757
1758 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1761 is loaded
1762 (grub_cmd_xnu_kextdir): Likewise.
1763 (grub_cmd_xnu_splash): Likewise.
1764
1765 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Avoid using Reed-Solomon with 0 redundancy.
1768
1769 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1770 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1771 or 0 redundancy.
1772 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1773 (grub_reed_solomon_recover): Likewise.
1774
1775 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 Don't use disk subsystem in freebsd_boot.
1778
1779 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1780 (freebsd_biosdev): Likewise.
1781 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1782 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1783
1784 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Handling of files of unknown size is currently limited. They can't be
1787 used e.g. for initrd or modules. Moreover gzip handling of not
1788 easily seekable files is buggy. Disable unknown file size for now. May
1789 be inefficient but works.
1790
1791 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1792 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1793
1794 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1795
1796 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1797 floppy probe.
1798
1799 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1800
1801 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1802
1803 2010-12-25 Shea Levy <shlevy>
1804
1805 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1806
1807 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1810 Windows Server 2008.
1811 Reported by: Devin Giddings.
1812
1813 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1816 writing an error message because of async power management.
1817 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1818 (grub_reboot): Likewise.
1819
1820 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1821
1822 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1823 keep unit tests from failing when they shouldn't.
1824
1825 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1826
1827 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1828 previous patch increased the size of the RS code by 20 bytes (at
1829 least with gcc-4.4), so increase this by 20 bytes to match.
1830 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1831
1832 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1833
1834 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1835 scratch area. Make sure to initialise chosen in standalone mode as
1836 well as non-standalone.
1837 Reported by: Robert Hooker and Andy Whitcroft.
1838 Tested by: Andy Whitcroft.
1839
1840 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1841
1842 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1843 constructing a new unescaped string and passing it to grub_xputs in
1844 one go, rather than passing characters to grub_printf one at a time.
1845
1846 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1847
1848 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1849 initialising utf16.
1850
1851 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1852
1853 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1854 comment. Add an extra layer of quotation, requiring the output of
1855 this function to be used in a printf format string.
1856 (gettext_printf): New function.
1857 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1858 Extract translatable strings from here-documents and use a temporary
1859 variable instead, so that xgettext can find them.
1860 * util/grub.d/10_kfreebsd.in: Likewise.
1861 * util/grub.d/10_linux.in: Likewise.
1862 * util/grub.d/20_linux_xen.in: Likewise.
1863
1864 * po/grub.d.sed: New file.
1865 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1866 arguments. Set c-format flags on all strings extracted from
1867 util/grub.d/ (xgettext refuses to include these itself for strings
1868 it extracted from a shell file, but these really are c-format).
1869
1870 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1873 Avoid next pointing to nowhere.
1874
1875 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1878 rather than assuming than rootblock is exactly in the middle.
1879 (grub_affs_label): Likewise.
1880
1881 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1884 reserved_first_sector to 0.
1885 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1886 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1887 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1888
1889 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 Fix handling of UTF-16 UDF labels.
1892
1893 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1894 (read_string): .. here.
1895 (grub_udf_label): Use read_string.
1896
1897 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1898
1899 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1900 editor under argument scope.
1901 Reported by: Jordan Uggla
1902
1903 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1906
1907 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1910 line, and other keys scroll an entire page (previous handling was
1911 for \r and \n to scroll a page and other keys to scroll two lines).
1912
1913 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1916 Set ptrdest to correct get_physical_target_address rather than
1917 incorrect get_virtual_current_address.
1918
1919 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1920
1921 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1922 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1923
1924 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1925
1926 * .bzrignore: Ignore grub-core/rs_decoder.S.
1927
1928 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1929
1930 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1931 .mo/.mo.gz opening sequence to ...
1932 (grub_mofile_open_lang): ... here.
1933 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1934 * util/grub.d/00_header.in (grub_lang): Include country part of
1935 locale.
1936 Reported by: Mario Limonciello.
1937
1938 2010-12-09 Robert Millan <rmh@gnu.org>
1939
1940 * NEWS: Document addition of ZFS support.
1941
1942 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1943
1944 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1945 rather than `/ 2', as the latter requires -Wa,--divide which would
1946 require bumping our minimum binutils version.
1947
1948 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1949
1950 * util/grub-script-check.c (main): Print script line number on
1951 error.
1952
1953 2010-12-01 Robert Millan <rmh@gnu.org>
1954
1955 * grub-core/fs/zfs/zfs.c: New file.
1956 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1957 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1958 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1959 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1960
1961 * include/grub/zfs/dmu.h: Likewise.
1962 * include/grub/zfs/dmu_objset.h: Likewise.
1963 * include/grub/zfs/dnode.h: Likewise.
1964 * include/grub/zfs/dsl_dataset.h: Likewise.
1965 * include/grub/zfs/dsl_dir.h: Likewise.
1966 * include/grub/zfs/sa_impl.h: Likewise.
1967 * include/grub/zfs/spa.h: Likewise.
1968 * include/grub/zfs/uberblock_impl.h: Likewise.
1969 * include/grub/zfs/vdev_impl.h: Likewise.
1970 * include/grub/zfs/zap_impl.h: Likewise.
1971 * include/grub/zfs/zap_leaf.h: Likewise.
1972 * include/grub/zfs/zfs.h: Likewise.
1973 * include/grub/zfs/zfs_acl.h: Likewise.
1974 * include/grub/zfs/zfs_znode.h: Likewise.
1975 * include/grub/zfs/zil.h: Likewise.
1976 * include/grub/zfs/zio.h: Likewise.
1977 * include/grub/zfs/zio_checksum.h: Likewise.
1978
1979 * Makefile.util.def: Build ZFS into libgrubmods.
1980 * grub-core/Makefile.core.def: Build zfs.mod.
1981
1982 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1983
1984 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1985 variable.
1986 * grub-core/commands/wildcard.c (match_files): Likewise.
1987
1988 2010-11-30 Robert Millan <rmh@gnu.org>
1989
1990 * grub-core/loader/i386/bsd.c
1991 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1992 whether kernel is loaded using grub_loader_is_loaded(), rather
1993 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1994 certain error conditions.
1995
1996 2010-11-30 Robert Millan <rmh@gnu.org>
1997
1998 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1999 (grub_cmd_echo): Call grub_refresh() after printing a message.
2000
2001 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 Avoid using tricks for initialising endian variables.
2004
2005 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
2006 Make const.
2007 (GRUB_MOD_INIT): Don't byte-swap.
2008 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2009 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
2010 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
2011 (grub_swap_bytes32_compile_time): Likewise.
2012 (grub_cpu_to_le32_compile_time): Likewise.
2013 (grub_cpu_to_le16_compile_time): Likewise.
2014
2015 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * util/grub-setup.c (setup): Stop recommending --force. People who
2018 understand the dangers of blocklists are able to find this option
2019 anyway and the ones who don't shouldn't use it anyway.
2020
2021 2010-11-26 Robert Millan <rmh@gnu.org>
2022
2023 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
2024 Update all users.
2025
2026 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
2027
2028 Fix LVM-on-RAID probing.
2029
2030 * util/grub-probe.c (probe): Remember which disk was detected as
2031 RAID (perhaps an LVM physical volume). Use that disk's raidname
2032 rather than that of the top-level disk.
2033
2034 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
2035
2036 Fix cmdline argument quotes for setparams command of menuentry
2037 definitions.
2038
2039 * grub-core/commands/menuentry.c (setparams_prefix): Use single
2040 quotes for arguments.
2041 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
2042 grub_strchrsub function instead.
2043
2044 * include/grub/misc.h (grub_strchrsub): New function.
2045
2046 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
2047
2048 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
2049 effort by skipping "." and ".." entries up-front.
2050 Suggested by: Michael Lazarev.
2051
2052 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
2053
2054 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
2055 ldflags to ldadd, to fix link line ordering.
2056 (none_decompress): Likewise.
2057
2058 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
2059
2060 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
2061 platforms.
2062 (grub-emu-lite): Remove kern/emu/cache.S.
2063
2064 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2065
2066 * util/deviceiter.c (compare_devices): If the by-id link for a
2067 device couldn't be resolved, fall back to sorting by the by-id link
2068 rather than segfaulting.
2069 Reported and tested by: Daniel Mierswa.
2070
2071 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2072
2073 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
2074 ldflags, to fix link line ordering.
2075
2076 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2077
2078 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
2079 linkers are picky about this.
2080
2081 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2082
2083 * grub-core/Makefile.am (command.lst): Adjust sed expression
2084 ordering so that extended and priority commands aren't treated as
2085 ordinary commands.
2086
2087 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
2088
2089 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2090 Remove byte-swapping function calls, which are not valid in
2091 structure initialisers.
2092 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
2093 non-const.
2094 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
2095 grub_gpt_partition_type_bios_boot.
2096
2097 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2098
2099 Fix test program build on GNU/kFreeBSD.
2100
2101 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2102 $(LIBNVPAIR)' library dependencies.
2103
2104 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2105
2106 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2107
2108 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
2109
2110 * util/grub-install.in: Remove excessive quoting that broke
2111 installations to RAID devices.
2112
2113 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2116 bootloader version instead of 0.
2117
2118 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2121 warning.
2122
2123 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2126 retrieve the metadat sector if size isn't known.
2127 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2128
2129 2010-11-18 Robert Millan <rmh@gnu.org>
2130
2131 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2132 with grub_memcmp().
2133
2134 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2137 arrow.
2138 Reported by: Jordan Uggla.
2139
2140 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Make better UTF compliant.
2143
2144 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2145 sequences as incorrect.
2146 (grub_is_valid_utf8): Likewise.
2147 (grub_utf8_to_ucs4): Likewise.
2148 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2149 (grub_ucs4_to_utf8_alloc): Likewise.
2150 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2151
2152 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Make legacy_source behave like source.
2155
2156 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2157 grub_show_menu.
2158 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2159
2160 2010-11-16 Colin Watson <cjwatson@debian.org>
2161
2162 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2163 (-Wunused implies -Wunused-parameter, but not vice versa).
2164
2165 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
2166
2167 * configure.ac: Make error messages less confusing by testing for
2168 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2169 accepted, but produces a diagnostic if something else is wrong).
2170
2171 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2174 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2175 (now unused).
2176 (grub_keyboard_controller_init)
2177 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2178 read the initial state since controller isn't inited yet.
2179
2180 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2183 allocate_regbeg may need to create new chunk header.
2184
2185 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Fix quoting in legacy parser.
2188
2189 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2190 single quotes.
2191 (grub_legacy_parse): Likewise.
2192 Reported by: Jordan Uggla.
2193 Tested by: Jordan Uggla.
2194
2195 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 Don't add -lgcc on i386 and x86_64.
2198
2199 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2200 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2201 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2202
2203 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * configure.ac: Add -Wno-trampolines when supported.
2206
2207 2010-11-14 Modestas Vainius <modax@debian.org>
2208
2209 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2210 fakeraid.
2211
2212 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2213
2214 Add generic logical block size support for UDF.
2215
2216 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2217 (GRUB_UDF_BLKSZ): Removed.
2218 (struct grub_udf_data): New field "lbshift" to hold the logical block
2219 size of the file system in log2 format. All users updated.
2220 (sblocklist): Change type to unsigned.
2221 (grub_udf_mount): Change type of "sblklist" to unsigned.
2222 Move AVDP search before VRS recognition, because the latter requires
2223 knowledge of the logical block size, which is detected during the
2224 former.
2225 Detect and validate logical block size during AVDP search, adding
2226 support for block sizes 512, 1024 and 4096.
2227 Make VRS recognition independent of block size.
2228
2229 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2230
2231 Properly handle deleted files on UDF.
2232
2233 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2234 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2235 set.
2236
2237 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2238
2239 Support reading files larger than 2 GiB.
2240
2241 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2242 "offset" to grub_off_t.
2243 (grub_udf_read_file): Likewise for parameter "pos".
2244
2245 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2248 unavailable.
2249 (Simple configuration): Refer to Changes from GRUB Legacy about
2250 save_env availability.
2251
2252 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * util/grub-install.in: Ignore empty partition table detection
2255 instead of trying to include part_ module.
2256
2257 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2260 LVM on RAID support.
2261
2262 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Properly define WORDS_BIGENDIAN in wrapped environments.
2265
2266 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2267 definition.
2268 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2269
2270 Reported by: Manoel Rebelo Abranches.
2271 Tested by: Manoel Rebelo Abranches.
2272
2273 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/grub-mkconfig.in: Fix quoting.
2276
2277 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 Support big ext2 files.
2280
2281 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2282 (grub_ext2_read_block): Support triple indirect blocks.
2283 (grub_ext2_read_file): Use 64-bit types and read size_high.
2284 (grub_ext2_open): Read size_high.
2285 Reported by: Ximin Luo.
2286 Tested by: Manoel Rebelo Abranches.
2287
2288 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * util/grub-install.in: Handle filenames containing spaces.
2291 Reported by: Jordan Uggla.
2292 Tested by: Jordan Uggla.
2293
2294 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * util/grub-mkconfig.in (grub_script_check): New variable.
2297 Use grub_script_check instead of grub-script-check.
2298 Reported by: Barry Jackson.
2299
2300 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * docs/grub.texi (menu): Correct the order.
2303 Reported by: D. Hugh Redelmeier.
2304
2305 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2308 jump.
2309
2310 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2311
2312 * include/grub/elfload.h (grub_elf32_size): New parameter.
2313 All users updated.
2314 Return maximum segments alignment.
2315 (grub_elf64_size): Likewise.
2316 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2317 Return maximum segments alignment.
2318 (grub_elf64_size): Likewise.
2319 * grub-core/loader/powerpc/ieee1275/linux.c:
2320 (grub_linux_claimmap_iterate): New function. Uses the
2321 "available" property in the "memory" node for memory allocation
2322 for kernel in the PowerPC loader.
2323 (grub_linux_load32): Correctly find linux entry point offset.
2324 (grub_linux_load64): Likewise.
2325
2326 2010-11-07 Robert Millan <rmh@gnu.org>
2327
2328 On mips-yeeloong, build with -march=loongson2f when this flag is
2329 available (GCC >= 4.4).
2330 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2331 `-march=mips3'.
2332 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2333 or otherwise add -march=mips3.
2334
2335 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2336
2337 Suppress shell expansion on echo '*' and echo "*" like cases.
2338 Reported by: Jordan Uggla.
2339
2340 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2341 string arguments before shell expansion.
2342 * tests/grub_cmd_echo.in: New testcases.
2343
2344 2010-11-07 Robert Millan <rmh@gnu.org>
2345
2346 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2347 transition.
2348
2349 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/kern/emu/hostdisk.c
2352 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2353
2354 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2357 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2358 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2359
2360 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2363
2364 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * util/grub-install.in: Replace useless recomendation to pass
2367 --modules with a recomendation to report a bug.
2368
2369 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 Properly register serial terminfo.
2372 Reported by: Jordan Uggla
2373
2374 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2375 const.
2376 (grub_serial_terminfo_output_template): Likewise.
2377 (grub_cmd_serial): Register "serial" with terminfo.
2378 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2379 grub_serial_terminfo_output.
2380
2381 2010-11-05 Robert Millan <rmh@gnu.org>
2382
2383 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2384 needed).
2385
2386 2010-11-05 Robert Millan <rmh@gnu.org>
2387
2388 On Yeeloong, pass machine type information to Linux.
2389
2390 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2391 (LOONGSON_MACHTYPE): New macro, set to
2392 "machtype=lemote-yeeloong-2f-8.9inches".
2393 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2394 additional argument to Linux.
2395
2396 2010-11-04 Robert Millan <rmh@gnu.org>
2397
2398 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2399 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2400 (its SATA disks are detected as slaveless IDE master drives on
2401 kFreeBSD).
2402 Reported by Carsten Aulbert.
2403
2404 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2405
2406 * util/bin2h.c (main): Fix spelling error in generated output.
2407
2408 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2409
2410 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2411
2412 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2415 vga= option is supplied.
2416
2417 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2420 * util/grub.d/10_kfreebsd.in: Likewise.
2421 * util/grub.d/10_linux.in: Likewise.
2422 * util/grub.d/20_linux_xen.in: Likewise.
2423
2424 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2427 argument as an argument to no-argument option.
2428
2429 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * util/grub.d/10_linux.in: Add missing load_video with explicit
2432 GRUB_GFXPAYLOAD_LINUX.
2433
2434 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2437
2438 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2441 elements with invlid index.
2442 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2443 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2444 members.
2445 * include/grub/raid.h (grub_raid_member): New struct.
2446 (grub_raid_array): Transform devices and start_sector into usage of
2447 grub_raid_member. All users updated
2448 (allocated_devs): New member.
2449
2450 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2453 is modified
2454
2455 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2456
2457 NetBSD build fix for getline function conflict from gnulib.
2458
2459 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2460 components that depend on gnulib headers.
2461 (libgrubmods.a): Renamed from earlier libgrub.a.
2462 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2463
2464 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2467 install rather than creating a broken install.
2468
2469 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * util/grub-setup.c (argp): Remove misleading example of installing to
2472 a partition.
2473
2474 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * util/grub-setup.c (setup): Clarify the error message.
2477
2478 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2481
2482 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/kern/emu/misc.c
2485 (grub_make_system_path_relative_to_its_root)
2486 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2487
2488 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/kern/emu/misc.c
2491 (grub_make_system_path_relative_to_its_root): Revert r2882.
2492
2493 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2496 useless field head. All users updated.
2497 (free_subchunk): Correct handling of IN_REGION subchunk.
2498
2499 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2500
2501 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2502 (Supported kernels): Likewise.
2503
2504 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2505
2506 Make mktemp invocations portable.
2507
2508 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2509 exit if mktemp fails.
2510 * tests/grub_script_blockarg.in: Likewise.
2511 * tests/partmap_test.in: Likewise.
2512 * tests/util/grub-shell-tester.in: Likewise.
2513 * tests/util/grub-shell.in: Likewise.
2514 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2515 * Makefile.am: Likewise, and chain shell commands with `&&'
2516 instead of ';'.
2517 * util/grub-mkrescue.in: Use the same explicit template as above, and
2518 exit if mktemp fails.
2519
2520 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2521
2522 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2523 Linux kernel, reported by Dennis Schridde.
2524
2525 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2526
2527 * grub-core/normal/auth.c (grub_auth_check_authentication):
2528 Set-but-not-used variable removed.
2529
2530 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2533 32-bit linux protocol.
2534
2535 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2538 cursor shape for sanity.
2539
2540 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * docs/grub.texi (Installation): Document buggy BIOS install.
2543
2544 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * docs/grub.texi (Installation): Indent.
2547
2548 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * util/grub-setup.c (setup): New parameter allow_floppy.
2551 (arguments): New member allow_floppy.
2552 (argp_parser): Handle --allow-floppy.
2553 (main): Pass allow_floppy.
2554 * util/grub-install.in: New option --allow-floppy passed though to
2555 grub-setup.
2556
2557 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/grub-install.in: Handle partitionless disks.
2560
2561 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * util/grub-setup.c (setup): Don't clean blocklists before readability
2564 verfification.
2565
2566 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * docs/grub.texi (Installation): Document embedding zone. Remove
2569 obsolete grub-install example.
2570
2571 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2572
2573 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2574 Set-but-not-used variable ifdef'ed.
2575 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2576 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2577 variable removed.
2578 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2579 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2580 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2581 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2582 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2583 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2584 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2585 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2586 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2587 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2588 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2589 Likewise.
2590
2591 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2594 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2595 enum value.
2596
2597 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2600 synonym to _S5_. Needed for some DSDTs.
2601
2602 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 Userspace ACPI parser debugging.
2605
2606 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2607 headers and add relevant defines. Don't include standard headers.
2608 (main) [GRUB_DSDT_TEST]: New function.
2609 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2610 Don't declare functions.
2611
2612 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Remove dead grub_efi_mm_fini.
2615
2616 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2617 (ALLOCATED_PAGES_SIZE): Likewise.
2618 (MAX_ALLOCATED_PAGES): Likewise.
2619 (allocated_pages): Likewise.
2620 (grub_efi_allocate_pages): Don't record allocated pages.
2621 (grub_efi_free_pages): Likewise.
2622 (grub_efi_mm_init): Likewise.
2623 (grub_efi_mm_fini): Removed.
2624
2625 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2628 (grub_efi_mm_init): Take into account the memory map size increase.
2629
2630 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2633 (serial_hw_put): Wait based on real time rather than port reads. Don't
2634 roken ports.
2635 * include/grub/serial.h (grub_serial_port): New field broken.
2636
2637 2010-10-16 Robert Millan <rmh@gnu.org>
2638
2639 * grub-core/kern/emu/misc.c
2640 (grub_make_system_path_relative_to_its_root): Fix premature return
2641 when processing non-root ZFS filesystems.
2642 Reported by Sergio Talens-Oliag.
2643
2644 2010-10-15 Robert Millan <rmh@gnu.org>
2645
2646 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2647 guarantee compressed ones are processed first.
2648
2649 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2652 grub_efiemu_autocore.
2653
2654 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2657 rather than 0x1b.
2658 (grub_console_getkey): Use correct jae opcode rather than ja.
2659
2660 2010-10-12 Robert Millan <rmh@gnu.org>
2661
2662 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2663 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2664 variable. All references updated.
2665
2666 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2667
2668 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Correctly distinguish mdraid flavours.
2671
2672 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2673 (insert_array): New argument raid.
2674 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2675 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2676 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2677
2678 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2681 handling of special keys.
2682
2683 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2684
2685 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2686 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2687
2688 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2689
2690 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2691 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2692 users updated.
2693 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2694 Use right endpoint when querying descriptor.
2695
2696 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 Clear out 0x80 color bit on EFI.
2699 Tested by: decoder
2700 Reported by: decoder and meta tech.
2701
2702 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2703 (grub_console_setcolorstate): Clear out 0x80 bit.
2704 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2705 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2706 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2707
2708 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2711 Set to "auto".
2712
2713 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2716 mo_file after freeing.
2717
2718 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2721
2722 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2725 flags.
2726
2727 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2730 usage.
2731
2732 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2735
2736 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2737 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2738 and terminfo.h when needed.
2739 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2740 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2741 (terminfo): Enable only on terminfokernel.
2742 (extcmd): Likewise.
2743 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2744 * include/grub/lib/arg.h: Likewise.
2745 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2746 incorrect usage of ->.
2747
2748 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2751 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2752
2753 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Fix coreboot compilation.
2756
2757 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2758 Take VBE info into account even if only text is supported.
2759 (fill_vbe_info): Take into account the case when only VGA text
2760 is supported.
2761 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2762 on coreboot, multiboot and qemu.
2763
2764 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2767 debug messages.
2768 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2769
2770 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2773 parameters.
2774
2775 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2778 if they were BSD-style.
2779
2780 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/boot/i386/pc/lnxboot.S: Replace
2783 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2784 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2785
2786 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 Write embedding zone using Reed-Solomon.
2789
2790 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2791 * grub-core/Makefile.am (rs_decoder.S): New target.
2792 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2793 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2794 (multiboot): Move to RS part.
2795 (post_reed_solomon): New label.
2796 (grub_boot_drive): Move to non-RS part since it's modified in memory
2797 on boot.
2798 Include rs_decoder.S.
2799 * grub-core/lib/reed_solomon.c: New file.
2800 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2801 New definition.
2802 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2803 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2804 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2805 * include/grub/partition.h (grub_partition_map): Change prototype of
2806 embed to allow returning additional sectors.
2807 * include/grub/reed_solomon.h: New file.
2808 * util/grub-setup.c (setup): Handle Reed-Solomon.
2809
2810 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2811
2812 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2813 i386 and x86-64 definedness tests.
2814
2815 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2816
2817 Fix generation of kernel_syms.lst
2818
2819 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2820 ASM_PREFIX
2821
2822 2010-09-26 Robert Millan <rmh@gnu.org>
2823
2824 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2825
2826 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2827 the pool is an array of devices, iterate through it and return the
2828 first device that passes a stat() test (instead of blindly returning
2829 the first one).
2830
2831 2010-09-26 Robert Millan <rmh@gnu.org>
2832
2833 Build fixes for GNU/kFreeBSD.
2834
2835 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2836 to programs that require ZFS conversion.
2837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2838 kernels that don't have FLOPPY_MAJOR.
2839
2840 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2841
2842 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2843
2844 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2845
2846 Fix grub-emu build.
2847
2848 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2849 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2850 mdraid09 and mdraid1x.
2851
2852 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2853
2854 Re-enable grub-extras.
2855
2856 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2857 avoid confusing Automake. Run autogen only twice, once for the top
2858 level and once for grub-core. Add Makefile.util.def and
2859 Makefile.core.def from extra modules to the appropriate autogen
2860 invocations. If Makefile.common exists in an extra module, include
2861 it in both Makefile.util.am and grub-core/Makefile.core.am;
2862 similarly, include any Makefile.util.common file in Makefile.util.am
2863 and any Makefile.core.common file in grub-core/Makefile.core.am.
2864 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2865 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2866 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2867 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2868
2869 * gentpl.py (gvar_add): Turn GVARS into a set.
2870 (global_variable_initializers): Sort global variables on output.
2871 (vars_init): New function.
2872 (first_time): Likewise.
2873 (library): Ensure that non-global variable initialisations are
2874 emitted before the first time we emit code for a library block.
2875 Append to variables rather than setting them. Only emit
2876 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2877 each conditional path.
2878 (program): installdir() emits an Autogen macro, so must be passed to
2879 var_add rather than gvar_add.
2880 (data): Likewise.
2881 (script): Likewise.
2882 (rules): New function, centralising handling for different target
2883 types. Set up Guile association lists for first_time and vars_init,
2884 and send most output to a diversion so that variable initialisations
2885 can be emitted first.
2886 (module_rules): Use new rules function.
2887 (kernel_rules): Likewise.
2888 (image_rules): Likewise.
2889 (library_rules): Likewise.
2890 (program_rules): Likewise.
2891 (script_rules): Likewise.
2892 (data_rules): Likewise.
2893
2894 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2895
2896 * .bzrignore: Add contrib and grub-core/contrib. Remove
2897 grub-core/Makefile.gcry.am.
2898
2899 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2900
2901 * grub-core/lib/LzFind.c: Add missing include.
2902 * grub-core/lib/LzmaEnc.c: Likewise.
2903 * grub-core/script/lexer.c: Likewise.
2904 * grub-core/script/yylex.l: Likewise.
2905 * util/grub-macho2img.c: Likewise.
2906 * util/grub-menulst2cfg.c: Likewise.
2907 * util/grub-mklayout.c: Likewise.
2908 * util/grub-mkpasswd-pbkdf2.c
2909 * util/grub-mkrelpath.c: Likewise.
2910 * util/resolve.c: Likewise.
2911
2912 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2913
2914 * Makefile.util.def (example_unit_test): Add
2915 grub-core/gnulib/libgnu.a.
2916
2917 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2918
2919 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2920
2921 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Support xz compression on yeeloong.
2924
2925 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2926 * configure.ac: Check for LZMA.
2927 * grub-core/Makefile.core.def (xz_decompress): New target.
2928 (none_decompress): Likewise.
2929 * grub-core/boot/decompressor/minilib.c: New file.
2930 * grub-core/boot/decompressor/none.c: Likewise.
2931 * grub-core/boot/decompressor/xz.c: Likewise.
2932 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2933 * grub-core/kern/mips/cache_flush.S: Likewise.
2934 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2935 * grub-core/kern/mips/startup.S: Move first stage to ...
2936 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2937 nomacro.
2938 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2939 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2940 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2941 Allocate statically.
2942 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2943 Allocate statically or use scratch. Don't check CRC32.
2944 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2945 Allocate statically. Don't check CRC32.
2946 * include/grub/decompressor.h: New file.
2947 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2948 Removed.
2949 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2950 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2951 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2952 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2953 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2954 * util/grub-mkimage.c (grub_compression_t): New type.
2955 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2956 (image_target_desc): New field default_compression.
2957 (image_targets): Adjust yeeloong targets.
2958 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2959 (compress_kernel): New parameter comp.
2960 (generate_image): Likewise. Handle new compression case.
2961 (options): New option --compression
2962 (help): Likewise.
2963 (main): Handle new option.
2964
2965 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2966
2967 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2968
2969 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2970
2971 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2972 typo in __i386__ conditional.
2973
2974 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2977 include.
2978
2979 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 Implement EFI and ACPI multiboot2 extensions.
2982
2983 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2984 new tags as supported.
2985 (acpiv2_size): New function.
2986 (grub_multiboot_get_mbi_size): Take new tags into account.
2987 (grub_multiboot_make_mbi): Add new tags.
2988 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2989
2990 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2991
2992 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2993 Added missing configuration of USB device.
2994
2995 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2996
2997 * grub-core/normal/menu_entry.c (run): Make sure we always return
2998 a value.
2999
3000 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3001
3002 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
3003 NumberOfPages is UINT64 according to the UEFI specification, not
3004 UINTN. Fix printf format.
3005
3006 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3007
3008 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
3009 `err' to grub_usb_err_t.
3010 Reported and tested by: KESHAV P.R.
3011
3012 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3013
3014 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
3015 tpart non-const, so that we can assign to it. (Since this is a
3016 typedef, the constness refers to the pointer rather than what it
3017 points to.)
3018
3019 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3020
3021 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
3022 $(top_srcdir)/grub-core/gnulib as well as
3023 $(top_builddir)/grub-core/gnulib.
3024 Reported by: KESHAV P.R.
3025
3026 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3027
3028 * util/grub-install.in: Fix the bootloader ID option to be
3029 consistently --bootloader-id, not --bootloader_id.
3030 Reported by: KESHAV P.R.
3031
3032 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3033
3034 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
3035 check hash checksum." consistently translatable.
3036
3037 2010-09-21 Yves Blusseau <blusseau@zetam.org>
3038
3039 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
3040 $(top_builddir).
3041
3042 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3043
3044 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
3045 (GRUB_MOD_INIT): Register sha1sum command.
3046 (GRUB_MOD_FINI): Unregister sha1sum command.
3047
3048 2010-09-21 Yves Blusseau <blusseau@zetam.org>
3049
3050 Keep boot and grub directory names in sync with utils scripts
3051
3052 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
3053 * config.h.in: Add previous macros.
3054 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
3055 * util/grub-install.in: Use $bootdir and $grubdir variables.
3056
3057 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3058
3059 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
3060 convert partition names to disk names if the new `convert' parameter
3061 is set.
3062 (grub_util_biosdisk_get_grub_dev): If opening the disk device
3063 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
3064 disk in its own right. This can happen with Xen disk images.
3065
3066 2010-09-21 Yves Blusseau <blusseau@zetam.org>
3067
3068 * util/grub-editenv.c: Update strings to avoid warnings when generating
3069 grub.pot file.
3070 * util/grub-setup.c: Likewise.
3071
3072 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * configure.ac: Change version to 1.99~beta0.
3075
3076 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3079 Add BADRAM.
3080 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
3081 Likewise.
3082 * include/multiboot.h: Resynced with specification.
3083 * include/multiboot2.h: Likewise.
3084
3085 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
3086
3087 Fix po directory handling.
3088
3089 * configure.ac: Create po/Makefile.in rather than po/Makefile.
3090 * grub-core/gnulib/Makefile.am: Import gettext module.
3091 * m4/gnulib-cache.m4: Likewise.
3092 * m4/gnulib-comp.m4: Likewise.
3093 * m4/gettext.m4: New file, from gnulib.
3094 * m4/glibc2.m4: Likewise.
3095 * m4/iconv.m4: Likewise.
3096 * m4/intdiv0.m4: Likewise.
3097 * m4/intl.m4: Likewise.
3098 * m4/intldir.m4: Likewise.
3099 * m4/intlmacosx.m4: Likewise.
3100 * m4/intmax.m4: Likewise.
3101 * m4/inttypes-pri.m4: Likewise.
3102 * m4/lcmessage.m4: Likewise.
3103 * m4/lib-ld.m4: Likewise.
3104 * m4/lib-link.m4: Likewise.
3105 * m4/lib-prefix.m4: Likewise.
3106 * m4/lock.m4: Likewise.
3107 * m4/nls.m4: Likewise.
3108 * m4/po.m4: Likewise.
3109 * m4/printf-posix.m4: Likewise.
3110 * m4/progtest.m4: Likewise.
3111 * m4/threadlib.m4: Likewise.
3112 * m4/uintmax_t.m4: Likewise.
3113 * m4/visibility.m4: Likewise.
3114 * po/Makefile.am: Remove.
3115 * po/Makefile.in.in: New file, from gettext.
3116 ($(DOMAIN).pot-update): Support POTFILES-shell.
3117 * po/Makevars: New file.
3118 * po/POTFILES-shell: Rename to ...
3119 * po/POTFILES-shell.in: ... this. Update.
3120 * po/POTFILES: Rename to ...
3121 * po/POTFILES.in: ... this. Update.
3122 * po/Rules-quot: New file, from gettext.
3123 * po/boldquot.sed: Likewise.
3124 * po/en@boldquot.header: Likewise.
3125 * po/en@quot.header: Likewise.
3126 * po/insert-header.sin: Likewise.
3127 * po/quot.sed: Likewise.
3128 * po/remove-potcdate.sin: Likewise.
3129
3130 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3133
3134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * util/grub.d/20_linux_xen.in: Use submenus.
3137
3138 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 Support submenus.
3141
3142 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3143 parameter submenu. All users updated.
3144 * grub-core/normal/main.c (free_menu): Rename to ...
3145 (grub_normal_free_menu): ... this. Made global.
3146 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3147 if requested.
3148 * grub-core/normal/menu_entry.c (screen): New field submenu.
3149 (make_screen): Set submenu.
3150 (run): Open new context if requested.
3151 * include/grub/menu.h (grub_menu_entry): New field submenu.
3152 * include/grub/normal.h (grub_normal_free_menu): New proto.
3153
3154 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 Menu entries extractor.
3157
3158 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3159 variants.
3160 (GRUB_MOD_INIT): Register new variants.
3161 (GRUB_MOD_FINI): Unregister new variants.
3162 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3163 into grub_cmd_legacy_source.
3164 (grub_cmd_legacy_source): Implement extractor variants.
3165 (GRUB_MOD_INIT): Register new variants.
3166 (GRUB_MOD_FINI): Unregister new variants.
3167 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3168 as an extractor.
3169 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3170 search as an extractor.
3171 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3172 test as an extractor.
3173 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3174 as an extractor.
3175 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3176 (grub_env_new_context): New function.
3177 (grub_env_context_open): Likewise.
3178 (grub_env_extractor_open): Likewise.
3179 (grub_env_extractor_close): Likewise.
3180 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3181 grub_extractor_level.
3182 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3183 * include/grub/env.h (grub_env_extractor_open): New proto.
3184 (grub_env_extractor_close): Likewise.
3185 * include/grub/normal.h (grub_extractor_level): New external variable.
3186
3187 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Make cutmem accept a region specification.
3190 Suggested by: Samuel Thibault
3191
3192 * grub-core/mmap/mmap.c (parsemem): New function.
3193 (grub_cmd_cutmem): Handle new arguments.
3194
3195 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 New command cutmem.
3198
3199 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3200 (GRUB_MOD_INIT): Register new command.
3201 (GRUB_MOD_FINI): Unregister new command.
3202
3203 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Support some annoying BSD and Minix subpartitions.
3206
3207 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3208 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3209 Properly handle concatenation.
3210 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3211 * grub-core/normal/completion.c (iterate_partition): Likewise.
3212 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3213 contain partition. All users updated.
3214 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3215 struct.
3216 (grub_openbsdlabel_partition_map): Likewise.
3217 (bsdlabel_partition_map_iterate): Rename to ..
3218 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3219 (bsdlabel_partition_map_iterate): New function.
3220 (netopenbsdlabel_partition_map_iterate): Likewise.
3221 (netbsdlabel_partition_map_iterate): Likewise.
3222 (openbsdlabel_partition_map_iterate): Likewise.
3223 (GRUB_MOD_INIT): Register new partmaps.
3224 (GRUB_MOD_FINI): Unregister new partmaps.
3225 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3226 (grub_partition_msdos_iterate): ... this. All users updated.
3227 Don't support embedding other than in a minix partition.
3228 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3229 proto.
3230 * include/grub/partition.h (grub_partition): New field msdostype.
3231 * util/grub-install.in: Handle openbsd and netbsd types being in
3232 part_bsd module.
3233
3234 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3237
3238 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3239 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3240 (mdraid09): ... this.
3241 (mdraid1x): New module.
3242 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3243 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3244
3245 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3248 vsprintf.
3249
3250 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3251
3252 * grub-core/commands/efi/lsefimmap.c: Correct header.
3253 * NEWS: Update.
3254
3255 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3256
3257 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3258 as printf format strings; the translations might contain '%' which
3259 could cause a crash.
3260 (main): Likewise.
3261 * util/grub-fstest.c (argp_parser): Likewise.
3262 * util/grub-setup.c (argp_parser): Likewise.
3263 (main): Likewise.
3264
3265 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Use argp in grub-fstest.
3268
3269 * util/grub-fstest.c: Don't include getopt.h.
3270 Include argp.h.
3271 (root): New variable.
3272 (args_count): Likewise.
3273 (nparm): Likewise.
3274 (num_disks): Likewise.
3275 (images): Likewise.
3276 (cmd): Likewise.
3277 (debug_str): Likewise.
3278 (args): Likewise.
3279 (options): Transformed to argp.
3280 (usage): Removed.
3281 (main): Split argument parsing into ...
3282 (argp_parser): ... this. Changed to argp format.
3283 (argp): New variable.
3284 (main): Use argp_parse.
3285
3286 2010-09-20 Tristan Gingold <gingold@free.fr>
3287 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3288 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/commands/efi/lsefimmap.c: New file.
3291 * grub-core/Makefile.core.def (lsefimmap): New module.
3292 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3293
3294 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 Pause the execution (10s max) if any errors are displayed so the user
3297 has a chance to see them.
3298
3299 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3300 (grub_print_error): Increment grub_err_printed_errors.
3301 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3302 execution if any errors were displayed.
3303 (show_menu): Remove old code for pause.
3304 * grub-core/normal/menu_entry.c (run): Likewise.
3305 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3306 users updated.
3307 (grub_normal_get_char_counter): Likewise.
3308 * include/grub/err.h (grub_err_printed_errors): New external variable.
3309 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3310
3311 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Support multiboot VBE info.
3314
3315 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3316 Take VBE info into account.
3317 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3318 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3319 Call fill_vbe_info when appropriate.
3320 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3321 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3322 as supported.
3323 (grub_multiboot_get_mbi_size): Take new tags into account.
3324 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3325 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3326 Call fill_vbe_tag when appropriate.
3327 (grub_multiboot_make_mbi): Properly align tags.
3328 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3329 function.
3330 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3331 proto.
3332 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3333
3334 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Suport manual terminal geometry specification.
3337
3338 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3339 Save state in grub_ofconsole_terminfo_output.
3340 (grub_ofconsole_term): Use grub_terminfo_getwh.
3341 (grub_ofconsole_getwh): Removed.
3342 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3343 (grub_serial_term): Use grub_terminfo_getwh.
3344 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3345 (options): New struct.
3346 (OPTION_*): New enum.
3347 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3348 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3349 width and height.
3350 (grub_terminfo_getwh): New proto.
3351 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3352
3353 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 Handle legacy "terminal" command.
3356
3357 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3358 and FLAG_TERMINAL.
3359 (legacy_commands): Add terminal and title.
3360 (grub_legacy_parse): Handle terminal. Simplify title handling.
3361
3362 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3365 parameters overflow.
3366
3367 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3368
3369 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3370 widthspec.h.
3371
3372 * docs/grub.texi (Shell-like scripting): Document `!'.
3373 (Network): Simplify using new i386-pc-pxe format. Mention
3374 grub-mknetdir.
3375
3376 * NEWS: Update.
3377
3378 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3379
3380 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3381 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3382 when needed.
3383
3384 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3385
3386 * grub-core/commands/efi/lsefisystab.c: Correct header.
3387 * grub-core/commands/efi/lssal.c: Likewise.
3388 * grub-core/commands/testload.c: Likewise.
3389
3390 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * util/grub-mkrescue.in: Add explicit root argument to --set to
3393 prevent the UUID being interpreted as an argument to --set (matches
3394 previous change to prepare_grub_to_access_device).
3395
3396 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3397
3398 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3399 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3400 the verbosity of later #ifs.
3401 (find_partition_start): Define this function on FreeBSD too.
3402 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3403 function.
3404 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3405 on FreeBSD.
3406
3407 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3408
3409 * util/grub-editenv.c: Use argp instead of getopt.
3410
3411 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3412
3413 * util/grub-setup.c: Use argp instead of getopt.
3414
3415 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3416
3417 Use gnulib-tool to create gnulib source files.
3418
3419 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3420 grub-core/gnulib directories
3421 * .bzignore: Add **/.deps and autogenerated gnulib files
3422 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3423 of gnulib macros, add grub-core/gnulib/Makefile
3424 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3425 include m4 directory to aclocal.
3426 * Makefile.util.def: Remove direct compilation of gnulib source files
3427 and use the new grub-core/gnulib/libgnu.a.
3428 * build-aux/config.rpath: move config.rpath from top directory to
3429 build-aux
3430 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3431 in gnulib headers
3432 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3433 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3434 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3435 header.
3436 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3437 string.
3438
3439 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3440
3441 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3442 grub-core/genmod.sh and grub-core/gensyminfo.sh
3443
3444 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3445
3446 Add a test for echo command options.
3447
3448 * tests/grub_cmd_echo.in: New test.
3449 * Makefile.util.def: Rules for new test.
3450
3451 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3452
3453 Remove crc.mod and move crc command to hashsum.mod.
3454 Remove lib/crc.c - users updated to use gcrypt implementation.
3455
3456 * grub-core/commands/crc.c: Removed.
3457 * grub-core/Makefile.core.def (crc): Module removed.
3458 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3459 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3460 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3461 * grub-core/lib/crc.c: Removed.
3462 * include/grub/lib/crc.h: Removed.
3463 * Makefile.util.def (crc): Remove lib/crc.c
3464 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3465 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3466 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3467 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3468 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3469 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3470
3471 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3474
3475 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Split config.h for util and core.
3478
3479 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3480 (ADDR32): Likewise.
3481 (DATA32): Likewise.
3482 (BSS_START_SYMBOL): Likewise.
3483 (END_SYMBOL): Likewise.
3484 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3485 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3486 * config.h.in: New file.
3487 * configure.ac: Use config-util.h as config define file.
3488 Rename MACHINE into GRUB_MACHINE. All users updated.
3489 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3490 updated.
3491 (NESTED_FUNC_ATTR): Likewise.
3492 Substitue new variables.
3493 (COND_HAVE_ASM_USCORE): New conditional.
3494 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3495 (kernel_syms.lst): Use ASM_PREFIX.
3496 * grub-core/kern/emu/console.c: Include config-util.h.
3497 * grub-core/kern/emu/misc.c: Likewise.
3498 * grub-core/kern/emu/mm.c: Likewise.
3499 * include/grub/emu/misc.h: Likewise.
3500 * include/grub/libgcc.h: Likewise.
3501
3502 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3505 constants usage.
3506 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3507 Fix GRUB_TERM_KEY_* constants usage.
3508 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3509
3510 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3513 print pointer.
3514 * grub-core/bus/usb/uhci.c: Remove empty define.
3515 (grub_uhci_check_transfer): Add missing cast.
3516 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3517 print pointer.
3518 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3519 PRIuGRUB_SIZE.
3520 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3521
3522 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/Makefile.core.def (legacycfg): Add
3525 lib/i386/pc/vesa_modes_table.c on emu.
3526
3527 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3528
3529 Reduce number of temporary files generated by build system.
3530
3531 * grub-core/gencmdlist.sh: Removed.
3532 * grub-core/genfslist.sh: Removed.
3533 * grub-core/genhandlerlist.sh: Removed.
3534 * grub-core/genmodsrc.sh: Removed.
3535 * grub-core/genpartmaplist.sh: Removed.
3536 * grub-core/genparttoollist.sh: Removed.
3537 * grub-core/gentermiinallist.sh: Removed.
3538 * grub-core/genvideolist.sh: Removed.
3539
3540 * grub-core/genmod.sh.in: New file.
3541 * grub-core/gensyminfo.sh.in: New file.
3542
3543 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3544 * conf/Makefile.extra-dist: Update with new files.
3545 * gentpl.py: Remove rules related to unnecessary temporary files.
3546 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3547 and und-* files.
3548 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3549 genmod.sh scripts.
3550 * grub-core/bus/usb/uhci.c: Remove empty #define.
3551 * grub-core/genmoddep.awk: Updated with new syminfo format.
3552 * util/bash-completion.d/Makefile.am: Add config.log to
3553 CLEANFILES.
3554
3555 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3556
3557 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3558
3559 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3560
3561 * util/grub-mkconfig.in: Check the config script for syntax errors
3562 before saving.
3563
3564 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3565 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3568 platforms.
3569 * util/grub-install.in: Add EFI and IEEE1275 support.
3570 * util/i386/efi/grub-install.in: Removed.
3571 * util/ieee1275/grub-install.in: Likewise.
3572
3573 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3576 (grub_cmd_cmosclean): Likewise.
3577 (GRUB_MOD_INIT): Register command cmosclean.
3578 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3579 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3580
3581 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3582 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3583 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Add keyboard layouts support.
3586
3587 * Makefile.util.def (grub-mklayout): New file.
3588 (grub-kbdcomp): New script.
3589 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3590 Add keyboard_layouts.h.
3591 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3592 commands/boot.c on yeeloong.
3593 (keylayouts): New module.
3594 * grub-core/bus/usb/ohci.c
3595 * grub-core/bus/usb/uhci.c
3596 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3597 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3598 (attach_root_port): Likewise.
3599 (poll_nonroot_hub): Likewise.
3600 (grub_usb_poll_devices): Likewise.
3601 (detach_device): Close transfer.
3602 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3603 function.
3604 (grub_usb_bulk_setup_readwrite): Likewise.
3605 (grub_usb_bulk_finish_readwrite): Likewise.
3606 * grub-core/commands/keylayouts.c: New file.
3607 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3608 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3609 aliases.
3610 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3611 support scancode 2.
3612 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3613 * include/grub/keyboard_layouts.h: New file.
3614 * util/grub-mklayout.c: New file.
3615 * util/grub-kbdcomp.in: Likewise.
3616
3617 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 Unify memory types.
3620
3621 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3622 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3623 types.
3624 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3625 (grub_upper_mem): Likewise.
3626 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3627 * include/grub/memory.h (grub_memory_type_t): New enum.
3628 All users updated.
3629
3630 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/Makefile.core.def (lsapm): New module.
3633 * grub-core/commands/i386/pc/lsapm.c: New file.
3634 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3635 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3636 Likewise.
3637 * include/grub/i386/pc/apm.h: New file.
3638 * include/multiboot.h (multiboot_apm_info): New struct.
3639
3640 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 GRUB-legacy configuration file support.
3643
3644 * Makefile.util.def (grub-menulst2cfg): New util.
3645 * docs/man/grub-menulst2cfg.h2m: New file.
3646 * grub-core/Makefile.core.def (legacycfg): New module.
3647 * grub-core/commands/legacycfg.c: New file.
3648 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3649 (grub_normal_add_menu_entry): ... this.
3650 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3651 (grub_normal_set_password): ...this.
3652 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3653 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3654 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3655 * grub-core/lib/legacy_parse.c: New file.
3656 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3657 * include/grub/i386/pc/vesa_modes_table.h: New file.
3658 * include/grub/legacy_parse.h: Likewise.
3659 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3660 * util/grub-menulst2cfg.c: New file.
3661
3662 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3663
3664 * grub-core/kern/emu/hostdisk.c
3665 (convert_system_partition_to_system_disk): Initialise node.
3666
3667 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3668
3669 * grub-core/kern/emu/hostdisk.c
3670 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3671 leak.
3672 Reported and based on patch by: Modestas Vainius.
3673
3674 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3675
3676 Fix DM-RAID probing with recent versions of device-mapper udev
3677 rules.
3678
3679 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3680 canonicalise device paths under /dev/mapper/.
3681 (convert_system_partition_to_system_disk): Compare the
3682 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3683 path, since device nodes under /dev/mapper/ are often symlinks.
3684
3685 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3686
3687 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3688
3689 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3690
3691 * configure.ac: Avoid some annoying error messages if freetype-config
3692 program is not found.
3693
3694 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3695
3696 Support RAID on virtio devices, and others.
3697
3698 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3699 Rename to ...
3700 [__MINGW32__] (grub_find_device): ... this.
3701 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3702 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3703 reasonable default if dir is NULL.
3704 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3705 ...
3706 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3707 (grub_guess_root_device): Update callers.
3708 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3709
3710 * util/raid.c (grub_util_getdiskname): Remove.
3711 (grub_util_raid_getmembers): Use grub_find_device rather than
3712 grub_util_getdiskname.
3713
3714 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3715
3716 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3717 needing to be compiled with serial support.
3718 (ls): Indicate that multiple files are accepted.
3719 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3720 indicate that multiple files are accepted.
3721
3722 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3723
3724 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3725 libgrub_a_init.c, and util/bash-completion.d/grub.
3726
3727 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * util/grub-setup.c (setup): Fix incorrect container semantics.
3730
3731 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3734 misusage.
3735 Reported by: J. Nick Terry
3736
3737 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Move embedding routines to partmap sources files.
3740
3741 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3742 [GRUB_UTIL]: New variable.
3743 (gpt_partition_map_iterate): Set part.parent.
3744 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3745 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3746 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3747 New function.
3748 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3749 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3750 (grub_partition_map) [GRUB_UTIL]: New field embed.
3751 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3752 (setup): Use ->embed.
3753
3754 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3757 function.
3758 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3759 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3760
3761 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3762
3763 Add function to get completions from usage.
3764
3765 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3766 completions from usage. Use LC_ALL=C to get options properly.
3767
3768 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/gnulib/basename-lgpl.c: Imported.
3771 * grub-core/gnulib/basename.c: Likewise.
3772 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3773 * grub-core/gnulib/dirname.c: Likewise.
3774 * grub-core/gnulib/dirname.h: Likewise.
3775 * grub-core/gnulib/stripslash.c: Likewise.
3776
3777 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/gnulib/error.c: Resynced.
3780 * grub-core/gnulib/getopt.c: Likewise.
3781 * grub-core/gnulib/getopt_int.h: Likewise.
3782 * grub-core/gnulib/regex.h: Likewise.
3783 * grub-core/gnulib/regex_internal.c: Likewise.
3784 * grub-core/gnulib/regex_internal.h: Likewise.
3785
3786 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3787
3788 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3789 CRC calculations and validity checks.
3790 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3791 calculations.
3792
3793 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3794
3795 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3796
3797 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 Fix incorrect echo options handling.
3800 Reported by: Yves Blusseau.
3801
3802 * include/grub/command.h (grub_command_flags_t): New flags
3803 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3804 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3805 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3806
3807 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3810 users updated.
3811 (GRUB_COMMAND_FLAG_MENU): Likewise.
3812 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3813 (GRUB_COMMAND_FLAG_TITLE): Removed.
3814 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3815 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3816 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3817 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3818 (grub_command_flags_t): New enum. All users updated.
3819
3820 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3821
3822 Fix solaris compilation.
3823
3824 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3825 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3826 (grub-emu-list): Likewise.
3827
3828 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Remove deprecated root command.
3831
3832 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3833 updated.
3834
3835 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * util/i386/pc/grub-setup.c: Merge this ...
3838 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3839 * util/grub-setup.c: ... into this.
3840 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3841 New struct.
3842
3843 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3846 possible.
3847
3848 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3851 allocate p.
3852
3853 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3856 explicit root argument to set to prevent UUID to be interpreted as
3857 argument to set.
3858
3859 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3862
3863 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 Don't export grub_gate_a20.
3866
3867 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3868 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3869 to ...
3870 (grub_gate_a20): ... this. All users updated.
3871 * include/grub/i386/pc/init.h: Removed. All users updated.
3872
3873 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Create euro.pf2 which supports most European languages.
3876
3877 * Makefile.am (grubdata_DATA): Add euro.pf2.
3878 (euro.pf2): New target.
3879 (CLEANFILES): Add euro.pf2.
3880
3881 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * configure.ac: Disable emu-usb by default to prevent inadvertent
3884 device takeover.
3885
3886 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 Disable usbserial on grub-emu since our libusb code isn't good enough
3889 yet.
3890
3891 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3892 (usbserial_pl2303): Likewise.
3893 (usbserial_ftdi): Likewise.
3894
3895 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * include/grub/disk.h (grub_disk): Remove has_partitions.
3898 All users updated.
3899 * disk/loopback.c (grub_loopback): Remove has_partitions.
3900 All users updated.
3901 (options): Remove partitions. All users updated.
3902 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3903 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3904 actual partition table is found.
3905
3906 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Remove readability checks (too many false negatives).
3909
3910 * util/grub-install.in: Remove readability checks.
3911 * util/grub-mkconfig.in: Likewise.
3912 * util/grub.d/10_hurd.in: Likewise.
3913 * util/grub.d/10_kfreebsd.in: Likewise.
3914 * util/grub.d/10_linux.in: Likewise.
3915 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3916 way.
3917
3918 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Enable acpi shutdown on all ACPI platforms.
3921
3922 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3923 on coreboo, multiboot and EFI.
3924 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3925 (grub_acpi_halt): Likewise.
3926 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3927 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3928 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3929 * grub-core/lib/i386/halt.c (grub_halt)
3930 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3931
3932 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3935 context.
3936
3937 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3940 * grub-core/video/efi_uga.c: Likewise.
3941
3942 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 Filter devaliases and never open same device twice.
3945
3946 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3947 (last_ihandle): Likewise.
3948 (ofdisk_hash_ent): New member shortest.
3949 (ofdisk_hash_add): Add canonical path too.
3950 (scan): New function.
3951 (grub_ofdisk_iterate): Iterate over hashed entries.
3952 (compute_dev_path): Don't add :0.
3953 (grub_ofdisk_open): Don't really open the disk.
3954 (grub_ofdisk_close): Avoid closing unrelated disk.
3955 (grub_ofdisk_read): Implement reopen logic.
3956 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3957 New function.
3958 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3959 New proto.
3960
3961 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 Fix sparc64.
3964
3965 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3966 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3967 right address. Add sparc64_ieee1275_ldflags.
3968 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3969 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3970 to grub_host_to_target_addr
3971 (load_image): Likewise.
3972
3973 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/normal/completion.c (complete_file): Handle device
3976 containing slash.
3977 Fix based on patch by Doug Nazar.
3978
3979 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 grub-mknetdir script.
3982
3983 * Makefile.util.def (grub-mknetdir): New module.
3984 * tests/util/grub-shell.in: Support boot=net
3985 * util/grub-mknetdir.in: New file.
3986
3987 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 videoinfo on non-vbe.
3990
3991 * grub-core/Makefile.core.def (vbeinfo): Removed.
3992 (vbetest): Removed.
3993 (videoinfo): New module.
3994 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3995 * grub-core/commands/i386/pc/vbetest.c: Removed.
3996 * grub-core/commands/videoinfo.c: New file.
3997 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3998 specification.
3999 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
4000 as vbetest.
4001 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
4002 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
4003 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
4004 mode_number. New parameter mode. All users updated.
4005 (grub_video_gop_iterate): New function.
4006 (grub_video_efi_gop): New member iterate.
4007 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
4008 (grub_vbe_set_video_mode): Remove setting useless fields.
4009 (vbe2videoinfo): New function.
4010 (grub_video_vbe_iterate): Likewise.
4011 (grub_video_vbe_setup): Use vbe2videoinfo.
4012 (grub_video_vbe_print_adapter_specific_info): New function.
4013 (grub_video_vbe_adapter): New fields iterate and
4014 print_adapter_specific_info.
4015 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
4016 All users updated.
4017 (grub_video_mode_info): New field mode_number.
4018 (grub_video_adapter): New fields iterate and
4019 print_adapter_specific_info.
4020
4021 2010-09-13 Tristan Gingold <gingold@free.fr>
4022 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
4023 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/commands/efi/lsefisystab.c: New file.
4026 * grub-core/commands/efi/lssal.c: Likewise.
4027 * grub-core/Makefile.core.def (lsacpi): New module.
4028 (lsefisystab): Likewise.
4029 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
4030 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
4031 (grub_efi_sal_system_table): New struct.
4032 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
4033 (grub_efi_sal_system_table_memory_descriptor): Likewise.
4034 (grub_efi_sal_system_table_platform_features): Likewise.
4035 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
4036 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
4037 (grub_efi_sal_system_table_ap_wakeup): Likewise.
4038 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
4039
4040 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 Support explicit user claim that a device is BIOS-visible.
4043
4044 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
4045 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
4046 * grub-core/kern/emu/hostdisk.c
4047 (convert_system_partition_to_system_disk): Support mdX.
4048 (find_system_device): New parameter add. All users updated.
4049 (grub_util_biosdisk_is_present): New function.
4050 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
4051 proto.
4052
4053 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 Search hints support.
4056
4057 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
4058 All users updated.
4059
4060 2010-09-13 Yves Blusseau <blusseau@zetam.org>
4061
4062 Bash completion script for util commands
4063
4064 * Makefile.am: Add util/bash-completion.d directory
4065 * configure.ac: Likewise.
4066 * util/bash-completion.d/Makefile.am: New file.
4067 * util/bash-completion.d/grub-completion.bash.in: Likewise.
4068
4069 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
4072 (print_backlog): set backlog_ucs4 and backlog_glyphs.
4073 Reported by: Yves Blusseau.
4074
4075 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
4078 partition size and offset.
4079
4080 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
4083
4084 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
4087
4088 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
4091 (grub_xvasprintf): Likewise.
4092
4093 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
4096
4097 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4100 args ending with NULL.
4101
4102 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4105 pointer.
4106
4107 2010-09-11 Szymon Janc <szymon@janc.net.pl>
4108
4109 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4110
4111 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 Shutdown using ACPI.
4114
4115 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4116 * grub-core/commands/acpihalt.c: New file.
4117 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4118 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4119 (grub_acpi_halt): New proto.
4120 (GRUB_ACPI_SLP_EN): New const.
4121 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4122 (GRUB_ACPI_OPCODE_*): New enum.
4123 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4124
4125 2010-09-11 Tristan Gingold <gingold@free.fr>
4126 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
4127 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * commands/lsacpi.c: New file.
4130 * grub-core/Makefile.core.def (lsacpi): New module.
4131 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4132 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4133 (grub_acpi_madt_entry_header): New struct.
4134 (grub_acpi_madt): Likewise.
4135 (grub_acpi_madt_entry_interrupt_override): Likewise.
4136 (grub_acpi_madt_entry_sapic): Likewise.
4137 (grub_acpi_madt_entry_lsapic): Likewise.
4138 (grub_acpi_madt_entry_platform_int_source): Likewise.
4139 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4140 (PRIuGRUB_UINT32_T): Likewise.
4141 (PRIxGRUB_UINT64_T): Likewise.
4142
4143 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Implement loading palette on ieee1275_fb.
4146
4147 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4148 (have_setcolors): Likewise.
4149 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4150 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4151 (grub_video_ieee1275_set_palette): Implement.
4152
4153 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4154 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
4155
4156 * util/grub-install.in (grub_partition): New variable.
4157 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4158 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4159 Fixes a bug reported by Yves Blusseau.
4160
4161 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Fix emu on mipsel.
4164
4165 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4166 =grub_cpu_flush_cache on all mips and not only yeeloong.
4167 * configure.ac (COND_mips): New conditional.
4168 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4169 platforms.
4170 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4171 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4172 [GRUB_LINKER_HAVE_INIT]: New function.
4173 (grub_emu_post_init): Likewise.
4174 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4175 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4176 * include/grub/cache.h (_mips): Include mips/cache.h.
4177 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4178 LVM and RAID prototypes.
4179 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4180 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4181 function.
4182
4183 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4184
4185 * util/grub-install.in: Don't try to verify core.img until after
4186 running grub-mkimage to create it.
4187
4188 2010-09-10 Robert Millan <rmh@gnu.org>
4189
4190 * util/grub.d/10_hurd.in: Add misc readability checks.
4191 * util/grub.d/10_kfreebsd.in: Likewise.
4192 * util/grub.d/10_linux.in: Likewise.
4193
4194 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4195
4196 * util/grub-install.in: ${imgext} won't be defined here until the
4197 install branch is merged. For the meantime, only verify core.img on
4198 i386-pc and sparc64-ieee1275 platforms.
4199
4200 2010-09-10 Robert Millan <rmh@gnu.org>
4201
4202 Solaris support in grub_find_zpool_from_dir(). Thanks
4203 Seth Goldberg for referring to getextmntent() facility.
4204
4205 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4206 `sys/mkdev.h'.
4207 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4208 `<sys/mnttab.h>'.
4209 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4210 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4211 method for finding zpool name.
4212
4213 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
4214
4215 grub-fstest needs the host and hostfs modules while other utilities
4216 actively require those modules to be absent, so grub-fstest needs
4217 its own initialisation and finalisation code.
4218
4219 * Makefile.am (grub_fstest.pp): New target.
4220 (grub_fstest_init.lst): Likewise.
4221 (grub_fstest_init.c): Likewise.
4222 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4223
4224 2010-09-10 Robert Millan <rmh@gnu.org>
4225
4226 * configure.ac: Check for `struct statfs.f_fstypename' and
4227 `struct statfs.f_mntfromname'.
4228
4229 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4230 kFreeBSD-specific code.
4231
4232 2010-09-10 Robert Millan <rmh@gnu.org>
4233
4234 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4235 on ZFS. Now non-main filesystems are supported as / too.
4236
4237 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
4238
4239 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4240 and grub-core/disk/host.c to ...
4241 (grub-fstest): ... here. Having the host disk implementation
4242 present confuses grub-probe and other utility programs.
4243
4244 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4245 when writing to a file, not when writing to stdout.
4246
4247 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4248
4249 * tests/partmap_test.in: New test for partitions.
4250 * Makefile.util.def: Rules for new test.
4251
4252 2010-09-09 Robert Millan <rmh@gnu.org>
4253
4254 * util/grub-probe.c (probe): Fix a pair of unhandled error
4255 conditions.
4256
4257 2010-09-09 Robert Millan <rmh@gnu.org>
4258
4259 Basic Btrfs support (detection and UUID).
4260
4261 * grub-core/fs/btrfs.c: New file.
4262 * Makefile.util.def (library): Register btrfs.c.
4263 * grub-core/Makefile.core.def: Likewise.
4264
4265 2010-09-08 Robert Millan <rmh@gnu.org>
4266
4267 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4268 with (optional) parameters to specify device and relative path.
4269 * util/grub-install.in: Use is_path_readable_by_grub() to
4270 verify readability of a few critical files.
4271 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4272 verify readability of grub.cfg.new.
4273
4274 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 Split minix.mod into minix.mod and minix2.mod.
4277
4278 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4279 * grub-core/Makefile.core.def (minix2): New module.
4280 * grub-core/fs/minix.c: Use definitions instead of runtime version
4281 checking.
4282 * grub-core/fs/minix2.c: New file.
4283
4284 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4285
4286 Add new --boot-directory option to replace --root-directory
4287
4288 * util/grub-install.in: Add new --boot-directory option
4289 * util/grub-reboot.in: Likewise.
4290 * util/grub-set-default.in: Likewise.
4291
4292 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4293
4294 * util/grub-mkconfig.in: Use new variable.
4295
4296 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4297
4298 * configure.ac: Define some useful variables.
4299
4300 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4303 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4304 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4305 Use terminfo and don't use cursor-on/cursor-off unless it's known
4306 to work.
4307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4308 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4309
4310 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4311
4312 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4313 starts with "(,", fill the drive containing the loaded image in
4314 between those two characters, but expect that a full partition
4315 specification including partition map names will follow.
4316
4317 2010-09-08 Robert Millan <rmh@gnu.org>
4318
4319 * configure.ac: Remove `--enable-grub-fstest' option.
4320 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4321
4322 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4323 `grub-fstest' instead of `grub-probe' for readability verification.
4324 * util/grub-probe.c (probe): Remove readability verification kludge.
4325
4326 2010-09-08 Robert Millan <rmh@gnu.org>
4327
4328 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4329 initializing `GRUB_FS'.
4330
4331 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4332
4333 Not command (!) support to GRUB script.
4334
4335 * tests/grub_script_not.in: New test.
4336 * Makefile.util.def: Rules for new test.
4337
4338 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4339 ! command as a special case.
4340 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4341
4342 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4343
4344 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4345 grub_free.
4346
4347 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4348
4349 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4350
4351 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4352
4353 * docs/grub.texi (Shell-like scripting): Documentation for break,
4354 continue, shift and return commands.
4355
4356 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Rename CD-ROM to cd on BIOS.
4359
4360 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4361 "cd".
4362 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4363
4364 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4367 * util/grub-probe.c (main): Likewise.
4368 * util/i386/pc/grub-setup.c (main): Likewise.
4369 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4370 Reported and debugged by: alexxy
4371
4372 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4375 diagnostic info.
4376
4377 2010-09-05 Jo Shields <directhex@apebox.org>
4378
4379 * util/grub.d/30_os-prober.in: Add missing classes.
4380
4381 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * docs/grub.texi (Theme file format): Document new position format.
4384
4385 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4388 a table. Use @code instead of @verbatim.
4389
4390 2010-09-05 Colin D Bennett <colin@gibibit.com>
4391
4392 Gfxmenu documentation.
4393
4394 * docs/grub.texi (Theme file format): New chapter.
4395
4396 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4397
4398 * grub-core/Makefile.core.def (xzio): New module.
4399 * grub-core/io/xzio.c: New file.
4400 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4401 * grub-core/lib/xzembed/xz_config.h: Likewise.
4402 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4403 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4404 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4405 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4406 * grub-core/lib/xzembed/xz_private.h: Likewise.
4407 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4408 * include/grub/file.h (grub_file_filter_id): New compression filter
4409 GRUB_FILE_FILTER_XZIO.
4410
4411 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4414 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4415 size.
4416
4417 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4420 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4421
4422 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 Uncompressed checksum support.
4425
4426 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4427 (check_list): New parameter uncompress.
4428 (grub_cmd_hashsum): Handle --uncompress.
4429
4430 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 Reintroduce testload.
4433
4434 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4435 from here ...
4436 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4437 (GRUB_MOD_INIT): New function.
4438 (GRUB_MOD_FINI): Likewise.
4439 * grub-core/Makefile.core.def (testload): New module.
4440
4441 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4442
4443 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4444 (uint8_t): New type.
4445 (uint16_t): Likewise.
4446 (uint32_t): Likewise.
4447 (uint64_t): Likewise.
4448
4449 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4450
4451 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4452
4453 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4456 Made static.
4457 (grub_gzfile_open): Removed. All users updated.
4458 (GRUB_MOD_INIT): New function.
4459 (GRUB_MOD_FINI): Likewise.
4460 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4461 (grub_file_filters_enabled): Likewise.
4462 (grub_file_open): Handle filters.
4463 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4464 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4465 * include/grub/file.h (grub_file_filter_id_t): New type.
4466 (grub_file_filter_t): Likewise.
4467 (grub_file_filters_all): New extern variable.
4468 (grub_file_filters_enabled): Likewise.
4469 (grub_file_filter_register): New inline function.
4470 (grub_file_filter_unregister): Likewise.
4471 (grub_file_filter_disable): Likewise.
4472 (grub_file_filter_disable_compression): Likewise.
4473 * include/grub/gzio.h: Removed.
4474
4475 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4476
4477 Filename expansion support for wildcards in GRUB script.
4478
4479 * tests/grub_script_expansion.in: New test.
4480 * Makefile.util.def: Rule for new test.
4481
4482 * grub-core/commands/wildcard.c: New file, implements filename
4483 expansion support for GRUB script.
4484 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4485 * grub-core/script/argv.c: Cosmetic changes.
4486 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4487 Refactored to perform wildcard expansion on arguments.
4488 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4489 struct.
4490
4491 * tests/util/grub-shell.in: Fix quoting for read input.
4492
4493 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4494
4495 Support for updating environment variables with matched substrings
4496 of regexp.
4497
4498 * tests/grub_cmd_regexp.in: New test.
4499 * Makefile.util.def: Rule for new test.
4500
4501 * grub-core/commands/regexp.c: New option -s to update environment
4502 variables with regexp matches.
4503
4504 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4505
4506 * include/grub/file.h (grub_file): New member not_easly_seekable.
4507 (grub_file_seekable): New inline function.
4508 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4509 easily seekable.
4510 (grub_gzio_open): Set not_easly_seekable.
4511 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4512 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4513
4514 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4515
4516 Support for options to appear multiple times on cmdline.
4517
4518 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4519 * grub-core/commands/extcmd.c: Support for repeatable option.
4520 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4521 repeatable option support.
4522
4523 Refactor menuentry into a regular command.
4524
4525 * grub-core/commands/menuentry.c: New file, menuentry command
4526 implementation.
4527 * grub-core/Makefile.core.def: Rule update for normal.mod.
4528 * grub-core/normal/main.c: Moved menuentry creation to
4529 grub-core/commands/menuentry.c.
4530 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4531 (grub_menu_execute_entry_real): Removed.
4532 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4533 function.
4534 (grub_script_execute_menuentry): Removed.
4535 * grub-core/script/parser.y (menuentry): Removed.
4536 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4537 * grub-core/script/yylex.l (menuentry): Removed.
4538 * include/grub/menu.h (grub_menu_init): New prototype.
4539 (grub_menu_fini): New prototype.
4540 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4541 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4542 (grub_script_execute_sourcecode): New prototype.
4543
4544 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4545
4546 "return" command for GRUB script functions.
4547
4548 * tests/grub_script_return.in: New test.
4549 * Makefile.util.def: Rules for new test.
4550
4551 * grub-core/script/execute.c (grub_script_return): New function.
4552 * grub-core/script/main.c: Register/unregister return commaond.
4553 * include/grub/script_sh.h (grub_script_return): New prototype.
4554
4555 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4556
4557 "setparams" command to update positional parameters.
4558
4559 * tests/grub_script_setparams.in: New test.
4560 * Makefile.util.def: Rules for new test.
4561
4562 * grub-core/script/argv.c (grub_script_argv_make): New function.
4563 * grub-core/script/execute.c (replace_scope): New function.
4564 (grub_script_setparams): New function.
4565 * grub-core/script/lexer.c: Remove unused variables.
4566 * grub-core/script/main.c: Register/unregister setparams command.
4567 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4568 (grub_script_setparams): New prototype.
4569
4570 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4571
4572 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4573 grub_free order.
4574
4575 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4576
4577 Support for passing block of commands as an argument to extcmds.
4578
4579 * Makefile.util.def: Rules for new test.
4580 * tests/grub_script_blockarg.in: New test.
4581 * grub-core/tests/test_blockarg.c: New file, block argument
4582 command used in the test.
4583
4584 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4585 (grub_register_extcmd_prio): New function prototype.
4586 (grub_extcmd_dispatcher): New function prototype.
4587 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4588 type.
4589 * include/grub/script_sh.h (struct grub_script): New members
4590 `children', `next_siblings' and `refcnt' for block arguments and
4591 reference counting.
4592 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4593 (grub_script_arg): New member `script' for block argument.
4594 (grub_script_argv): New member `script' for block argument.
4595 (grub_parser_param): New member `scripts' for block argument.
4596 (grub_script_mem_free): New extern function prototype.
4597 (grub_script_ref): New function prototype.
4598 (grub_script_unref): New function prototype.
4599
4600 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4601 extcmd form to support block arguments.
4602 * grub-core/script/argv.c: Block arguments support.
4603 * grub-core/script/execute.c: Likewise.
4604 * grub-core/script/lexer.c: Likewise.
4605 * grub-core/script/main.c: Likewise.
4606 * grub-core/script/script.c: Likewise.
4607 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4608 non-terminals.
4609
4610 * grub-core/commands/acpi.c: Update extcmd implementations with
4611 grub_extcmd_context_t.
4612 * grub-core/commands/cat.c: Likewise.
4613 * grub-core/commands/echo.c: Likewise.
4614 * grub-core/commands/extcmd.c: Likewise.
4615 * grub-core/commands/hashsum.c: Likewise.
4616 * grub-core/commands/hdparm.c: Likewise.
4617 * grub-core/commands/help.c: Likewise.
4618 * grub-core/commands/hexdump.c: Likewise.
4619 * grub-core/commands/i386/cpuid.c: Likewise.
4620 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4621 * grub-core/commands/i386/pc/halt.c: Likewise.
4622 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4623 * grub-core/commands/iorw.c: Likewise.
4624 * grub-core/commands/keystatus.c: Likewise.
4625 * grub-core/commands/loadenv.c: Likewise.
4626 * grub-core/commands/ls.c: Likewise.
4627 * grub-core/commands/lspci.c: Likewise.
4628 * grub-core/commands/memrw.c: Likewise.
4629 * grub-core/commands/probe.c: Likewise.
4630 * grub-core/commands/search_wrap.c: Likewise.
4631 * grub-core/commands/setpci.c: Likewise.
4632 * grub-core/commands/sleep.c: Likewise.
4633 * grub-core/disk/loopback.c: Likewise.
4634 * grub-core/hello/hello.c: Likewise.
4635 * grub-core/loader/i386/bsd.c: Likewise.
4636 * grub-core/loader/xnu.c: Likewise.
4637 * grub-core/term/gfxterm.c: Likewise.
4638 * grub-core/term/serial.c: Likewise.
4639 * grub-core/tests/lib/functional_test.c: Likewise.
4640
4641 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4642
4643 Multi-line quoted strings support.
4644
4645 * grub-core/script/lexer.c (append_newline): Removed.
4646 (grub_script_lexer_yywrap): Refactored.
4647 (grub_script_lexer_init): Refactored.
4648 * grub-core/script/yylex.l (yywrap): New function.
4649 (grub_lexer_resplit): New function.
4650 (grub_lexer_unput): New function.
4651 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4652 and resplit.
4653 * tests/grub_script_echo1.in: Added few more testcases.
4654
4655 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/kern/misc.c: Don't add abort alias in utils.
4658 Reported by: echoline.
4659
4660 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4661
4662 Add missing files into "make dist" tarball for other platforms.
4663
4664 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4665 * conf/Makefile.common (dist_noinst_DATA): New variable.
4666 * conf/Makefile.extra-dist: Added missing make dist files.
4667 * grub-core/Makefile.core.def: Likewise.
4668
4669 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 Compress grub_prefix.
4672
4673 * grub-core/boot/i386/pc/lnxboot.S: Use
4674 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4675 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4676 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4677 GRUB_MACHINE_PREFIX_END. All users updated.
4678 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4679 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4680 + 0x40.
4681 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4682 * util/grub-mkimage.c (image_target_desc): Change data_end to
4683 prefix_end. All users updated.
4684
4685 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4688 value.
4689 (grub_openbsd_boot): Likewise.
4690 (grub_netbsd_boot): Likewise.
4691 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4692 (grub_xnu_boot): Likewise.
4693
4694 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * configure.ac: Clean LIBS variable after tests.
4697
4698 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4699
4700 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4701
4702 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4705 echo if libdevmapper will be used.
4706
4707 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4708
4709 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4710 constant for the same file.
4711
4712 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4715
4716 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4717
4718 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4719 grub-core/*.pp.
4720
4721 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4722
4723 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4724 required by the boot protocol.
4725
4726 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4727 ebp and edi members.
4728 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4729 state.ebp and state.edi.
4730 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4731 %ebp and %edi according to grub_relocator32_ebp and
4732 grub_relocator32_edi respectively.
4733 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4734 and state.edi.
4735
4736 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 Add i386-pc-pxe image target.
4739
4740 * util/grub-mkimage.c (image_target_desc): New enum value
4741 IMAGE_I386_PC_PXE.
4742 (image_targets): New target i386-pc-pxe.
4743 (generate_image): Handle i386-pc-pxe image.
4744
4745 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 Fix grub_pxe_scan.
4748
4749 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4750 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4751 All users updated.
4752 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4753 (grub_pxe_pxenv): Correct type.
4754
4755 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4756
4757 * NEWS: Document most of the important changes since 1.98.
4758
4759 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4760
4761 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4762 generated manual page) a little.
4763
4764 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4765
4766 * docs/grub.texi: Add myself as an author.
4767
4768 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * Makefile.util.def (libgrub.a): Add missing sunpc.
4771 Reported by: Seth Goldberg.
4772
4773 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 Interrupt wrapping and code simplifications.
4776
4777 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4778 x86_noieee1275 which are functionaly equivalent in this case.
4779 (grub-install): Make source on each platform explicit. Enable on
4780 all noemu.
4781 * gentpl.py (x86_efi_pc): Removed group.
4782 (x86_noefi): Likewise.
4783 (i386_noefi): Likewise.
4784 (x86_noieee1275): Likewise.
4785 (i386_noieee1275): Likewise.
4786 (i386_noefi_noieee1275): Likewise.
4787 (i386_pc_qemu_coreboot): Likewise.
4788 (i386_coreboot_multiboot): Likewise.
4789 (i386_pc_coreboot_multiboot_qemu): Likewise.
4790 (x86_noefi_mips): Likewise.
4791 (noieee1275): Likewise.
4792 (ieee1275_mips): Likewise.
4793 (noemu_noieee1275): Likewise.
4794 (cmos): New group.
4795 (usb): Likewise.
4796 (videoinkernel): Likewise.
4797 (videomodules): Likewise.
4798 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4799 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4800 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4801 include/grub/loader.h, include/grub/msdos_partition.h,
4802 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4803 include/grub/machine/console.h, include/grub/machine/vga.h,
4804 include/grub/machine/vbe.h, include/grub/machine/init.h,
4805 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4806 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4807 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4808 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4809 * grub-core/Makefile.core.def (kernel): Explicit the source for
4810 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4811 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4812 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4813 Use videoinkernel tag.
4814 (usb): Enable on all usb.
4815 (usbserial_common): Likewise.
4816 (usbserial_pl2303): Likewise.
4817 (usbserial_ftdi): Likewise.
4818 (uhci): Enable on all x86.
4819 (ohci): Enable on all pci.
4820 (cmostest): Enable on all CMOS.
4821 (acpi): Include commands/acpi.c on all platforms.
4822 (halt): Add relevant lib/*/halt.c.
4823 (hdparm): Enable on all pci.
4824 (lspci): Likewise.
4825 (usbtest): Enable on all usb.
4826 (ata): Enable on all pci.
4827 (ata_pthru): Likewise.
4828 (usbms): Enable on all usb.
4829 (usb_keyboard): Likewise.
4830 (font): Use tag videomodules.
4831 (bufio): Likewise.
4832 (datetime): Use tag cmos. Enable on all noemu.
4833 (mmap): Use tags common and x86.
4834 (gfxterm): Use tag videomodules.
4835 (bitmap): Likewise.
4836 (bitmap_scale): Likewise.
4837 (video_fb): Likewise.
4838 (video): Likewise.
4839 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4840 adjust padding accordingly. All users updated.
4841 (grub_ohci_transaction): Fix bad format specification.
4842 (GRUB_MOD_INIT): Add asserts for struct size.
4843 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4844 (grub_alloc_td): Likewise.
4845 (grub_free_queue): Likewise.
4846 (grub_uhci_transfer): Likewise.
4847 (grub_uhci_transaction): Fix bad format specification.
4848 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4849 (grub_usb_bulk_readwrite): Likewise.
4850 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4851 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4852 Made static.
4853 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4854 Made static.
4855 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4856 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4857 Transformed into C.
4858 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4859 Moved from here ...
4860 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4861 ... here. Transformed into C. Made static.
4862 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4863 Moved from here ...
4864 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4865 ... here. Transformed into C. Made static.
4866 * grub-core/kern/i386/pc/startup.S
4867 (grub_biosdisk_check_int13_extensions): Moved from here ...
4868 * grub-core/disk/i386/pc/biosdisk.c
4869 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4870 Made static.
4871 * grub-core/kern/i386/pc/startup.S
4872 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4873 * grub-core/disk/i386/pc/biosdisk.c
4874 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4875 Transformed into C. Made static.
4876 * grub-core/kern/i386/pc/startup.S
4877 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4878 * grub-core/disk/i386/pc/biosdisk.c
4879 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4880 Transformed into C. Made static.
4881 * grub-core/kern/i386/pc/startup.S
4882 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4883 * grub-core/disk/i386/pc/biosdisk.c
4884 (grub_biosdisk_get_diskinfo_standard): ... here.
4885 Transformed into C. Made static.
4886 * grub-core/kern/i386/pc/startup.S
4887 (grub_biosdisk_get_num_floppies): Moved from here ...
4888 * grub-core/disk/i386/pc/biosdisk.c
4889 (grub_biosdisk_get_num_floppies): ... here.
4890 Transformed into C. Made static.
4891 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4892 New function.
4893 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4894 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4895 Transformed into C. Made static.
4896 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4897 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4898 Transformed into C. Made static.
4899 * grub-core/kern/i386/ieee1275/init.c: Removed.
4900 * grub-core/kern/i386/misc.S: Likewise.
4901 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4902 Splitted from here ...
4903 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4904 Transformed into C. Made static. All users updated.
4905 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4906 Transformed into C. Made static. All users updated.
4907 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4908 Moved from here...
4909 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4910 Transformed into C. Made static. All users updated.
4911 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4912 Moved from here...
4913 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4914 Transformed into C. Made static. All users updated.
4915 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4916 Removed (replaced by C version).
4917 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4918 Moved from here...
4919 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4920 Transformed into C. Made static.
4921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4922 Moved from here...
4923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4924 ... here. Transformed into C.
4925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4926 Moved from here...
4927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4928 ... here. Transformed into C.
4929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4930 Moved from here...
4931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4932 ... here. Transformed into C. Made static.
4933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4934 Moved from here...
4935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4936 ... here. Transformed into C.
4937 * grub-core/kern/i386/pc/startup.S
4938 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4939 * grub-core/video/i386/pc/vbe.c
4940 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4942 Moved from here...
4943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4944 ... here. Transformed into C.
4945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4946 Moved from here...
4947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4948 ... here. Transformed into C.
4949 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4950 Moved from here...
4951 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4952 ... here. Transformed into C.
4953 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4954 Moved from here...
4955 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4956 ... here. Transformed into C.
4957 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4958 Moved from here...
4959 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4960 ... here. Transformed into C. Made static.
4961 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4962 Moved from here...
4963 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4964 ... here. Transformed into C. Made static.
4965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4966 Moved from here...
4967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4968 ... here. Transformed into C. Made static.
4969 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4970 pxe_rm_entry as third argument.
4971 (grub_bios_interrupt): New function.
4972 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4973 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4974 of calling grub_stop.
4975 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4976 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4977 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4978 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4979 * grub-core/lib/i386/halt.c: Moved from here ...
4980 * grub-core/lib/i386/halt.c: ... here.
4981 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4982 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4983 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4984 grub_stop_floppy.
4985 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4986 * include/grub/i386/coreboot/init.h: Removed.
4987 * include/grub/i386/multiboot/init.h: Likewise.
4988 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4989 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4990 * include/grub/i386/pc/int.h: New file.
4991 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4992 (grub_pxe_scan): Removed.
4993 (grub_pxe_call): Update prototype.
4994 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4995 prototypes.
4996 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4997 * include/grub/i386/qemu/init.h: Removed.
4998 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4999 noreturn.
5000 (grub_halt): Likewise.
5001 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
5002 (grub_reboot): Likewise.
5003 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
5004 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
5005 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
5006
5007 2010-08-30 Robert Millan <rmh@gnu.org>
5008
5009 * NEWS: Document addition of ZFS support in `grub-install' and
5010 `grub-mkconfig'.
5011
5012 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
5013
5014 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
5015 dprintf output.
5016
5017 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Remove leftover embedding of font objects.
5020
5021 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5022 * util/grub-install.in (font): Removed.
5023 * util/grub-mkimage.c (generate_image): Remove font support. All users
5024 updated.
5025
5026 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Remove leftover embedding of font objects.
5029
5030 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5031 * util/grub-install.in (font): Removed.
5032 * util/grub-mkimage.c (generate_image): Remove font support. All users
5033 updated.
5034
5035 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * docs/grub.texi (Network): Fix reference to pxe_blksize.
5038 Reported by: Ian Turner
5039
5040 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
5043 timeout to avoid indefinite boot stalling.
5044
5045 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
5048 (grub_env_write_color_highlight): Likewise.
5049
5050 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/normal/term.c (print_more): Return to normal and not
5053 to standard state after printing "---MORE---".
5054
5055 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
5058 Mask out the bit 0x80 since it has other meaning that specifiing color.
5059
5060 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 New relocator. Allows for more kernel support and more straightforward
5063 loader writing.
5064
5065 * Makefile.am (BOOTTARGET): New variable.
5066 (QEMU32): Likewise.
5067 (linux.init.x86_64): New target.
5068 (linux.init.i386): Likewise.
5069 (multiboot.elf): Likewise.
5070 (kfreebsd.elf): Likewise.
5071 (kfreebsd.aout): Likewise.
5072 (pc-chainloader.elf): Likewise.
5073 (pc-chainloader.bin): Likewise.
5074 (ntldr.elf): Likewise.
5075 (ntldr.bin): Likewise.
5076 (multiboot2.elf): Likewise.
5077 (kfreebsd.init.x86_64): Likewise.
5078 (kfreebsd.init.i386): Likewise.
5079 (knetbsd.init.i386): Likewise.
5080 (kopenbsd.init.i386): Likewise.
5081 (knetbsd.init.x86_64): Likewise.
5082 (kopenbsd.init.x86_64): Likewise.
5083 (linux-initramfs.i386): Likewise.
5084 (linux-initramfs.x86_64): Likewise.
5085 (kfreebsd-mfsroot.i386.img): Likewise.
5086 (knetbsd.image.i386): Likewise.
5087 (kopenbsd.image.i386): Likewise.
5088 (kopenbsd.image.x86_64): Likewise.
5089 (knetbsd.miniroot-image.i386.img): Likewise.
5090 (kfreebsd-mfsroot.x86_64.img): Likewise.
5091 (knetbsd.image.x86_64): Likewise.
5092 (knetbsd.miniroot-image.x86_64.img): Likewise.
5093 (kfreebsd-mfsroot.i386.gz): Likewise.
5094 (bootcheck-kfreebsd-i386): Likewise.
5095 (kfreebsd-mfsroot.x86_64.gz): Likewise.
5096 (bootcheck-kfreebsd-x86_64): Likewise.
5097 (knetbsd.miniroot-image.i386.gz): Likewise.
5098 (bootcheck-knetbsd-i386): Likewise.
5099 (bootcheck-kopenbsd-i386): Likewise.
5100 (bootcheck-kopenbsd-x86_64): Likewise.
5101 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5102 (bootcheck-knetbsd-x86_64): Likewise.
5103 (bootcheck-linux-i386): Likewise.
5104 (bootcheck-linux-x86_64): Likewise.
5105 (bootcheck-linux16-i386): Likewise.
5106 (bootcheck-linux16-x86_64): Likewise.
5107 (bootcheck-multiboot): Likewise.
5108 (bootcheck-multiboot2): Likewise.
5109 (bootcheck-kfreebsd-aout): Likewise.
5110 (bootcheck-pc-chainloader): Likewise.
5111 (bootcheck-ntldr): Likewise.
5112 (CLEANFILES): Add new targets.
5113 (BOOTCHECKS): New variable.
5114 (.PHONY): Add bootchecks.
5115 (SUCCESSFUL_BOOT_STRING): New variable.
5116 (BOOTCHECK_TIMEOUT): Likewise.
5117 (bootcheck): New target
5118 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5119 * configure.ac: Correct efiemu excuse.
5120 * docs/grub.texi (Supported kernels): New chapter.
5121 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5122 include/grub/mm_private.h. Simplify inclusion of
5123 include/grub/boot.h, include/grub/loader.h
5124 and include/grub/msdos_partition.h
5125 (KERNEL_HEADER_FILES) [i386_coreboot]:
5126 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5127 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5128 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5129 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5130 include/grub/machine/loader.h.
5131 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5132 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5133 extra_dist.
5134 (pci.mod): Enable on i386-multiboot.
5135 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5136 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5137 i386-qemu.
5138 (relocator.mod): Rewritten.
5139 (aout.mod): Enable on all x86.
5140 (bsd.mod): Likewise.
5141 (ntldr.mod): New module.
5142 (linux.mod): Use loader/i386/linux.c on all x86.
5143 (xnu.mod): Enable on all x86.
5144 (vga_text.mod): disable on EFI and QEMU.
5145 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5146 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5147 * grub-core/efiemu/loadcore.c: Likewise.
5148 * grub-core/efiemu/main.c: Likewise.
5149 (grub_efiemu_exit_boot_services): Removed.
5150 (grub_efiemu_finish_boot_services): Likewise.
5151 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5152 function.
5153 * grub-core/efiemu/i386/nocfgtables.c: New file.
5154 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5155 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5156 (grub_efi_finish_boot_services): Moved from here ...
5157 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5158 Fille finish memory map and related data.
5159 (finish_mmap_buf): New variable.
5160 (grub_efi_uintn_t finish_mmap_size): Likewise.
5161 (grub_efi_uintn_t finish_key): Likewise.
5162 (grub_efi_uintn_t finish_desc_size): Likewise.
5163 (grub_efi_uint32_t finish_desc_version): Likewise.
5164 (grub_efi_is_finished): Likewise.
5165 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5166 finished.
5167 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5168 (grub_elf64_phdr_iterate): Likewise.
5169 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5170 (grub_os_area_size): Likewise.
5171 (grub_machine_init): Don't reserve os area.
5172 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5173 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5174 * grub-core/kern/i386/loader.S: Removed.
5175 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5176 (grub_os_area_size): Likewise.
5177 (grub_machine_init): Don't reserve os area.
5178 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5179 Don't call grub_dl_unload_all.
5180 Don't include loader.S.
5181 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5182 Declare the memory after _end as available.
5183 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
5184 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
5185 (GRUB_MM_ALLOC_MAGIC): Moved from here...
5186 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5187 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5188 * include/grub/mm_private.h (grub_mm_header): ... here.
5189 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5190 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
5191 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5192 (grub_mm_region): ..here. Removed addr. Added pre_size.
5193 All users updated.
5194 * grub-core/kern/mm.c (base): Renamed to ...
5195 (grub_mm_base): ... this. Made global.
5196 (grub_real_malloc): Alloc from end of region.
5197 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5198 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5199 * grub-core/kern/powerpc/cache_flush.S: ... here.
5200 * grub-core/lib/efi/relocator.c: New file.
5201 * grub-core/lib/i386/relocator.c: Rewritten.
5202 * grub-core/lib/i386/relocator16.S: New file.
5203 * grub-core/lib/i386/relocator32.S: Likewise.
5204 * grub-core/lib/i386/relocator64.S: Likewise.
5205 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5206 * grub-core/lib/i386/relocator_common.S: New file.
5207 * grub-core/lib/ieee1275/relocator.c: Likewise.
5208 * grub-core/lib/mips/relocator.c: Rewritten.
5209 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5210 stylistic adjustments.
5211 * grub-core/lib/powerpc/relocator.c: New file.
5212 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5213 * grub-core/lib/relocator.c: Rewritten.
5214 * grub-core/lib/x86_64/relocator_asm.S: New file.
5215 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5216 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5217 (bsd_tag): New struct.
5218 (tags): New variable.
5219 (tags_last): Likewise.
5220 (netbsd_module): New struct.
5221 (netbsd_mods): New variable.
5222 (netbsd_mods_last): Likewise.
5223 (openbsd_opts): New parameter "serial".
5224 (OPENBSD_SERIAL_ARG): New definition.
5225 (netbsd_opts): New parameter "serial".
5226 (NETBSD_SERIAL_ARG): New definition.
5227 (grub_freebsd_add_meta): Reorganised into ...
5228 (grub_bsd_add_meta): ...this. All users updated.
5229 (grub_freebsd_add_mmap): Reorganised into ...
5230 (generate_e820_mmap): ...this...
5231 (grub_bsd_add_mmap): ...and this. All users updated.
5232 (grub_freebsd_list_modules): Use tags.
5233 (grub_netbsd_add_meta_module): New function.
5234 (grub_netbsd_list_modules): Likewise.
5235 (grub_freebsd_boot): Use relocator and finish EFI.
5236 (grub_openbsd_boot): Likewise.
5237 (grub_netbsd_setup_video): New function.
5238 (grub_netbsd_add_modules): Likewise.
5239 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5240 and finish EFI.
5241 (grub_bsd_unload): Unload tags.
5242 (grub_bsd_load_aout): Use relocator.
5243 (grub_bsd_elf32_size_hook): New function.
5244 (grub_bsd_elf32_hook): Use relocator.
5245 (grub_bsd_elf64_size_hook): New function.
5246 (grub_bsd_elf64_hook): Use relocator.
5247 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5248 (grub_bsd_load): Zero-out openbsd_ramdisk.
5249 (grub_bsd_load): Use relocator.
5250 (grub_cmd_openbsd): Support serial.
5251 (grub_cmd_netbsd): Support modules.
5252 (grub_cmd_freebsd_module): Use relocator.
5253 (grub_netbsd_module_load): New function.
5254 (grub_cmd_netbsd_module): Likewise.
5255 (grub_cmd_openbsd_ramdisk): Likewise.
5256 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5257 kopenbsd_ramdisk.
5258 (GRUB_MOD_FINI): Unregister new commands.
5259 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5260 (grub_freebsd_load_elfmodule_obj): Use relocator.
5261 (grub_freebsd_load_elfmodule): Likewise.
5262 (grub_freebsd_load_elf_meta): Likewise.
5263 (grub_netbsd_load_elf_meta): New function.
5264 (grub_openbsd_find_ramdisk): Likewise.
5265 * grub-core/loader/i386/bsd_helper.S: Removed.
5266 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5267 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5268 * grub-core/loader/i386/efi/linux.c: Likewise.
5269 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5270 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5271 (DEFAULT_VIDEO_MODE): Likewise.
5272 (real_mode_target): New variable.
5273 (prot_mode_target): Likewise.
5274 (initrd_mem_target): Likewise.
5275 (relocator): Likewise.
5276 (efi_mmap_buf): Likewise.
5277 (efi_mmap_size): Likewise.
5278 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5279 (free_pages): Use relocator.
5280 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5281 (grub_linux_setup_video): Return error.
5282 (grub_linux_trampoline_start): Removed.
5283 (grub_linux_trampoline_end): Likewise.
5284 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5285 andd video parameters depending on firmware.
5286 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5287 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5288 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5289 (grub_cmd_initrd): Use relocator.
5290 * grub-core/loader/i386/linux_trampoline.S: Removed.
5291 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5292 (elf_sec_entsize): Likewise.
5293 (elf_sec_shstrndx): Likewise.
5294 (elf_sections): Likewise.
5295 (grub_multiboot_load): Use relocator.
5296 (grub_multiboot_get_mbi_size): Account for sections.
5297 (grub_multiboot_make_mbi): Use relocator and support sections.
5298 (grub_multiboot_add_elfsyms): New function.
5299 (grub_multiboot_free_mbi): Free sections.
5300 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5301 (grub_linux_real_target): Likewise.
5302 (grub_linux_real_chunk): Likewise.
5303 (grub_linux16_prot_size): Likewise.
5304 (grub_linux16_boot): Use relocator.
5305 (grub_linux_unload): Unload relocator.
5306 (grub_cmd_linux): Use relocator.
5307 (grub_cmd_initrd): Likewise.
5308 * grub-core/loader/i386/pc/ntldr.c: New file.
5309 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5310 Don't try to guess CPU frequency.
5311 (grub_xnu_set_video): Stretch bitmap.
5312 (grub_xnu_boot): Use relocator.
5313 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5314 (grub_linux_unload): Free relocator.
5315 (grub_linux_load32): Use relocator.
5316 (grub_linux_load64): Likewise.
5317 (grub_cmd_initrd): Likewise.
5318 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5319 (grub_multiboot_unload): Unload relocator.
5320 (grub_cmd_multiboot): Use relocator.
5321 (grub_cmd_module): Likewise.
5322 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5323 Use relocator and support sections.
5324 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5325 (elf_sec_entsize): Likewise.
5326 (elf_sec_shstrndx): Likewise.
5327 (elf_sections): Likewise.
5328 (grub_multiboot_load): Use relocator.
5329 (grub_multiboot_get_mbi_size): Account for sections.
5330 (grub_multiboot_make_mbi): Use relocator and support sections.
5331 (grub_multiboot_add_elfsyms): New function.
5332 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5333 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5334 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5335 Prototype changed. All users updated.
5336 (grub_xnu_align_heap): Simplified.
5337 (grub_xnu_writetree_toheap): Likewise.
5338 (grub_xnu_unload): Unload relocator.
5339 (grub_cmd_xnu_kernel): Use relocator.
5340 (grub_cmd_xnu_kernel64): Likewise.
5341 (grub_xnu_register_memory): Simplified.
5342 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5343 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5344 EFI is finished.
5345 (grub_console_checkkey): Likewise.
5346 (grub_console_getkey): Likewise.
5347 (grub_console_getwh): Likewise.
5348 (grub_console_getxy): Likewise.
5349 (grub_console_gotoxy): Likewise.
5350 (grub_console_cls): Likewise.
5351 (grub_console_setcolorstate): Likewise.
5352 (grub_console_setcursor): Likewise.
5353 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5354 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5355 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5356 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5357 * grub-core/tests/boot/kernel-8086.S: Likewise.
5358 * grub-core/tests/boot/kernel-i386.S: Likewise.
5359 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5360 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5361 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5362 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5363 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5364 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5365 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5366 * grub-core/tests/boot/linux.cfg: Likewise.
5367 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5368 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5369 * grub-core/tests/boot/linux16.cfg: Likewise.
5370 * grub-core/tests/boot/multiboot.cfg: Likewise.
5371 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5372 * grub-core/tests/boot/ntldr.cfg: Likewise.
5373 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5374 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5375 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5376 New definition.
5377 * include/grub/dl.h (grub_dl_unload_all): Removed.
5378 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5379 (grub_efi_finish_boot_services): Change prototype.
5380 (grub_efi_is_finished): New variable.
5381 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5382 Changed prototype.
5383 (grub_efiemu_finish_boot_services): Removed.
5384 (grub_machine_efiemu_init_tables): New prototype.
5385 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5386 (grub_elf64_phdr_iterate): Likewise.
5387 * include/grub/i386/bsd.h: Include relocator.h.
5388 (freebsd_tag_header): New struct.
5389 (grub_openbsd_bios_mmap): Removed.
5390 (grub_unix_real_boot): Removed.
5391 (grub_freebsd_load_elfmodule32): Changed prototype.
5392 (grub_freebsd_load_elfmodule_obj64): Likewise.
5393 (grub_freebsd_load_elf_meta32): Likewise.
5394 (grub_freebsd_load_elf_meta64): Likewise.
5395 (grub_freebsd_add_meta): Removed.
5396 (grub_netbsd_load_elf_meta32): New prototype.
5397 (grub_netbsd_load_elf_meta64): Likewise.
5398 (grub_bsd_add_meta): Likewise.
5399 (grub_openbsd_ramdisk_descriptor): New struct.
5400 (grub_openbsd_find_ramdisk32): New prototype.
5401 (grub_openbsd_find_ramdisk64): Likewise.
5402 * include/grub/i386/coreboot/loader.h: Removed.
5403 * include/grub/i386/efi/loader.h: Likewise.
5404 * include/grub/i386/ieee1275/loader.h: Likewise.
5405 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5406 to grub_uint32_t.
5407 * include/grub/i386/loader.h: Removed.
5408 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5409 value.
5410 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5411 (grub_phys_addr_t): New type.
5412 (grub_vtop): New inline function.
5413 (grub_map_memory): Likewise.
5414 (grub_unmap_memory): Likewise.
5415 * include/grub/i386/multiboot/loader.h: Removed.
5416 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5417 (NETBSD_BTINFO_CONSOLE): New definition.
5418 (NETBSD_BTINFO_SYMTAB): Likewise.
5419 (NETBSD_BTINFO_MODULES): Likewise.
5420 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5421 (grub_netbsd_bootinfo): New struct.
5422 (grub_netbsd_btinfo_common): Use explicit bitsize.
5423 (grub_netbsd_btinfo_mmap_entry): Removed.
5424 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5425 (grub_netbsd_btinfo_bootdisk): New struct.
5426 (grub_netbsd_btinfo_symtab): Likewise.
5427 (grub_netbsd_btinfo_serial): Likewise.
5428 (grub_netbsd_btinfo_modules): Likewise.
5429 (grub_netbsd_btinfo_framebuf): Likewise.
5430 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5431 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5432 Likewise.
5433 (grub_openbsd_bootargs): Use explicit bitsize.
5434 (grub_openbsd_bootarg_console): New struct.
5435 (GRUB_OPENBSD_COM_MAJOR): New definition.
5436 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5437 * include/grub/i386/pc/efiemu.h: Removed.
5438 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5439 * include/grub/i386/qemu/loader.h: Removed.
5440 * include/grub/i386/relocator.h: Rewritten.
5441 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5442 * include/grub/mips/memory.h: New file.
5443 * include/grub/mips/multiboot.h: Rewritten.
5444 * include/grub/mips/relocator.h: Rewritten.
5445 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5446 (grub_vtop): New function.
5447 (grub_map_memory): Likewise.
5448 (grub_unmap_memory): Likewise.
5449 * include/grub/misc.h (ALIGN_DOWN): New definition.
5450 * include/grub/mm.h (grub_mm_check_real): New proto.
5451 (GRUB_MM_CHECK): New definition.
5452 * include/grub/mm_private.h: New file.
5453 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5454 (grub_multiboot_get_mbi_size): Removed.
5455 (grub_multiboot_make_mbi): Change prottype.
5456 (grub_multiboot_set_accepts_video): New proto.
5457 (grub_multiboot_add_elfsyms): Likewise.
5458 (grub_multiboot_payload_eip): New variable.
5459 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5460 New prototype.
5461 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5462 New definition.
5463 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5464 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5465 * include/grub/powerpc/ieee1275/loader.h: Removed.
5466 * include/grub/powerpc/memory.h: New file.
5467 * include/grub/powerpc/relocator.h: Likewise.
5468 * include/grub/relocator.h: Likewise.
5469 * include/grub/relocator_private.h: Likewise.
5470 * include/grub/sparc64/ieee1275/loader.h: Removed.
5471 * include/grub/x86_64/memory.h: New file.
5472 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5473 (grub_xnu_heap_malloc): Likewise.
5474 (grub_xnu_heap_real_start): Removed.
5475 (grub_xnu_heap_start): Likewise.
5476 (grub_xnu_relocator): New variable.
5477 (grub_xnu_heap_target_start): Likewise.
5478 * tests/util/grub-shell.in: Support non-pc.
5479 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5480
5481 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5484 on malloc error.
5485 (grub_bidi_logical_to_visual): Check that malloc succeded.
5486 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5487 puts.
5488 (grub_xputs_normal): Likewise.
5489
5490 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5493 extra_dist.
5494
5495 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5498
5499 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5502
5503 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5506 dprintf.
5507
5508 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5509
5510 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5511
5512 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/normal/term.c (print_more): Fix a memory leak.
5515 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5516 (grub_xputs_normal): Likewise.
5517
5518 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5521 the begining of the string
5522
5523 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/script/script.c (grub_script_parse): Free parsed on
5526 failure.
5527
5528 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5531 on failure.
5532
5533 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5536 return.
5537
5538 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5541 (scroll_up): Fix a memory leak.
5542
5543 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5546 errors.
5547
5548 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 Handle USB pendrives exposed as floppies.
5551
5552 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5553 floppy.
5554 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5555 Check for partitions on all devices.
5556
5557 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5560 (readkey): Likewise.
5561
5562 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5563
5564 Multiple variable names support to "export" command.
5565
5566 * normal/context.c (grub_cmd_export): "export" command supports
5567 multiple variable names.
5568
5569 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5570
5571 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5572 --target=drive output to Mach device name.
5573
5574 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5575
5576 New Automake based build system for GRUB.
5577
5578 * ABOUT-NLS: New file.
5579 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5580 in Makefile.util.def file.
5581 * Makefile.util.def: New file. Autogen build definitions file for
5582 GRUB host utils.
5583 * conf/Makefile.common: New file. Common variables for GRUB host
5584 utils and target modules.
5585 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5586 * docs/Makefile.am: New file. Automake file for docs.
5587 * gentpl.py: New file. Python script to generate Autogen
5588 template.
5589 * grub-core/Makefile.am: New file. GRUB target modules' rules
5590 that doesn't fit in Makefile.core.def file.
5591 * grub-core/Makefile.core.def: New file. Autogen build
5592 definitions file for GRUB target modules.
5593 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5594 specific setjmp.S file.
5595 * po/Makefile.am: New file.
5596
5597 * .bzrignore: New ignores.
5598 * INSTALL: New requirements, without Ruby.
5599 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5600 * autogen.sh: Updated to invoke autogen as necessary.
5601 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5602 and defines for Automake conditionals.
5603 * geninit.sh: Refactoring.
5604
5605 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5606 necessary.
5607 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5608 New prototype.
5609
5610 * include/grub/test.h: Fix functional test modules' naming.
5611 * grub-core/tests/example_functional_test.c: Fix test module name.
5612
5613 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5614 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5615 * util/grub-editenv.c: Likewise.
5616 * util/grub-fstest.c: Likewise.
5617 * util/grub-mkdevicemap.c: Likewise.
5618 * util/grub-mkfont.c: Likewise.
5619 * util/grub-mkimage.c: Likewise.
5620 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5621 * util/grub-probe.c: Likewise.
5622 * util/grub-script-check.c: Likewise.
5623 * util/i386/pc/grub-setup.c: Likewise.
5624 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5625
5626 * tests/util/grub-shell.in: Fix override directory path.
5627 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5628 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5629
5630 * util/lvm.c: Update #includes.
5631 * util/raid.c: Likewise.
5632 * util/resolve.c: Likewise.
5633 * grub-core/bus/emu/pci.c: Likewise.
5634 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5635 * grub-core/lib/posix_wrap/string.h: Likewise.
5636 * grub-core/kern/emu/main.c: Likewise.
5637
5638 * grub-core/gensymlist.sh: New file. Script for generating kernel
5639 symbols file.
5640 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5641
5642 * grub-core/gentrigtables.c: Fix unused variable warnings.
5643
5644 * Makefile.in: Removed.
5645 * conf/any-emu.rmk: Removed.
5646 * conf/common.rmk: Removed.
5647 * conf/i386-coreboot.rmk: Removed.
5648 * conf/i386-efi.rmk: Removed.
5649 * conf/i386-ieee1275.rmk: Removed.
5650 * conf/i386-multiboot.rmk: Removed.
5651 * conf/i386-pc.rmk: Removed.
5652 * conf/i386-qemu.rmk: Removed.
5653 * conf/i386.rmk: Removed.
5654 * conf/mips-yeeloong.rmk: Removed.
5655 * conf/mips.rmk: Removed.
5656 * conf/powerpc-ieee1275.rmk: Removed.
5657 * conf/sparc64-ieee1275.rmk: Removed.
5658 * conf/tests.rmk: Removed.
5659 * conf/x86-efi.rmk: Removed.
5660 * conf/x86_64-efi.rmk: Removed.
5661 * gendistlist.sh: Removed.
5662 * geninitheader.sh: Removed.
5663 * genkernsyms.sh.in: Removed.
5664 * genmk.rb: Removed.
5665 * gensymlist.sh.in: Removed.
5666 * mkinstalldirs: Removed.
5667 * boot: Moved ...
5668 * grub-core/boot: ... to here.
5669 * bus: Moved ...
5670 * grub-core/bus: ... to here.
5671 * commands: Moved ...
5672 * grub-core/commands: ... to here.
5673 * disk: Moved ...
5674 * grub-core/disk: ... to here.
5675 * efiemu: Moved ...
5676 * grub-core/efiemu: ... to here.
5677 * font: Moved ...
5678 * grub-core/font: ... to here.
5679 * fs: Moved ...
5680 * grub-core/fs: ... to here.
5681 * gencmdlist.sh: Moved ...
5682 * grub-core/gencmdlist.sh: ... to here.
5683 * genemuinit.sh: Moved ...
5684 * grub-core/genemuinit.sh: ... to here.
5685 * genemuinitheader.sh: Moved ...
5686 * grub-core/genemuinitheader.sh: ... to here.
5687 * genfslist.sh: Moved ...
5688 * grub-core/genfslist.sh: ... to here.
5689 * genhandlerlist.sh: Moved ...
5690 * grub-core/genhandlerlist.sh: ... to here.
5691 * genmoddep.awk: Moved ...
5692 * grub-core/genmoddep.awk: ... to here.
5693 * genmodsrc.sh: Moved ...
5694 * grub-core/genmodsrc.sh: ... to here.
5695 * genpartmaplist.sh: Moved ...
5696 * grub-core/genpartmaplist.sh: ... to here.
5697 * genparttoollist.sh: Moved ...
5698 * grub-core/genparttoollist.sh: ... to here.
5699 * genterminallist.sh: Moved ...
5700 * grub-core/genterminallist.sh: ... to here.
5701 * gentrigtables.c: Moved ...
5702 * grub-core/gentrigtables.c: ... to here.
5703 * genvideolist.sh: Moved ...
5704 * grub-core/genvideolist.sh: ... to here.
5705 * gettext: Moved ...
5706 * grub-core/gettext: ... to here.
5707 * gfxmenu: Moved ...
5708 * grub-core/gfxmenu: ... to here.
5709 * gnulib: Moved ...
5710 * grub-core/gnulib: ... to here.
5711 * hello: Moved ...
5712 * grub-core/hello: ... to here.
5713 * hook: Moved ...
5714 * grub-core/hook: ... to here.
5715 * io: Moved ...
5716 * grub-core/io: ... to here.
5717 * kern: Moved ...
5718 * grub-core/kern: ... to here.
5719 * lib: Moved ...
5720 * grub-core/lib: ... to here.
5721 * loader: Moved ...
5722 * grub-core/loader: ... to here.
5723 * mmap: Moved ...
5724 * grub-core/mmap: ... to here.
5725 * normal: Moved ...
5726 * grub-core/normal: ... to here.
5727 * partmap: Moved ...
5728 * grub-core/partmap: ... to here.
5729 * parttool: Moved ...
5730 * grub-core/parttool: ... to here.
5731 * script: Moved ...
5732 * grub-core/script: ... to here.
5733 * term: Moved ...
5734 * grub-core/term: ... to here
5735 * tests/example_functional_test.c: Moved ...
5736 * grub-core/tests/example_functional_test.c: ... to here.
5737 * tests/lib/functional_test.c: Moved ...
5738 * grub-core/tests/lib/functional_test.c: ... to here.
5739 * tests/lib/test.c: Moved ...
5740 * grub-core/tests/lib/test.c: ... to here.
5741 * video: Moved ...
5742 * grub-core/video: ... to here.
5743
5744 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5745
5746 Replace --enable-grub-emu-modules with grub-emu-lite.
5747
5748 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5749 cache.S.
5750
5751 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5752 * kern/emu/full.c: New file. For grub-emu specific initialization.
5753 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5754 * kern/emu/main.c: Call initialization function grub_emu_init.
5755
5756 * Makefile.in: Include grub-emu-lite in install.
5757 * commands/parttool.c: Use grub_no_autoload to differentiate
5758 between grub-emu and grub-emu-lite.
5759 * include/grub/misc.h: New variable grub_no_autoload.
5760
5761 * conf/any-emu.rmk: New rules for grub-emu-lite.
5762 * configure.ac: Remove --enable-grub-emu-modules.
5763 * genmk.rb: Cleanup unnecessary rules.
5764 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5765
5766 * normal/main.c: Don't load list files on grub-emu-lite.
5767 * util/misc.c (grub_arch_sync_caches): Removed.
5768
5769 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5772 grub-mkimage rather than grub-mkelfimage.
5773 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5774
5775 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5778 a key after CapsLock or NumLock. It's just a qemu bug.
5779
5780 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5783 needed by libusb wrapper.
5784
5785 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5786
5787 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5788
5789 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5792 --nounzip is passed.
5793
5794 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 USB hotunplugging and USB serial support.
5797
5798 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5799 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5800 (grub_uhci_transfer): Respect timeout and set *actual.
5801 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5802 non-standard length.
5803 (grub_usb_device_attach): Autoload modules.
5804 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5805 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5806 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5807 users updated.
5808 (grub_usb_add_hub): Fill nports and children.
5809 (attach_root_port): Receive hub instead of controller.
5810 All users updated. Fill hub->devices.
5811 (grub_usb_root_hub): Allocate hub->devices.
5812 (detach_device): New function.
5813 (poll_nonroot_hub): Fill children and detach devices.
5814 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5815 actual arguments. All users updated.
5816 (grub_usb_bulk_read_extended): New function.
5817 * bus/usb/serial/common.c: New file.
5818 * bus/usb/serial/ftdi.c: Likewise.
5819 * bus/usb/serial/pl2303.c: Likewise.
5820 * commands/terminal.c (handle_command): Support wildcard.
5821 * commands/usbtest.c: Output "Unknown" instead of empty string.
5822 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5823 (usbserial_common_mod_SOURCES): New variable.
5824 (usbserial_common_mod_CFLAGS): Likewise.
5825 (usbserial_common_mod_LDFLAGS): Likewise.
5826 (pkglib_MODULES): Add usbserial_pl2303.mod.
5827 (usbserial_pl2303_mod_SOURCES): New variable.
5828 (usbserial_pl2303_mod_CFLAGS): Likewise.
5829 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5830 (pkglib_MODULES): Add usbserial_ftdi.mod.
5831 (usbserial_ftdi_mod_SOURCES): New variable.
5832 (usbserial_ftdi_mod_CFLAGS): Likewise.
5833 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5834 (pkglib_MODULES): Add serial.mod.
5835 (serial_mod_SOURCES): New variable.
5836 (serial_mod_CFLAGS): Likewise.
5837 (serial_mod_LDFLAGS): Likewise.
5838 * conf/i386-pc.rmk: Likewise.
5839 * conf/mips-yeeloong.rmk: Likewise.
5840 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5841 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5842 * disk/usbms.c (first_available_slot): New variable.
5843 (grub_usbms_attach): Don't reuse free slots due to potential cache
5844 problems.
5845 * include/grub/serial.h: Moved to ..
5846 * include/grub/ns8250.h: ...this.
5847 * include/grub/serial.h: New file.
5848 * include/grub/term.h (grub_term_poll_usb): New variable.
5849 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5850 readkey. All users updated.
5851 (grub_terminfo_output_state): Pass term to put.
5852 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5853 (grub_usb_controller_dev): Add timeout and actual arguments to
5854 transfer. All users updated.
5855 (grub_usb_interface): New field detach_data.
5856 (grub_usb_device): New fields children and nports.
5857 (grub_usb_ep_type_t): New type.
5858 (grub_usb_get_ep_type): New function.
5859 (grub_usb_bulk_read_extended): Likewise.
5860 * include/grub/usbdesc.h (grub_usb_desc): New type.
5861 * include/grub/usbserial.h: New file.
5862 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5863 * kern/term.c (grub_term_poll_usb): New variable.
5864 (grub_getkey): Call grub_term_poll_usb if set.
5865 (grub_checkkey): Likewise.
5866 (grub_getkeystatus): Likewise.
5867 * term/serial.c: Moved controller-specific parts to ...
5868 * term/ns8250.c: ... here.
5869 * term/serial.c: Mostly rewritten.
5870 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5871 according to spec.
5872
5873 2010-08-20 Robert Millan <rmh@gnu.org>
5874
5875 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5876 a separate module and maybe other interesting combinations.
5877
5878 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5879 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5880 (kfreebsd_entry): Add generic filesystem module load routine.
5881 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5882
5883 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5884
5885 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5886 "numcenter" (I misunderstood the purpose of this entry).
5887 * docs/grub.texi (sendkey): Likewise.
5888
5889 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5890
5891 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5892 status flag options; simply omitting the option is equivalent and
5893 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5894 (keysym_table): Rename "num5numlock" to "numlock".
5895 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5896 can uniformly say that only the last of multiple `sendkey'
5897 invocations has any effect.
5898 * docs/grub.texi (sendkey): New section.
5899
5900 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5901
5902 * commands/i386/pc/sendkey.c (options): Fix three typos.
5903
5904 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Implement sendkey support.
5907
5908 * commands/i386/pc/sendkey.c: New file.
5909 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5910 (sendkey_mod_SOURCES): New variable.
5911 (sendkey_mod_CFLAGS): Likewise.
5912 (sendkey_mod_LDFLAGS): Likewise.
5913
5914 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5915
5916 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5917 fix warnings from Autoconf.
5918
5919 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5920
5921 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5922 to avoid false positives with some assemblers that output things
5923 like "someprefix_func" as part of their output.
5924
5925 2010-08-15 Robert Millan <rmh@gnu.org>
5926
5927 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5928 errors.
5929 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5930 grub_get_libzfs_handle() errors.
5931
5932 2010-08-14 Robert Millan <rmh@gnu.org>
5933
5934 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5935 filesystem is not ZFS.
5936
5937 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5938
5939 Fix for misspelled color names defaulting to black/black (bug
5940 reported by Doug Nazar)
5941
5942 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5943 status to prototype.
5944 * normal/color.c (grub_parse_color_name_pair): Return failure
5945 status.
5946 (grub_env_write_color_normal): Ignore bad color names.
5947 (grub_env_write_color_highlight): Likewise.
5948 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5949
5950 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5951
5952 "shift" command support to GRUB script.
5953
5954 * include/grub/script_sh.h (grub_script_shift): New prototype.
5955 * script/execute.c (grub_script_shift): New function.
5956 * script/main.c (grub_script_init): Register shift command.
5957 (grub_script_fini): Unregister shift command.
5958 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5959
5960 * tests/grub_script_shift.in: New testcase.
5961 * conf/tests.rmk: Rules for new testcase.
5962
5963 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5964
5965 "continue" command support to GRUB script.
5966
5967 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5968 (grub_script_break): Continue support.
5969 * script/main.c (grub_script_init): Register continue command.
5970 (grub_script_fini): Unregister continue command.
5971
5972 * tests/grub_script_continue.in: New testcase.
5973 * conf/tests.rmk: Rules for new testcase.
5974
5975 2010-08-12 BVK Chaitanya <bvk@dbook>
5976
5977 "break" command support to GRUB script.
5978
5979 * conf/common.rmk: Rule updates to grub-script-check.
5980 * include/grub/misc.h (grub_min): New function.
5981 * include/grub/script_sh.h (grub_script_init): New prototype.
5982 (grub_script_fini): New prototype.
5983 (grub_script_break): New prototype.
5984 * script/main.c (grub_script_init): New function.
5985 (grub_script_fini): New function.
5986 * script/execute.c (grub_script_break): New function.
5987 * normal/main.c: Calls to grub_script_{init,fini}.
5988 * util/grub-script-check.c (grub_script_break): New function.
5989
5990 * tests/grub_script_break.in: New testcase.
5991 * conf/tests.rmk: Rules for new test case.
5992
5993 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5994
5995 Function parameters support to GRUB script.
5996
5997 * script/yylex.l (VARIABLE): Regular expression update.
5998 * script/function.c (grub_script_function_call): Moved ...
5999 * script/execute.c (grub_script_function_call): ... to here.
6000 (grub_script_execute_arglist_to_argv): Removed.
6001 (grub_script_arglist_to_argv): New function.
6002 * script/argv.c: New file.
6003 (grub_script_argv_free): New function.
6004 (grub_script_argv_next): Likewise.
6005 (grub_script_argv_append): Likewise.
6006 (grub_script_argv_split_append): Likewise.
6007 * include/grub/script_sh.h (grub_script_argv): New struct.
6008 (grub_script_argv_free): New function.
6009 (grub_script_argv_next): Likewise.
6010 (grub_script_argv_append): Likewise.
6011 (grub_script_argv_split_append): Likewise.
6012
6013 * conf/common.rmk (normal.mod): New source script/argv.c.
6014
6015 * tests/grub_script_echo1.in: More tests.
6016 * tests/grub_script_vars1.in: Likewise.
6017 * tests/grub_script_functions.in: New test case.
6018 * conf/tests.rmk: Rules for new testcase.
6019
6020 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6021
6022 Remove grub_script_cmdblock struct.
6023
6024 * include/grub/script_sh.h: Remove grub_script_cmdblock.
6025 * script/parser.y: Likewise.
6026 * script/execute.c: Rename cmdblock suffix to cmdlist.
6027 * script/script.c: Likewise.
6028 * util/grub-script-check.c: Likewise.
6029
6030 2010-08-11 Yves Blusseau <blusseau@zetam.org>
6031
6032 * .bzrignore: add grub-macho2img
6033
6034 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
6037
6038 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Remove the dump of sm712 initialisation sequence.
6041
6042 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
6043 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
6044 (GRUB_VGA_IO_MISC_WRITE): Likewise.
6045 (GRUB_VGA_CR_*): Added many registers.
6046 (GRUB_VGA_SR_*): Likewise.
6047 (GRUB_VGA_GR_*): Likewise.
6048 (grub_vga_write_arx): New function.
6049 (grub_video_hw_config): New struct.
6050 (grub_vga_set_geometry): New function.
6051 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
6052 GRUB_PCI_CLASS_SUBCLASS_VGA.
6053 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
6054 * video/sm712.c (grub_sm712_write_reg): New function
6055 (grub_sm712_read_reg): Likewise.
6056 (grub_sm712_sr_write): Likewise.
6057 (grub_sm712_gr_write): Likewise.
6058 (grub_sm712_cr_write): Likewise.
6059 (grub_sm712_write_arx): Likewise.
6060 (grub_sm712_cr_shadow_write): Likewise.
6061 (grub_sm712_write_dda_lookup): Likewise.
6062 (grub_video_sm712_setup): Initialise the video rather then
6063 blindly replay the dump.
6064 (main) [TEST]: Add a routine to be able to compile as standalone for
6065 tests.
6066 * video/sm712_init.c (sm712_init): Removed.
6067 (sm712_sr_seq1): New array.
6068 (sm712_sr_seq2): Likewise.
6069
6070 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * include/grub/vga.h: Add missing grub/pci.h include.
6073
6074 2010-08-10 Yves Blusseau <blusseau@zetam.org>
6075
6076 * util/grub-macho2img.c (main): fix typo
6077
6078 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
6081 (grub_vga_gr_read): Likewise.
6082 (grub_vga_cr_write): Likewise.
6083 (grub_vga_cr_read): Likewise.
6084 (grub_vga_sr_write): Likewise.
6085 (grub_vga_sr_read): Likewise.
6086 (grub_vga_palette_read): Likewise.
6087 (grub_vga_palette_write): Likewise.
6088 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
6089 (grub_sm712_sr_read): New function.
6090 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
6091 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
6092
6093 2010-08-09 Robert Millan <rmh@gnu.org>
6094
6095 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
6096 out unused variables on non-ZFS build.
6097
6098 2010-08-08 Robert Millan <rmh@gnu.org>
6099
6100 Fix path generation for sub-filesystems in ZFS.
6101
6102 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6103 missing slash.
6104
6105 2010-08-08 Robert Millan <rmh@gnu.org>
6106
6107 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6108
6109 2010-08-08 Robert Millan <rmh@gnu.org>
6110
6111 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6112 exist, issue a proper error message (rely on `ls' for translated
6113 strings).
6114
6115 2010-08-08 Robert Millan <rmh@gnu.org>
6116
6117 Fix grub-probe invocation.
6118
6119 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6120
6121 2010-08-04 Robert Millan <rmh@gnu.org>
6122
6123 * configure.ac: Remove checks for getfsstat() and getmntany().
6124 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6125 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6126 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6127 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6128 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6129 function.
6130 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6131 via find_mount_point_from_dir() and getfsstat() / getmntany().
6132
6133 2010-08-04 Robert Millan <rmh@gnu.org>
6134
6135 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6136 (grub_find_zpool_from_mount_point): Merge into ...
6137 (grub_find_zpool_from_dir): ... this.
6138 * kern/emu/misc.c: Likewise.
6139
6140 * kern/emu/misc.c
6141 (grub_make_system_path_relative_to_its_root): Replace
6142 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6143 with grub_find_zpool_from_dir().
6144 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6145
6146 2010-08-04 Robert Millan <rmh@gnu.org>
6147
6148 Support OpenSolaris in ZFS device resolution.
6149
6150 * configure.ac: Check for getmntany().
6151 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6152 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6153 support.
6154
6155 2010-08-03 Robert Millan <rmh@gnu.org>
6156
6157 Fix grub-emu build.
6158
6159 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6160 * include/grub/emu/misc.h: ... here.
6161
6162 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6163 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6164
6165 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6166 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6167 (grub_get_libzfs_handle): Move to ...
6168 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6169 (grub_get_libzfs_handle): ... here.
6170
6171 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6172
6173 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6174 as command name case.
6175
6176 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * disk/raid.c (insert_array): Select unique numbers for named arrays
6179 as well, for use as keys in the disk cache.
6180
6181 2010-08-01 Robert Millan <rmh@gnu.org>
6182
6183 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6184 kFreeBSD device name, except on ZFS where the filesystem label is
6185 used.
6186 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6187 `/boot/zfs/zpool.cache'.
6188 Set mountfrom kernel variable using ${kfreebsd_device}.
6189
6190 2010-08-01 Robert Millan <rmh@gnu.org>
6191
6192 Make it even harder to use uninitialized `libzfs_handle' (and
6193 make the interface a bit simpler).
6194
6195 * include/grub/util/misc.h (grub_util_init_libzfs)
6196 (libzfs_handle): Remove.
6197 (grub_get_libzfs_handle): New prototype.
6198
6199 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6200 attribute.
6201 (grub_util_init_libzfs): Remove.
6202 (grub_get_libzfs_handle): New function.
6203
6204 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6205 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6206 accessing `libzfs_handle' directly.
6207
6208 2010-08-01 Robert Millan <rmh@gnu.org>
6209
6210 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6211 (grub_find_zpool_from_mount_point): New function prototypes.
6212
6213 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6214 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6215
6216 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6217 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6218 `static' attribute.
6219
6220 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6221 finding zpool from mount point into ...
6222 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6223
6224 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6225 requested path is part of a ZFS pool, use
6226 grub_find_zpool_from_mount_point() to detect its filesystem name,
6227 and generate a path with `/fsname@path' syntax.
6228
6229 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6232 (void) rather than () so that this is a proper prototype.
6233
6234 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6237
6238 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6241 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6242
6243 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6244
6245 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6246
6247 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6248
6249 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6250
6251 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6254 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6255 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6256 disable gfxpayload.
6257 (Shell-like scripting): Add real content.
6258 (Serial terminal): Suggest `terminal_input serial; terminal_output
6259 serial' rather than putting the two commands on separate lines,
6260 since console input will be inoperative after the first command.
6261 (menuentry): Document --class, --users, and --hotkey options.
6262 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6263 Vladimir Serbinenko).
6264
6265 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6266 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6267
6268 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6269
6270 2010-08-01 Robert Millan <rmh@gnu.org>
6271
6272 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6273 (grub_find_zpool_from_mount_point): New function prototypes.
6274
6275 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6276 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6277
6278 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6279 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6280 `static' attribute.
6281
6282 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6283 finding zpool from mount point into ...
6284 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6285
6286 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6287 requested path is part of a ZFS pool, use
6288 grub_find_zpool_from_mount_point() to detect its filesystem name,
6289 and generate a path with `/fsname@path' syntax.
6290
6291 2010-08-01 Robert Millan <rmh@gnu.org>
6292
6293 Prevent accidental use of uninitialized libzfs_handle.
6294
6295 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6296 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6297 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6298
6299 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6300
6301 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6302 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6303
6304 2010-08-01 Robert Millan <rmh@gnu.org>
6305
6306 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6307
6308 2010-07-31 Robert Millan <rmh@gnu.org>
6309
6310 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6311
6312 2010-07-31 Robert Millan <rmh@gnu.org>
6313
6314 * kern/emu/misc.c: Add missing license header.
6315
6316 2010-07-31 Robert Millan <rmh@gnu.org>
6317
6318 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6319
6320 * include/grub/util/libnvpair.h: Include `<config.h>'.
6321 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6322 declaring libnvpair prototypes ourselves.
6323 * include/grub/util/libzfs.h: Include `<config.h>'.
6324 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6325 declaring libzfs prototypes ourselves.
6326
6327 (libzfs_handle): Moved to ...
6328 * include/grub/util/misc.h (libzfs_handle): ... here.
6329 Include `<grub/util/libzfs.h>'.
6330
6331 2010-07-30 Robert Millan <rmh@gnu.org>
6332
6333 * include/grub/emu/misc.h: Add missing license header.
6334
6335 2010-07-30 Robert Millan <rmh@gnu.org>
6336
6337 Enable `grub-probe -t device' resolution on ZFS.
6338
6339 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6340 * include/grub/util/libnvpair.h: New file.
6341 * include/grub/util/libzfs.h: New file.
6342
6343 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6344 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6345 `<grub/util/libnvpair.h>'.
6346 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6347
6348 (find_mount_point_from_dir): New static function.
6349 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6350 function.
6351 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6352 find_root_device_from_libzfs() before ressorting to find_root_device().
6353
6354 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6355 prototype.
6356 * util/misc.c: Include `<grub/util/libzfs.h>'.
6357 (grub_util_init_libzfs): New function.
6358 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6359 [HAVE_LIBZFS] (fini_libzfs): New static function.
6360 (grub_util_init_libzfs): New function.
6361 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6362
6363 2010-07-30 Robert Millan <rmh@gnu.org>
6364
6365 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6366 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6367 `warn_unused_result' attribute.
6368 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6369 (grub_xasprintf, grub_xvasprintf): Likewise.
6370 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6371
6372 2010-07-29 Robert Millan <rmh@gnu.org>
6373
6374 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6375 (probe): Handle `PRINT_FS_LABEL'.
6376 (main): Handle `-t fs_label'.
6377
6378 2010-07-29 Robert Millan <rmh@gnu.org>
6379
6380 * configure.ac: Remove grub-mkisofs checks.
6381
6382 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6385 Reported by: Lennart Sorensen.
6386
6387 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6390 prior to terminal_input/terminal_output separation. It's been over 1.5
6391 years and those versions weren't widely deployed.
6392
6393 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6394
6395 * disk/raid.c (insert_array): Don't count named arrays when looking
6396 for unused array numbers.
6397 Reported and tested by: Michael Guntsche.
6398
6399 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6400
6401 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6402 implementation of this so that grub-emu links again, with a note
6403 that this should support hotplugging in the future.
6404
6405 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6408
6409 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6410
6411 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6412 handle on failure.
6413 (grub_loopback_close): Remove empty function.
6414 (grub_loopback_dev): Remove close method.
6415
6416 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6417
6418 Disable EFI cursor when the EFI console becomes inactive.
6419
6420 * term/efi/console.c (grub_efi_console_init): New function.
6421 (grub_efi_console_fini): New function.
6422 (grub_console_term_output): Register init and fini methods.
6423
6424 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6427 sh script.
6428
6429 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * disk/loopback.c (grub_loopback): Replace filename with file.
6432 (delete_loopback): Handle new semantics.
6433 (grub_cmd_loopback): Likewise.
6434 (grub_loopback_iterate): Likewise.
6435 (grub_loopback_close): Likewise.
6436
6437 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6440 with -p "".
6441 Reported by: Tito Keitel.
6442
6443 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * docs/grub.texi (Naming convention): Document new naming convention.
6446
6447 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6448 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6449
6450 Generate device.map in something closer to the old ordering.
6451
6452 * util/deviceiter.c (struct device): New declaration.
6453 (compare_file_names): Rename to ...
6454 (compare_devices): ... this. Sort by kernel name in preference to
6455 the stable by-id name, but keep the latter as a fallback comparison.
6456 Update header comment.
6457 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6458 of `struct device' rather than of plain file names.
6459
6460 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6461
6462 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6463 on i386.
6464
6465 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6468 hardcoding size.
6469 (setv1table): Likewise.
6470
6471 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6472
6473 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6474 removing the homehost if present.
6475 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6476 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6477 removing the homehost if present.
6478 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6479 if possible.
6480 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6481
6482 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6483 parameter. Set its pointer target to 0.
6484 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6485 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6486 `data_offset' value from the superblock for 1.x metadata.
6487 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6488 data on the device.
6489 (insert_array): Record the start sector of data on the device.
6490 (grub_raid_register): Pass start_sector parameters to
6491 grub_raid_list->detect and insert_array.
6492 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6493 member.
6494 (struct grub_raid): Add start_sector parameter to `detect'.
6495
6496 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6497 __attribute__ ((packed)), leaving a comment.
6498 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6499 (grub_mdraid_detect_09): ... here and ...
6500 (grub_mdraid_detect_1x): ... here.
6501
6502 2010-07-20 Peter Henn <peter.henn@web.de>
6503
6504 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6505 chunk size and disk size, which are already given as sector counts
6506 as distinct from the 0.90 units. Fetch the correct device number
6507 from the role table instead of using the table index.
6508
6509 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6510
6511 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6512 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6513 (WriteMostly1): New macro.
6514 Set array->name to NULL for metadata format 0.90. Add support for
6515 metadata 1.x. Fix some comments.
6516 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6517 few comments.
6518 * util/getroot.c (grub_util_get_grub_dev): Add support for
6519 /dev/md/name style devices.
6520
6521 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6522
6523 * .bzrignore: Ignore 20_linux_xen.
6524
6525 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * util/import_unicode.py: Remove unnecessary imports.
6528
6529 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6530
6531 Hotplugging and USB hub support.
6532
6533 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6534 (grub_ohci): Likewise.
6535 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6536 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6537 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6538 (GRUB_OHCI_CTRL_EDS): Likewise.
6539 (GRUB_OHCI_BULK_EDS): Likewise.
6540 (GRUB_OHCI_TDS): Likewise.
6541 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6542 (grub_ohci_ed_phys2virt): New function.
6543 (grub_ohci_virt_to_phys): Likewise.
6544 (grub_ohci_td_phys2virt): Likewise.
6545 (grub_ohci_td_virt2phys): Likewise.
6546 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6547 attachment.
6548 (grub_ohci_find_ed): New function.
6549 (grub_ohci_alloc_td): Likewise.
6550 (grub_ohci_free_td): Likewise.
6551 (grub_ohci_free_tds): Likewise.
6552 (grub_ohci_transfer): Use previously allocated memory.
6553 (grub_ohci_portstatus): Reset status changed bit.
6554 (grub_ohci_detect_dev): Supply status changed.
6555 (grub_ohci_fini_hw): Free memory.
6556 (grub_ohci_restore_hw): Reallocate memory.
6557 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6558 Reset status change.
6559 (grub_uhci_detect_dev): Supply status_change.
6560 * bus/usb/usb.c (attach_hooks): New var.
6561 (grub_usb_device_attach): New function.
6562 (grub_usb_register_attach_hook_class): Likewise.
6563 (grub_usb_unregister_attach_hook_class): Likewise.
6564 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6565 (grub_usb_add_hub): Reset connection changed bit.
6566 (attach_root_port): New function.
6567 (grub_usb_root_hub): Likewise.
6568 (poll_nonroot_hub): Likewise.
6569 (grub_usb_poll_devices): Likewise.
6570 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6571 * disk/usbms.c (grub_usbms_open): Use device hooks.
6572 (grub_usbms_iterate) :Poll devices.
6573 (grub_usbms_finddevs): Split into ...
6574 (grub_usbms_attach): ... this ...
6575 (grub_usbms_attach): ... and this.
6576 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6577 in detect_dev.
6578 (grub_usb_interface): New fields attached and detach_hook.
6579 (grub_usb_attach_hook_class): New type.
6580 (grub_usb_attach_desc): New struct.
6581 (grub_usb_register_attach_hook_class): New function.
6582 (grub_usb_unregister_attach_hook_class): Likewise.
6583 (grub_usb_poll_devices): Likewise.
6584 (grub_usb_device_attach): Likewise.
6585 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6586 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6587
6588 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6591 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6592 delta determination style. Works with most NetBSD partitions too.
6593
6594 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6597 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6598
6599 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6602
6603 2010-07-14 Anton Blanchard <anton@samba.org>
6604
6605 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6606 ET_DYN files.
6607
6608 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6609
6610 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6611
6612 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6613
6614 * kern/partition.c (grub_partition_check_containment): New function to
6615 check that a partition is physically contained in a parent. Since
6616 offsets are relative (and non-negative), this reduces to checking that
6617 the partition ends before its parent.
6618 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6619 (grub_partition_iterate): Likewise.
6620 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6621 comments.
6622 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6623 partitions that start before their parent, and add debug printfs.
6624
6625 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6626
6627 * Makefile.in (.SUFFIX): Spell correctly, as ...
6628 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6629 bare module name without `.mod', e.g. `test') tried to invoke a
6630 Modula-2 compiler.
6631
6632 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6633
6634 * README: Point to the Info manual.
6635
6636 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6637
6638 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6639 2nd superblock position from partition size.
6640
6641 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6642
6643 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6644 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6645 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6646 outputs.
6647
6648 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Restructure SCSI .id handling.
6651 Reported and tested by: Aleš Nesrsta.
6652
6653 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6654 (grub_atapi_dev): Changed .name to "ata". New field .id.
6655 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6656 (grub_usbms_dev): New field .id.
6657 * disk/scsi.c (grub_scsi_iterate): Generate name.
6658 (grub_scsi_open): Parse name.
6659 * include/grub/scsi.h (grub_make_scsi_id): New function.
6660 (grub_scsi_dev): Change iterate and open to number instead of naming
6661 busses. All users updated.
6662 (grub_scsi): Remove name. Add .bus.
6663
6664 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * commands/help.c (grub_cmd_help): Fix a typo.
6667
6668 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6671 Reported and tested by: Colin Watson.
6672
6673 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6676 in this context.
6677
6678 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6681
6682 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6683
6684 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6685 indentation.
6686
6687 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6688
6689 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6690 and disk/raid6_recover.c.
6691 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6692 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6693
6694 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6695
6696 * term/gfxterm.c (repaint_schedulded): Rename to ...
6697 (repaint_scheduled): ... this. Update all callers.
6698 (repaint_was_schedulded): Rename to ...
6699 (repaint_was_scheduled): ... this. Update all callers.
6700
6701 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6702
6703 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6704 which we expect to be handled by upper layers.
6705
6706 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6707
6708 * bus/usb/usbhub.c: #include time.h header.
6709
6710 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6711
6712 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6713 entry_name also for entries without stat blocks (e.g. ".."); fixes
6714 corruption of the first entry in a directory.
6715
6716 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6717
6718 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6719 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6720 doesn't work otherwise.
6721
6722 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6723
6724 * docs/grub.texi (Features): Update list of supported file systems.
6725 (GNU/Linux): Update for GRUB 2.
6726 (Serial terminal): Remove mention of --disable-serial, which was a
6727 GRUB Legacy configure option. Update instructions to use
6728 `terminal_input' and `terminal_output' rather than `terminal'.
6729 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6730 configuration' and `Installing GRUB using grub-install'.
6731 (Menu entry editor): Update for GRUB 2.
6732 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6733 Document new -a, -u, and -v options.
6734 (initrd): New section.
6735 (initrd16): New section.
6736 (linux): New section.
6737 (linux16): New section.
6738 (search): The `var' argument to `--set' is optional.
6739 (GRUB only offers a rescue shell): Go into a little more detail on
6740 drive ordering.
6741
6742 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6743
6744 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6745
6746 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6747
6748 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6749 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6750
6751 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6752
6753 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6754 install_prefix, in line with install_dos_part and install_bsd_part.
6755 Add new prefix variable, which is copied to install_prefix after
6756 comparing core.img in memory with the one read from disk in the
6757 no-embedding case, and use that rather than overwriting
6758 install_prefix immediately when installing to a partition.
6759 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6760 Bicakci.
6761
6762 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6763
6764 * configure.ac: Avoid == in test command, it's not portable.
6765 * util/grub.d/30_os-prober.in: Likewise.
6766
6767 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6768
6769 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6770
6771 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6772
6773 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6774 multiple (top-level) partmaps.
6775
6776 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6779 Reported by: Tino Keitel.
6780
6781 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 Bidi and diacritics support.
6784
6785 * Makefile.in (widthspec.bin): New target.
6786 (widthspec.h): Likewise.
6787 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6788 * autogen.sh: Generate unidata.c.
6789 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6790 * commands/ls.c (grub_ls_list_devices): Likewise.
6791 (grub_ls_list_files): Likewise.
6792 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6793 (grub_mini_cmd_lsmod): Likewise.
6794 * commands/read.c: Likewise.
6795 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6796 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6797 * lib/arg.c (grub_arg_show_help): Likewise.
6798 * lib/crypto.c (grub_password_get): Likewise.
6799 * normal/auth.c (grub_username_get): Likewise.
6800 * normal/misc.c (grub_normal_print_device_info): Likewise.
6801 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6802 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6803 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6804 (normal/charset.c_DEPENDENCIES): New variable.
6805 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6806 (pkglib_MODULES): Remove charset.mod.
6807 (charset_mod_SOURCES): Removed.
6808 (charset_mod_CFLAGS): Likewise.
6809 (charset_mod_LDFLAGS): Likewise.
6810 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6811 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6812 and term/tparm.c.
6813 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6814 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6815 (kernel_img_HEADERS): Add terminfo.h.
6816 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6817 Fill ->font. Reverse ascii bitmaps.
6818 (grub_font_get_xheight): New function.
6819 * font/font.c (grub_font_get_string_width): Moved from here ...
6820 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6821 * font/font.c (grub_font_draw_string): Moved from here ...
6822 * gfxmenu/font.c (grub_font_draw_string): ... here.
6823 * font/font.c (grub_font_dup_glyph): New function.
6824 (grub_font_blit_glyph): Likewise.
6825 (grub_font_blit_glyph_mirror): Likewise.
6826 (blit_comb): Likewise.
6827 (grub_font_construct_dry_run): Likewise.
6828 (grub_font_get_constructed_device_width): Likewise.
6829 (grub_font_construct_glyph): Likewise.
6830 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6831 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6832 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6833 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6834 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6835 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6836 (grub_font_get_xheight): New proto.
6837 (grub_font_get_constructed_device_width): Likewise.
6838 (grub_font_construct_glyph): Likewise.
6839 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6840 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6841 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6842 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6843 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6844 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6845 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6846 (grub_console_getcharwidth): Likewise.
6847 * include/grub/misc.h (grub_xputs): New proto.
6848 (grub_puts): Inlined.
6849 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6850 (grub_normal_get_line_counter): Removed.
6851 (grub_install_newline_hook): Likewise.
6852 (grub_normal_get_char_counter): New proto.
6853 (grub_normal_reset_more): Likewise.
6854 (grub_xputs_normal): Likewise.
6855 * include/grub/powerpc/ieee1275/console.h: Removed.
6856 * include/grub/sparc64/ieee1275/console.h: Likewise.
6857 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6858 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6859 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6860 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6861 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6862 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6863 (grub_term_input): Pass reference to self. All users updated.
6864 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6865 Pass reference to self. New fields normal_color, highlight_color and
6866 data. All users updated.
6867 (grub_putchar): Removed.
6868 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6869 (grub_unicode_estimate_width): New function.
6870 (grub_term_getcharwidth): Add defaults.
6871 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6872 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6873 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6874 (grub_cls): Remove EXPORT_FUNC.
6875 (grub_setcolorstate): Inline.
6876 (grub_newline_hook): Removed.
6877 * include/grub/terminfo.h: Rewritten. All users updated.
6878 * include/grub/unicode.h: New file.
6879 * include/grub/video.h (grub_video_signed_rect): New type.
6880 * kern/emu/console.c (grub_console_highlight_color): Removed.
6881 (grub_console_normal_color): Likewise.
6882 (grub_console_standard_color): Made static.
6883 (grub_ncurses_putchar): Remove mapping.
6884 (grub_ncurses_getcharwidth): Removed.
6885 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6886 (grub_ncurses_setcolor): Removed.
6887 (grub_ncurses_getcolor): Likewise.
6888 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6889 (grub_console_putchar): ... this.
6890 (grub_console_putchar): Handle argument difference.
6891 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6892 console_init_early and console_init_lately.
6893 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6894 * kern/misc.c (grub_puts): Removed.
6895 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6896 (grub_vsnprintf_real): Remove str = NULL support.
6897 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6898 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6899 * kern/term.c (grub_putcode): Renamed to ...
6900 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6901 (grub_putchar): Removed.
6902 (grub_xputs_dumb): New function.
6903 (grub_xputs): New variable.
6904 * lib/charset.c: Move from here ...
6905 * normal/charset.c: ... to here.
6906 (grub_ucs4_to_utf8): New function.
6907 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6908 (join_types): New variable.
6909 (unpack_join): New function.
6910 (bidi_types): New variable.
6911 (unpack_bidi): New function.
6912 (get_bidi_type): Likewise.
6913 (get_join_type): Likewise.
6914 (is_mirrored): Likewise.
6915 (grub_unicode_get_comb_type): Likewise.
6916 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6917 (is_type_after): Likewise.
6918 (grub_unicode_aglomerate_comb): Likewise.
6919 (bidi_line_wrap): Likewise.
6920 (grub_bidi_line_logical_to_visual): Likewise.
6921 (grub_bidi_logical_to_visual): Likewise.
6922 (grub_unicode_mirror_code): Likewise.
6923 (grub_unicode_shape_code): Likewise.
6924 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6925 Don't use grub_putchar.
6926 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6927 (grub_normal_reader_init): Likewise.
6928 (grub_xputs_saved): New variable.
6929 (GRUB_MOD_INIT): Set grub_xputs.
6930 (GRUB_MOD_FINI): Restore grub_xputs.
6931 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6932 (menu_init): Avoid printing gfxmenu error.
6933 (show_menu): Use grub_normal_get_char_counter.
6934 * normal/menu_entry.c (update_screen): Fix out-of-array.
6935 (complete): Avoid NULL dereferencing.
6936 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6937 * normal/menu_text.c (print_spaces): Removed.
6938 (grub_print_ucs4): Likewise.
6939 (grub_print_message_indented): Use grub_print_ucs4.
6940 (print_message): Use grub_putcode.
6941 (print_entry): Hanlde diacritics.
6942 * normal/term.c (term_state): New type.
6943 (grub_more_lines): Removed.
6944 (term_states): New variable.
6945 (grub_normal_line_counter): Renamed to ..
6946 (grub_normal_char_counter): ...this. All users updated.
6947 (grub_normal_get_line_counter): Renamed to ...
6948 (grub_normal_get_char_counter): ... this.
6949 (grub_normal_reset_more): New function.
6950 (process_newline): Removed.
6951 (print_more): New function.
6952 (grub_install_newline_hook): Removed.
6953 (map_code): New function.
6954 (grub_puts_terminal): Use grub_print_ucs4.
6955 (putglyph): New function.
6956 (putcode_real): Likewise.
6957 (grub_putcode): Use putcode_real.
6958 (get_maxwidth): New function.
6959 (get_startwidth): Likewise.
6960 (print_ucs4_terminal): Likewise.
6961 (find_term_state): Likewise.
6962 (put_glyphs_terminal): Likewise.
6963 (print_backlog): Likewise.
6964 (print_ucs4_real): Likewise.
6965 (grub_print_ucs4): Likewise.
6966 (grub_xputs_normal): Likewise.
6967 * term/efi/console.c (grub_console_putchar): Output diacritics.
6968 (grub_console_getcharwidth): Removed.
6969 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6970 * term/gfxterm.c (clear_char): Free chars.
6971 (scroll_up): Avoid leaking memory.
6972 (grub_gfxterm_putchar): Support diacritics.
6973 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6974 * term/i386/pc/console.c (grub_console_term_output): Declare as
6975 GRUB_TERM_CODE_TYPE_VGA.
6976 * term/i386/pc/vga.c (grub_vga_term): Declare as
6977 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6978 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6979 GRUB_TERM_CODE_TYPE_VGA.
6980 * term/i386/vga_common.c (map_char): Removed.
6981 (grub_console_putchar): Likewise.
6982 (grub_console_getcharwidth): Likewise.
6983 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6984 (colors): Reordered to match terminfo.
6985 (grub_ofconsole_normal_color): Removed.
6986 (grub_ofconsole_writeesc): Likewise.
6987 (grub_ofconsole_highlight_color): Likewise.
6988 (grub_ofconsole_getcharwidth): Likewise.
6989 (grub_ofconsole_setcolorstate): Likewise.
6990 (grub_ofconsole_setcolor): Likewise.
6991 (grub_ofconsole_getcolor): Likewise.
6992 (grub_ofconsole_readkey): Renamed to ...
6993 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6994 key.
6995 (grub_ofconsole_checkkey): Removed.
6996 (grub_ofconsole_getkey): Likewise.
6997 (grub_ofconsole_getxy): Likewise.
6998 (grub_ofconsole_gotoxy): Likewise.
6999 (grub_ofconsole_cls): Likewise.
7000 (grub_ofconsole_refresh): Likewise.
7001 (grub_ofconsole_terminfo_input): New struct.
7002 (grub_ofconsole_terminfo_output): Likewise.
7003 (grub_ofconsole_term_input): Use terminfo.
7004 (grub_ofconsole_term_output): Likewise.
7005 (grub_console_init): Split into ...
7006 (grub_console_init_early): ...this and ...
7007 (grub_console_init_lately): ...this. Use terminfo.
7008 (grub_ofconsole_putchar): Renamed to ...
7009 (put): ... this. Remove mapping.
7010 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7011 * term/serial.c: Simplify using terminfo.
7012 (xpos): Removed.
7013 (ypos): Likewise.
7014 (keep_track): Likewise.
7015 (registered): Likewise.
7016 (input_buf): Likewise.
7017 (npending): Likewise.
7018 (serial_translate_key_sequence): Likewise.
7019 (fill_input_buf): Likewise.
7020 (grub_serial_checkkey): Likewise.
7021 (grub_serial_getkey): Likewise.
7022 (grub_serial_getxy): Likewise.
7023 (grub_serial_gotoxy): Likewise.
7024 (grub_serial_putchar): Likewise.
7025 (grub_serial_cls): Likewise.
7026 (grub_serial_setcolorstate): Likewise.
7027 (grub_serial_setcursor): Likewise.
7028 (serial_hw_init): Use serial_hw_fetch.
7029 (grub_serial_terminfo_input): New variable.
7030 (grub_serial_terminfo_output): Likewise.
7031 (grub_serial_term_input): Use terminfo.
7032 (grub_serial_term_output): Likewise.
7033 * term/terminfo.c (putstr): Use put.
7034 (grub_terminfo_all_free): New function
7035 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
7036 (grub_terminfo_output_register): New function.
7037 (grub_terminfo_output_unregister): Likewise.
7038 (grub_terminfo_getxy): Likewise.
7039 (grub_terminfo_readkey): Likewise.
7040 (grub_terminfo_checkkey): Likewise.
7041 (grub_terminfo_getkey): Likewise.
7042 (grub_terminfo_input_init): Likewise.
7043 (print_terminfo): Likewise.
7044 (grub_cmd_terminfo): Handle encoding.
7045 (grub_terminfo_gotoxy): Track position.
7046 (grub_terminfo_cls): Likewise.
7047 (grub_terminfo_putchar): Likewise.
7048 (grub_terminfo_setcolorstate): Handle colors
7049 (grub_terminfo_cursor_on): This ...
7050 (grub_terminfo_cursor_off): ... and this merged into ...
7051 (grub_terminfo_setcursor): ... this.
7052 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
7053 * unicode/ArabicShaping.txt: New file (imported from Unicode).
7054 * unicode/BidiMirroring.txt: Likewise.
7055 * unicode/UnicodeData.txt: Likewise.
7056 * unicode/COPYING: Likewise.
7057 * util/grub-editenv.c (grub_putchar): Removed.
7058 (grub_xputs_real): New function.
7059 (grub_xputs): New variable.
7060 * util/grub-fstest.c (grub_putchar): Removed.
7061 (grub_xputs_real): New function.
7062 (grub_xputs): New variable.
7063 * util/grub-mkdevicemap.c (grub_putchar): Removed.
7064 (grub_xputs_real): New function.
7065 (grub_xputs): New variable.
7066 * util/grub-probe.c (grub_putchar): Removed.
7067 (grub_xputs_real): New function.
7068 (grub_xputs): New variable.
7069 * util/grub-script-check.c (grub_putchar): Removed.
7070 (grub_xputs_real): New function.
7071 (grub_xputs): New variable.
7072 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
7073 (grub_xputs_real): New function.
7074 (grub_xputs): New variable.
7075 * util/import_unicode.py: New file.
7076 * util/grub-mkfont.c (ft_errmsgs): New array.
7077 (grub_glyph_info): Make bitmap a pointer.
7078 (file_formats): New type WIDTH_SPEC.
7079 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
7080 (options): Add width-spec.
7081 (help): Likewise.
7082 (add_char): Renamed to ...
7083 (add_glyph): ... this.
7084 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
7085 (glyph_replace): New type.
7086 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
7087 (add_char): New function.
7088 (add_subst): Likewise.
7089 (process_cursive): Likewise.
7090 (add_font): Handle GSUB.
7091 (write_font_width_spec): New function.
7092 (main): Sort glyphs.
7093 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
7094 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
7095 * kern/term.c (grub_cls): Moved from here...
7096 * normal/term.c (grub_cls): ... here.
7097
7098 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7099
7100 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7101 suitable for using within the format argument of printf when
7102 converting grub_size_t.
7103 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7104 "x" to convert grub_size_t arguments.
7105
7106 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7109 too long captions.
7110 (list_get_minimal_size): Take selection box into account.
7111
7112 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7115 NULL font.
7116
7117 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7118
7119 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7120 devices when iterating over /dev/disk/by-id; they will be handled
7121 later if appropriate, which they aren't always (e.g. LVM).
7122
7123 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7126 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7127 fails.
7128 (grub_halt): Likewise.
7129 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7130 reset-all fails.
7131 (grub_halt): Don't return, even if all of shut-down, power-off, and
7132 poweroff fail.
7133
7134 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7135
7136 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7137 arguments, not three.
7138
7139 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7140
7141 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7142 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7143 LVM-on-RAID is handled correctly.
7144
7145 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7146
7147 * docs/grub.texi (Changes from GRUB Legacy): New section.
7148 (Future): Fix typo.
7149
7150 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
7151
7152 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7153 grub.d/README accidentally ends up executable for one reason or
7154 another. Ignore it.
7155
7156 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7159 (gpt_partition_map_iterate): Support non-512B sectors.
7160
7161 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7164 Tested by: Seth Goldberg.
7165
7166 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7169 Properly align mbi.
7170 Reported by: Seth Goldberg.
7171
7172 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * util/grub-mkrescue.in: Avoid module duplication.
7175
7176 2010-07-01 Sean Finney <seanius@seanius.net>
7177
7178 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7179
7180 2010-07-01 Sean Finney <seanius@seanius.net>
7181
7182 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7183
7184 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * disk/lvm.c (grub_lvm_checkvalue): New function.
7187 (grub_lvm_check_flag): Likewise.
7188
7189 2010-07-01 Robert Millan <rmh@gnu.org>
7190
7191 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7192 Support 'p' as partition separator on kernel of FreeBSD (used
7193 with GPT labels).
7194 (grub_util_biosdisk_get_grub_dev): Likewise.
7195
7196 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Yeeloong firmware port.
7199
7200 * boot/mips/yeeloong/fwstart.S: New file.
7201 * bus/cs5536.c (gpiodump): New const.
7202 (set_io_space): New function.
7203 (set_iod): Likewise.
7204 (set_p2d): Likewise.
7205 (grub_cs5536_init_geode): Likewise.
7206 * commands/mips/yeeloong/lsspd.c: New file.
7207 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7208 (serial_mod_SOURCES): New variable.
7209 (serial_mod_CFLAGS): Likewise.
7210 (serial_mod_LDFLAGS): Likewise.
7211 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7212 term/terminfo.c and term/tparm.c.
7213 (pkglib_IMAGES): Add fwstart.img.
7214 (fwstart_img_SOURCES): New variable.
7215 (fwstart_img_CFLAGS): Likewise.
7216 (fwstart_img_ASFLAGS): Likewise.
7217 (fwstart_img_LDFLAGS): Likewise.
7218 (fwstart_img_FORMAT): Likewise.
7219 (pkglib_MODULES): Add lsspd.mod.
7220 (lsspd_mod_SOURCES): New variable.
7221 (lsspd_mod_CFLAGS): Likewise.
7222 (lsspd_mod_LDFLAGS): Likewise.
7223 (pkglib_MODULES): Add halt.mod.
7224 (halt_mod_SOURCES): New variable.
7225 (halt_mod_CFLAGS): Likewise.
7226 (halt_mod_LDFLAGS): Likewise.
7227 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7228 (serial_mod_SOURCES): Removed.
7229 (serial_mod_CFLAGS): Likewise.
7230 (serial_mod_LDFLAGS): Likewise.
7231 * disk/ata.c (check_device): New function.
7232 (grub_ata_device_initialize): Use check_device.
7233 (grub_ata_iterate): Recheck devices.
7234 (grub_ata_open): Likewise.
7235 (grub_atapi_iterate): Likewise.
7236 (grub_atapi_open): Likewise.
7237 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7238 (GRUB_ATA_CH1_PORT1): Likewise.
7239 (GRUB_ATA_CH0_PORT2): Likewise.
7240 (GRUB_ATA_CH1_PORT2): Likewise.
7241 * include/grub/mips/loongson.h: New file.
7242 * include/grub/mips/yeeloong/ec.h: Likewise.
7243 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7244 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7245 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7246 * include/grub/misc.h (grub_halt): Declare as noreturn.
7247 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7248 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7249 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7250 (UART_ENABLE_DTRRTS): Likewise.
7251 (UART_ENABLE_MODEM): Removed.
7252 (UART_ENABLE_OUT2): New const.
7253 * include/grub/term.h (grub_term_register_input_active): New function.
7254 (grub_term_register_output_active): Likewise.
7255 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7256 argument.
7257 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7258 (init_pci): New function.
7259 (grub_machine_init): Execute platform init when firmware. Init serial.
7260 (grub_halt): Implement.
7261 (grub_exit): Likewise.
7262 (grub_reboot): Likewise.
7263 * term/serial.c (serial_hw_init): Update macros.
7264 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7265 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7266 (image_targets): New target mipsel-yeeloong-flash.
7267 (generate_image): Support IMAGE_YEELOONG_FLASH.
7268 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7269 (grub_video_sm712_setup): Init card.
7270 (grub_video_sm712_set_palette): Removed.
7271 * video/sm712_init.c: New file.
7272
7273 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
7274
7275 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7276 PATH when running help2man and then run it on the unadorned
7277 executable names, rather than passing $(builddir)/* paths to
7278 help2man. This avoids the build directory ending up in generated
7279 manual pages.
7280
7281 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7284 to avoid accidents when debugging with 'sh -x'.
7285 * util/grub-mkrescue.in: Likewise.
7286 * util/grub.d/00_header.in: Likewise.
7287 * util/grub.d/10_hurd.in: Likewise.
7288 * util/grub.d/10_kfreebsd.in: Likewise.
7289 * util/grub.d/10_linux.in: Likewise.
7290 * util/grub.d/10_netbsd.in: Likewise.
7291 * util/grub.d/10_windows.in: Likewise.
7292 * util/grub.d/20_linux_xen.in: Likewise.
7293 * util/grub.d/30_os-prober.in: Likewise.
7294 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7295
7296 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7297
7298 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7299 last character in the buffer.
7300 Reported by: Vladimir Serbinenko.
7301
7302 2010-06-29 Robert Millan <rmh@gnu.org>
7303
7304 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7305 (Command-line and menu entry commands): Document `badram' command.
7306
7307 2010-06-28 Robert Millan <rmh@gnu.org>
7308
7309 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7310 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7311 command using ${GRUB_BADRAM} as parameter.
7312
7313 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7314
7315 * docs/grub.texi (Device map): New section.
7316 (Themes): New section (stub).
7317 * Makefile.in (docs/grub.info): The info documentation now builds
7318 without errors. Make sure it stays that way.
7319
7320 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 Use normal parser for menu entries.
7323 Reported by: Thomas Frauendorfer
7324
7325 * include/grub/parser.h (grub_parser_execute): Don't export.
7326 * normal/menu.c (grub_menu_execute_entry_real): New function.
7327 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7328
7329 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7330
7331 * docs/grub.texi (Embedded configuration): New section (replacing
7332 old "Preset Menu" stub).
7333 (Images): New section.
7334 (configfile): Note that any menu entries defined in `file' are shown
7335 immediately.
7336
7337 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7338
7339 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7340
7341 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7342
7343 * util/grub-install.in: Add --debug-image= option.
7344
7345 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7346
7347 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7348 possible on Linux.
7349
7350 * util/deviceiter.c (check_device): Rename to ...
7351 (check_device_readable_unique): ... this. Update all callers.
7352 Maintain and check a list of which devices (by canonicalized name)
7353 have already been seen.
7354 (clear_seen_devices): New function.
7355 (compare_file_names) [__linux__]: New function.
7356 (grub_util_iterate_devices): Clear the list of seen devices on exit
7357 and (just in case) on entry.
7358 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7359 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7360 seen-devices list, superseded by general code in check_device.
7361
7362 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7363
7364 * commands/cat.c (options): New variable.
7365 (grub_cmd_cat): Parse options. If the --dos option is given, print
7366 DOS-style "\r\n" line endings as simple newlines (Debian bug
7367 #586358).
7368 (GRUB_MOD_INIT): Use extcmd.
7369 (GRUB_MOD_FINI): Likewise.
7370 * docs/grub.texi (cat): Document --dos.
7371
7372 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 XEN with Linux grub-mkconfig support.
7375
7376 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7377 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7378 GRUB_CMDLINE_XEN_DEFAULT.
7379 * util/grub.d/20_linux_xen.in: New file.
7380
7381 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 Initialise VGA video on qemu ourselves.
7384
7385 * boot/i386/qemu/boot.S: Don't call 0xc000.
7386 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7387 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7388 (kernel_img_HEADERS): Add pci.h.
7389 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7390 * configure.ac: Force unifont on qemu and yeeloong.
7391 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7392 (grub_vga_palette_write): Use correct register.
7393 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7394 Call grub_qemu_init_cirrus.
7395 * kern/i386/qemu/init.c: New file.
7396 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7397
7398 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7399
7400 2010-06-26 Pavel Roskin <proski@gnu.org>
7401
7402 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7403 13.
7404
7405 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7406
7407 * docs/grub.texi (Simple configuration): Explain that
7408 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7409 set to `true' to disable their respective recovery entries, not
7410 merely set.
7411
7412 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7413
7414 Make the `source' command slightly faster.
7415
7416 * normal/main.c (grub_normal_execute): Don't re-read list files when
7417 nested.
7418
7419 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7420
7421 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7422 field position and mask size to red fields from mode_info, not
7423 green.
7424 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7425 Remove redundant tag->common.framebuffer_type assignment.
7426 Reported by: Seth Goldberg.
7427
7428 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7429
7430 Sync up other versions of the Linux loader with Robert Millan's
7431 change of 2010-01-09, "Make loader output a bit more user-friendly".
7432
7433 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7434 grub_dprintf().
7435 (grub_cmd_linux): Likewise.
7436 (grub_cmd_initrd): Likewise.
7437 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7438 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7439
7440 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7441
7442 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7443 larger than MEMORY_MAP_SIZE.
7444
7445 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7446
7447 Fix parallel build.
7448
7449 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7450 dependency.
7451 * script/parser.y: #include grub_script.tab.h header.
7452
7453 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 Support >3GiB and <16MiB RAM in i386-qemu.
7456
7457 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7458 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7459 (grub_lower_mem): Removed.
7460 (grub_upper_mem): Likewise.
7461 (mem_size): Made static.
7462 (above_4g): New variable.
7463 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7464 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7465 support.
7466
7467 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 Cirrus 5446 and Bochs video cards support.
7470
7471 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7472 video_bochs.mod
7473 (video_cirrus_mod_SOURCES): New variable.
7474 (video_cirrus_mod_CFLAGS): Likewise.
7475 (video_cirrus_mod_LDFLAGS): Likewise.
7476 (video_bochs_mod_SOURCES): Likewise.
7477 (video_bochs_mod_CFLAGS): Likewise.
7478 (video_bochs_mod_LDFLAGS): Likewise.
7479 * include/grub/vga.h: New file.
7480 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7481 (grub_video_fb_set_page_t): New type.
7482 (grub_video_fb_setup): New prototype.
7483 (grub_video_fb_swap_buffers): Likewise.
7484 (grub_video_fb_get_info_and_fini): Likewise.
7485 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7486 (CRTC_DATA_PORT): Likewise.
7487 (CRTC_CURSOR): Likewise.
7488 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7489 (CRTC_CURSOR_ADDR_LOW): Likewise.
7490 (CRTC_CURSOR_DISABLE): Likewise.
7491 (update_cursor): Use grub_vga_cr_write.
7492 (grub_vga_text_setcursor): Likewise.
7493 * video/bochs.c: New file.
7494 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7495 (palette): Likewise.
7496 (palette_size): Likewise.
7497 (framebuffer): New variable.
7498 (grub_video_fb_init): Use 'framebuffer'.
7499 (grub_video_fb_fini): Likewise.
7500 (grub_video_fb_get_info): Likewise.
7501 (grub_video_fb_get_palette): Likewise.
7502 (grub_video_fb_set_palette): Likewise.
7503 (grub_video_fb_set_viewport): Likewise.
7504 (grub_video_fb_get_viewport): Likewise.
7505 (grub_video_fb_map_color): Likewise.
7506 (grub_video_fb_map_rgb): Likewise.
7507 (grub_video_fb_map_rgba): Likewise.
7508 (grub_video_fb_unmap_color): Likewise.
7509 (grub_video_fb_unmap_color_int): Likewise.
7510 (grub_video_fb_fill_rect): Likewise.
7511 (grub_video_fb_blit_bitmap): Likewise.
7512 (grub_video_fb_blit_render_target): Likewise.
7513 (grub_video_fb_scroll): Likewise.
7514 (grub_video_fb_create_render_target): Likewise.
7515 (grub_video_fb_doublebuf_blit_init): Likewise.
7516 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7517 (doublebuf_pageflipping_update_screen): New function.
7518 (doublebuf_pageflipping_init): Likewise.
7519 (grub_video_fb_setup): Likewise.
7520 (grub_video_fb_swap_buffers): Likewise.
7521 (grub_video_fb_get_info_and_fini): Likewise.
7522 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7523 All users updated.
7524 (doublebuf_pageflipping_commit): Restructured into ...
7525 (doublebuf_pageflipping_set_page): ... this.
7526 (doublebuf_pageflipping_update_screen): Removed.
7527 (doublebuf_pageflipping_init): Likewise.
7528 (double_buffering_init): Likewise.
7529 (grub_video_vbe_setup): Use grub_video_fb_setup.
7530 (grub_video_vbe_swap_buffers): Removed.
7531 (grub_video_vbe_set_active_render_target): Likewise.
7532 (grub_video_vbe_get_active_render_target): Likewise.
7533 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7534 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7535 grub_video_fb_set_active_render_target and
7536 grub_video_fb_get_active_render_target.
7537 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7538 (SEQUENCER_DATA_PORT): Likewise.
7539 (MAP_MASK_REGISTER): Likewise.
7540 (CRTC_ADDR_PORT): Likewise.
7541 (CRTC_DATA_PORT): Likewise.
7542 (START_ADDR_HIGH_REGISTER): Likewise.
7543 (START_ADDR_LOW_REGISTER): Likewise.
7544 (GRAPHICS_ADDR_PORT): Likewise.
7545 (GRAPHICS_DATA_PORT): Likewise.
7546 (READ_MAP_REGISTER): Likewise.
7547 (INPUT_STATUS1_REGISTER): Likewise.
7548 (INPUT_STATUS1_VERTR_BIT): Likewise.
7549 (get_map_mask): Use grub_vga_sr_read.
7550 (set_map_mask): Use grub_vga_sr_write.
7551 (set_read_map): Use grub_vga_gr_write.
7552 (set_start_address): Use grub_vga_cr_write.
7553 * video/sm712.c (framebuffer): Remove leftover fields.
7554
7555 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7556
7557 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7558 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7559 instead. Replace the gfxterm backend check with a check that
7560 ${GRUB_PREFIX}/video.lst is non-empty.
7561 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7562 again.
7563 (load_video): New generated function. Call it before loading
7564 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7565 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7566 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7567 * docs/grub.texi (Simple configuration): Document
7568 GRUB_VIDEO_BACKEND.
7569
7570 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Use video functions in linux and xnu loaders.
7573
7574 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7575 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7576 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7577 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7578 loader/i386/pc/linux.c.
7579 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7580 (find_line_len): Removed.
7581 (find_framebuf): Likewise.
7582 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7583 * loader/i386/efi/xnu.c: Removed.
7584 * loader/i386/pc/xnu.c: Moved from here...
7585 * loader/i386/xnu.c: ...here.
7586
7587 Enable priorities in video drivers.
7588
7589 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7590 (grub_video_adapter): New field prio.
7591 (grub_video_register): Respect prio when inserting.
7592 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7593 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7594 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7595 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7596 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7597 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7598 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7599
7600 Fix SDL driver ID.
7601
7602 * include/grub/video.h (grub_video_driver_id_t): New value
7603 GRUB_VIDEO_DRIVER_SDL.
7604 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7605
7606 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7607
7608 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7609 argument to printf.
7610 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7611
7612 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7613
7614 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7615 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7616
7617 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7620 directly, and recommend grub-install instead.
7621 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7622
7623 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7624
7625 Fix i386-pc prefix handling with nested partitions (Debian bug
7626 #585068). Note that the case where the core image is booted using
7627 multiboot and relocated from its original location still requires
7628 more work.
7629
7630 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7631 with "(,", fill the boot drive in between those two characters, but
7632 expect that a full partition specification including partition map
7633 names will follow.
7634 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7635 specified, write a prefix without the drive name but including a
7636 full partition specification.
7637
7638 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * util/grub-mkconfig.in: Ignore non-option arguments, for
7641 compatibility with older versions (before 2010-06-12) which did the
7642 same. In particular, this makes it easier to ship an update-grub
7643 wrapper which is compatible with that used with GRUB Legacy (Debian
7644 bug #586056).
7645
7646 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7647
7648 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7649 for manual page generation.
7650
7651 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7652
7653 * po/POTFILES: Remove leftover commands/handler.c.
7654
7655 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7656
7657 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7658 left this script non-functional.
7659
7660 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7661
7662 * docs/man/grub-emu.h2m: New file.
7663
7664 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7665
7666 * docs/grub.texi (Commands): Document reduced command set in rescue
7667 mode.
7668 (cpuid): New section.
7669
7670 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7671
7672 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7673 new partition naming style.
7674 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7675
7676 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7677
7678 Add "-o grub.iso" like cmdline options support.
7679
7680 * util/grub-install.in: Improve cmdline option parsing.
7681 * util/grub-mkconfig.in: Likewise.
7682 * util/grub-mkrescue.in: Likewise.
7683 * util/grub-reboot.in: Likewise.
7684 * util/grub-set-default.in: Likewise.
7685 * util/i386/efi/grub-install.in: Likewise.
7686 * util/ieee1275/grub-install.in: Likewise.
7687 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7688
7689 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7690
7691 * .bzrignore: Ignore 41_custom.
7692
7693 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7694
7695 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7696
7697 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7698
7699 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7700 prototype declarations.
7701
7702 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7703 generating fs, partmap, and video lists.
7704 * include/grub/fs.h (grub_fs_register): Omit prototype if
7705 GRUB_LST_GENERATOR is defined.
7706 * include/grub/partition.h (grub_partition_map_register): Likewise.
7707 * include/grub/video.h (grub_video_register): Likewise.
7708
7709 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7710
7711 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7712
7713 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7714
7715 * util/grub-mkrescue.in: Support --xorriso argument.
7716
7717 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7720 Suggested by: Thomas Schmitt.
7721
7722 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7725 Suggested by: Thomas Schmitt.
7726
7727 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 custom.cfg support.
7730
7731 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7732 * util/grub.d/41_custom.in: New file.
7733
7734 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7735
7736 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7737 been merged back into normal.
7738
7739 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7740
7741 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7742 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7743
7744 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7745
7746 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7747 when generating manual pages.
7748 * docs/man/grub-bin2h.h2m: New file.
7749 * docs/man/grub-editenv.h2m: New file.
7750 * docs/man/grub-fstest.h2m: New file.
7751 * docs/man/grub-install.h2m: New file.
7752 * docs/man/grub-macho2img.h2m: New file.
7753 * docs/man/grub-mkconfig.h2m: New file.
7754 * docs/man/grub-mkdevicemap.h2m: New file.
7755 * docs/man/grub-mkfont.h2m: New file.
7756 * docs/man/grub-mkimage.h2m: New file.
7757 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7758 * docs/man/grub-mkrelpath.h2m: New file.
7759 * docs/man/grub-mkrescue.h2m: New file.
7760 * docs/man/grub-ofpathname.h2m: New file.
7761 * docs/man/grub-pe2elf.h2m: New file.
7762 * docs/man/grub-probe.h2m: New file.
7763 * docs/man/grub-reboot.h2m: New file.
7764 * docs/man/grub-script-check.h2m: New file.
7765 * docs/man/grub-set-default.h2m: New file.
7766 * docs/man/grub-setup.h2m: New file.
7767
7768 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 Use FOR_* macros instead of *_iterate whenever possible.
7771
7772 * commands/handler.c: Removed.
7773 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7774 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7775 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7776 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7777 (grub_probe_SOURCES): Remove kern/parser.c.
7778 (util/grub-script-check.c_DEPENDENCIES): Removed.
7779 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7780 and grub_script_check_init.c.
7781 (grub_script_check_init.lst): Removed.
7782 (grub_script_check_init.h): Likewise.
7783 (grub_script_check_init.c): Likewise.
7784 (pkglib_MODULES): Remove handler.mod and sh.mod.
7785 (handler_mod_SOURCES): Removed.
7786 (handler_mod_CFLAGS): Likewise.
7787 (handler_mod_LDFLAGS): Likewise.
7788 (normal_mod_SOURCES): Remove normal/handler.c.
7789 Add script/main.c, script/script.c, script/execute.c,
7790 script/function.c, script/lexer.c, grub_script.tab.c
7791 and grub_script.yy.c.
7792 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7793 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7794 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7795 (grub_setup_SOURCES): Remove kern/parser.c.
7796 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7797 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7798 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7799 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7800 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7801 (grub_setup_SOURCES): Remove kern/parser.c.
7802 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7803 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7804 * include/grub/command.h (grub_command_iterate): Removed.
7805 (FOR_COMMANDS): New macro.
7806 * include/grub/dl.h (grub_dl): New member next.
7807 (grub_dl_iterate): Removed.
7808 (grub_dl_head): New variable declaration.
7809 (FOR_DL_MODULES): New macro.
7810 * include/grub/fs.h: Include list.h.
7811 (grub_fs): Make next first element.
7812 (grub_fs_list): New variable declaration.
7813 (grub_fs_register): Make inline.
7814 (grub_fs_unregister): Likewise.
7815 (grub_fs_iterate): Removed.
7816 (FOR_FILESYSTEMS): New macro.
7817 * include/grub/handler.h: Removed.
7818 * include/grub/list.h (grub_list_hook_t): Removed.
7819 (grub_list_test_t): Likewise.
7820 (grub_list_pop): Likewise.
7821 (grub_list_iterate): Likewise.
7822 (grub_list_insert): Likewise.
7823 (FOR_LIST_ELEMENTS): New macro.
7824 * include/grub/parser.h (grub_parser_class): Removed.
7825 (grub_parser_register): Likewise.
7826 (grub_parser_unregister): Likewise.
7827 (grub_parser_get_current): Likewise.
7828 (grub_parser_set_current): Likewise.
7829 (grub_register_rescue_parser): Likewise.
7830 (grub_rescue_parse_line): New function.
7831 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7832 * include/grub/script_sh.h (grub_script_function_list): New variable
7833 declaration.
7834 (FOR_SCRIPT_FUNCTIONS): New macro.
7835 (grub_script_function_iterate): Removed.
7836 (grub_normal_parse_line): New prototype.
7837 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7838 (FOR_DISABLED_TERM_INPUTS): Likewise.
7839 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7840 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7841 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7842 element.
7843 (grub_video_register): Inline.
7844 (grub_video_unregister): Likewise.
7845 (grub_video_adapter_list): New variable declaration.
7846 (grub_video_iterate): Removed.
7847 (FOR_VIDEO_ADAPTERS): New macro.
7848 * kern/dl.c (grub_dl_list): Removed. All users updated.
7849 (grub_dl_iterate): Removed.
7850 * kern/fs.c (grub_fs_list): Make global.
7851 (grub_fs_register): Removed.
7852 (grub_fs_unregister): Likewise.
7853 (grub_fs_iterate): Likewise.
7854 * kern/handler.c: Removed.
7855 * kern/list.c (grub_list_pop): Removed.
7856 (grub_list_iterate): Likewise.
7857 (grub_list_insert): Likewise.
7858 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7859 (grub_prio_list_insert): Don't use grub_list_insert.
7860 * kern/main.c (grub_register_rescue_parser): Don't call
7861 grub_register_rescue_parser.
7862 * kern/parser.c (grub_parser_class): Removed.
7863 (grub_parser_execute): Use grub_rescue_parse_line.
7864 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7865 (grub_rescue_parser): Removed.
7866 (grub_register_rescue_parser): Likewise.
7867 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7868 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7869 (grub_auth_check_authentication): Likewise.
7870 * normal/completion.c (iterate_command): Removed.
7871 (grub_normal_do_completion): Use FOR_COMMANDS.
7872 * normal/handler.c: Removed.
7873 * normal/main.c (read_config_file): Remove parser changing.
7874 (grub_normal_execute): Don't call read_handler_list.
7875 (grub_normal_read_line_real): Statically allocate prompt.
7876 (grub_cmdline_run): Use grub_normal_parse_line.
7877 (GRUB_MOD_FINI): Don't call free_handler_list.
7878 * normal/menu_entry.c (run): Likewise.
7879 * script/function.c (grub_script_function_list): Make global.
7880 (grub_script_function_iterate): Removed.
7881 * script/main.c (grub_normal_parse_line): Make global.
7882 (grub_sh_parser): Removed.
7883 (GRUB_MOD_INIT): Likewise.
7884 (GRUB_MOD_FINI): Likewise.
7885 * tests/lib/functional_test.c (grub_functional_test): Use
7886 FOR_LIST_ELEMENTS.
7887 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7888 (grub_test_run): Use FOR_LIST_ELEMENTS.
7889 * tests/lib/unit_test.c (main): Likewise.
7890 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7891 grub_list_pop.
7892 * util/grub-fstest.c (grub_term_input_class): Removed.
7893 (grub_term_output_class): Likewise.
7894 * util/grub-probe.c: Likewise.
7895 * util/i386/pc/grub-setup.c: Likewise.
7896 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7897 * util/grub-script-check.c (main): Don't call grub_init_all and
7898 grub_fini_all.
7899 * video/video.c (grub_video_adapter_list): Make global.
7900 (grub_video_register): Removed.
7901 (grub_video_unregister): Likewise.
7902 (grub_video_iterate): Likewise.
7903
7904 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7907 reported by Henrique Ferreiro.
7908
7909 2010-06-09 Robert Millan <rmh@gnu.org>
7910
7911 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7912 ones, when both are available.
7913
7914 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7915
7916 Make --version uniform and avoid hard-coded program name.
7917
7918 * util/grub-mkimage.c (main): Use `program_name' instead of
7919 hard-coded string.
7920 * util/i386/pc/grub-setup.c (main): Likewise.
7921 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7922 * util/grub-install.in: Save the basename of $0 in $self, and use the
7923 latter in informational messages. Use the same format for --version
7924 as the binary programs.
7925 * util/grub-mkconfig.in: Likewise.
7926 * util/grub-mkrescue.in: Likewise.
7927 * util/grub-reboot.in: Likewise.
7928 * util/grub-set-default.in: Likewise.
7929 * util/i386/efi/grub-install.in: Likewise.
7930 * util/ieee1275/grub-install.in: Likewise.
7931 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7932
7933 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7934
7935 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7936 embedding area. Use <= instead of == when checking for non-emptiness.
7937
7938 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7939
7940 * configure.ac: Add `.' to the directories searched for unifont.
7941
7942 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7943
7944 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7945 grub_script.yy.h.
7946
7947 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7948
7949 * docs/grub.texi (History): Expand to cover GRUB 2.
7950 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7951 commands, not `terminal'.
7952 (serial): Likewise.
7953 (terminal_input): New section.
7954 (terminal_output): New section.
7955 (uppermem): New section (stub).
7956 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7957
7958 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7959
7960 * docs/grub.texi (Security): Menu entries are unrestricted by
7961 default, not restricted to superusers as I had previously thought.
7962 Reword to account for this.
7963
7964 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7965
7966 * kern/emu/misc.c (device_mapper_null_log): New function.
7967 (grub_device_mapper_supported): New function.
7968 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7969 prototype.
7970 * kern/emu/hostdisk.c (find_partition_start): Check whether
7971 device-mapper is supported before trying to use it.
7972 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7973
7974 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7975
7976 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7977 (File name syntax): Likewise.
7978 (help): --all is no longer supported in GRUB 2. Be more precise
7979 about pattern matching.
7980
7981 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7982
7983 * normal/completion.c (grub_normal_do_completion): When completing
7984 arguments to "set" and the current word contains an equals sign,
7985 skip to after the equals sign before starting completion.
7986
7987 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7990
7991 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7992
7993 * docs/grub.texi (Network): New section.
7994 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7995 `(nd)' as in GRUB Legacy.
7996 (pxe_unload): New section.
7997
7998 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7999
8000 * docs/grub.texi (Troubleshooting): `echo' is not usually available
8001 in the rescue shell, so recommend using `set' instead. Thanks,
8002 Jordan Uggla.
8003
8004 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
8005
8006 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
8007 (password): New section.
8008 (password_pbkdf2): New section.
8009 (search): New section.
8010 (Security): New section.
8011 (Troubleshooting): New section, currently very incomplete.
8012 (Invoking grub-mkpasswd-pbkdf2): New section.
8013 (Internals): New section, currently very incomplete.
8014
8015 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
8016
8017 * util/grub.d/00_header.in: Add some more quoting (of
8018 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
8019 work again.
8020 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
8021
8022 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
8023
8024 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
8025 to `count', fixing variable shadowing that broke the -c option.
8026
8027 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
8028
8029 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
8030 in case they contain spaces.
8031
8032 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
8033
8034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
8035 "part_" to partmap module names, in line with grub-install.
8036 Reported by: Jindřich Makovička (Debian bug #584426).
8037
8038 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
8039
8040 * util/grub-mkimage.c: Make target-related error messages slightly
8041 more helpful; -O talks about "format". Explicitly point to the use
8042 of -O if no target is specified.
8043 Reported by: Didier Raboud (Debian bug #584415).
8044
8045 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
8046
8047 * INSTALL: Document several build requirements for optional features
8048 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
8049
8050 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8051
8052 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
8053 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
8054 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
8055
8056 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8057
8058 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
8059 Thanks to Jordan Uggla for spotting this.
8060
8061 2010-06-02 Aleš Nesrsta <starous@volny.cz>
8062
8063 Finally make USB usable.
8064
8065 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
8066 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
8067 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
8068 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
8069 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
8070 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
8071 (GRUB_OHCI_FSMPS): Likewise.
8072 (GRUB_OHCI_PERIODIC_START): Likewise.
8073 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
8074 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
8075 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
8076 (GRUB_OHCI_SET_PORT_RESET): Likewise.
8077 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
8078 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
8079 (grub_ohci_transaction): Likewise.
8080 (grub_ohci_transfer): Improve condition detection algorithms.
8081 Handle toggle property. Program the transactions correctly.
8082 Improve error handling. Various important fixups.
8083 (grub_ohci_portstatus): Put register writes in right order.
8084 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
8085 (grub_uhci_transfer): Don't show "failed" message on success.
8086 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
8087 array.
8088 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
8089 determine its size.
8090 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
8091 before initialization is completed. Use IN direction for empty
8092 transfers. Use last_trans and compute toggle.
8093 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
8094 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
8095 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
8096 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
8097 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
8098 (grub_usb_device): Increase toggle to 256.
8099 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8100 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8101 GRUB_USBMS_SUBCLASS_SFF8070.
8102 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8103 (grub_scsi_inquiry): New member page and alloc_length.
8104 (grub_scsi_request_sense): New structure.
8105 (grub_scsi_request_sense_data): Likewise.
8106 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8107 control.
8108 * disk/scsi.c (grub_scsi_request_sense): New function.
8109 (grub_scsi_test_unit_ready): Likewise.
8110 (grub_scsi_inquiry): Fill new fields.
8111 (grub_scsi_read_capacity): Likewise.
8112 (grub_scsi_read10): Add request sense at the end.
8113 (grub_scsi_read12): Likewise.
8114 (grub_scsi_write10): Likewise.
8115 (grub_scsi_write12): Likewise.
8116 (grub_scsi_open): Add Test Unit Ready.
8117 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8118 Support additional subclasses. Con't clear halt yet. Activate the
8119 proper config. Calculate LUNs correctly.
8120 (grub_usbms_transfer): Various important fixups.
8121
8122 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8125 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8126 (grub_ohci_fini_hw): New function.
8127 (grub_ohci_restore_hw): Likewise.
8128 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8129 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8130 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8131
8132 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Dedicated DMA allocations.
8135
8136 * bus/pci.c (grub_memalign_dma32): New function
8137 (grub_dma_free): Likewise.
8138 (grub_dma_get_virt): Likewise.
8139 (grub_dma_get_phys): Likewise.
8140 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8141 (grub_ohci_pci_iter): Use dma32_alloc.
8142 (grub_ohci_transfer): Likewise.
8143 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8144 (grub_usb_bulk_readwrite): Likewise.
8145 * include/grub/pci.h: Add declarations.
8146
8147 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 CS5536 support.
8150
8151 * bus/cs5536.c: New file.
8152 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8153 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8154 (cs5536_mod_SOURCES): New variable.
8155 (cs5536_mod_CFLAGS): Likewise.
8156 (cs5536_mod_LDFLAGS): Likewise.
8157 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8158 machine/pci.h.
8159 (kernel_img_SOURCES): Add bus/cs5536.c.
8160 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8161 usb_keyboard.mod.
8162 (usb_mod_SOURCES): New variable.
8163 (usb_mod_CFLAGS): New variable.
8164 (usb_mod_LDFLAGS): New variable.
8165 (usbtest_mod_SOURCES): New variable.
8166 (usbtest_mod_CFLAGS): New variable.
8167 (usbtest_mod_LDFLAGS): New variable.
8168 (ohci_mod_SOURCES): New variable.
8169 (ohci_mod_CFLAGS): New variable.
8170 (ohci_mod_LDFLAGS): New variable.
8171 (usbms_mod_SOURCES): New variable.
8172 (usbms_mod_CFLAGS): New variable.
8173 (usbms_mod_LDFLAGS): New variable.
8174 (usb_keyboard_mod_SOURCES): New variable.
8175 (usb_keyboard_mod_CFLAGS): New variable.
8176 (usb_keyboard_mod_LDFLAGS): New variable.
8177 * include/grub/smbus.h: New file.
8178 * include/grub/cs5536.h: New file.
8179
8180 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8181
8182 * util/grub.d/00_header.in: Add safety check to make sure that
8183 ${locale_dir} exists before trying to probe it.
8184
8185 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8186
8187 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8188 per the GNU Coding Standards; this is now too obscure to be worth
8189 documenting.
8190 (QNX): Likewise.
8191 (chainloader): Remove cross-reference to `SCO UnixWare'.
8192
8193 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8194
8195 * docs/grub.texi (Chain-loading): New section.
8196 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8197 adjusted for GRUB 2.
8198 (SCO UnixWare): Likewise.
8199 (QNX): Likewise.
8200 (chainloader): Add reference to `Block list syntax'.
8201 (drivemap): New section.
8202 (parttool): New section.
8203
8204 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8205
8206 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8207 the grub shell'.
8208 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8209 (Installing GRUB using grub-install): Remove reference to the grub
8210 shell; mention `grub-mkimage' and `grub-setup' instead.
8211 (Invoking grub-install): Likewise.
8212 (Interface): Add reference to `Menu entry editor'.
8213 (serial): Remove `--device' option.
8214
8215 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8216
8217 * docs/grub.texi (Configuration): New section, documenting
8218 configuration file generation using grub-mkconfig. I've left a slot
8219 for documenting the full shell scripting format but have not yet
8220 started on writing that up.
8221 (Invoking grub-mkconfig): New section.
8222
8223 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8224
8225 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8226 (GNU GRUB manual): Likewise.
8227 (General commands): Update description of `terminfo' for GRUB 2.
8228
8229 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8232 (GRUB_MOD_INIT): Fix capitalisation.
8233 * docs/grub.texi (Command-line and menu entry commands): Document
8234 gettext and gptsync commands.
8235
8236 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8239 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8240
8241 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
8242
8243 Add btrfs probing support, currently only in the single-device case.
8244
8245 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8246 function.
8247 (grub_guess_root_device): Call find_root_device_from_mountinfo
8248 before looking in /dev.
8249
8250 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8253 GRUB_DISK_SIZE_UNKNOWN.
8254 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8255
8256 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
8257
8258 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8259 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8260 corrupted or not synced properly.
8261
8262 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8265 Reported by: Seth Goldberg.
8266
8267 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8270 addition of dest.
8271 Reported by: Seth Goldberg.
8272
8273 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8276 Reported by: Seth Goldberg.
8277
8278 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8281 64-bit address as signed on MIPS.
8282
8283 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8284
8285 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8286 to the empty string.
8287
8288 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8289
8290 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8291
8292 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8293 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8294 * kern/misc.c (__enable_execute_stack): Disable on
8295 GRUB_MACHINE_EMU.
8296
8297 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8298
8299 Make grub-probe work with symbolic links under /dev/mapper as well
8300 as with real block devices. The Linux world seems to be (at best)
8301 in transition here, and GRUB shouldn't get caught in the middle.
8302
8303 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8304 /dev/mapper.
8305
8306 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8307
8308 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8309 input files (in which case exit zero).
8310
8311 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8312
8313 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8314 return NULL for various reasons even if it has a maximum-length
8315 buffer: for example, there might be a symlink loop, or the path
8316 might exceed PATH_MAX. If this happens, return NULL.
8317
8318 2010-05-27 Robert Millan <rmh@gnu.org>
8319
8320 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8321 partmap module to handle cross-partmap setups.
8322 Reported by Orestes Mas. Gràcies!
8323
8324 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8325
8326 * util/grub-mkrescue.in: Initialise override_dir rather than
8327 assuming that it's unset or empty in the environment.
8328
8329 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8330
8331 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8332 variable index into p_index to suppress a warning with -Wshadow.
8333
8334 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8335
8336 * INSTALL: Added flex >= 2.5.35 requirement.
8337
8338 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8341
8342 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 cmostest support.
8345
8346 * commands/i386/cmostest.c: New file.
8347 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8348 (cmostest_mod_SOURCES): New variable.
8349 (cmostest_mod_CFLAGS): Likewise.
8350 (cmostest_mod_LDFLAGS): Likewise.
8351 * conf/i386-pc.rmk: Likewise.
8352 * docs/grub.texi (Vendor power-on keys): New section.
8353 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8354 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8355 and GRUB_BUTTON_CMOS_ADDRESS.
8356 * util/grub.d/00_header.in: Handle powering-on by separate button.
8357
8358 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8361 Removed drawing_scrollbar argument. All users updated
8362 Fixes #29792.
8363 Reported by Jo Shields
8364
8365 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8368 buffer since gfxterm handles double repaint.
8369
8370 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8373 * term/gfxterm.c (real_scroll): Likewise.
8374
8375 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8378 before calling BIOS.
8379
8380 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * include/grub/i18n.h: Always enable grub_gettext.
8383
8384 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8387 partition naming style.
8388
8389 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8390
8391 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8392 not the first option.
8393
8394 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8395
8396 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8397
8398 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8399
8400 * util/misc.c: Move inclusion of <limits.h> to ...
8401 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8402
8403 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8404
8405 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8406 Fix merge error in NetBSD code.
8407 (find_partition_start) [__NetBSD__]: Likewise.
8408
8409 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8410
8411 Fix grub-mkrescue usage unit testing.
8412
8413 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8414
8415 2010-05-18 Christian Franke <franke@computer.org>
8416
8417 * util/grub.d/10_windows.in: Use path names instead of
8418 drive letters to prevent warning from Cygwin 1.7.
8419 Add drivemap command to menuentry if needed.
8420
8421 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8422
8423 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8424 gnumach and gnumach.gz.
8425
8426 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * include/grub/i18n.h (gettext): Inline instead of using #define.
8429 (grub_gettext): Likewise.
8430 (_): Likewise.
8431
8432 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8435 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8436 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8437 (main): Add a slash after pkglibdirroot.
8438
8439 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * util/grub-install.in: Add missing "in" keyword.
8442
8443 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8446 Reported by: Seth Goldberg.
8447
8448 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8451
8452 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8453
8454 * configure.ac: Check for Linux device-mapper support.
8455
8456 * util/hostdisk.c (device_is_mapped): New function.
8457 (find_partition_start): New function, partly broken out from
8458 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8459 device-mapper support added.
8460 (linux_find_partition): Use find_partition_start.
8461 (convert_system_partition_to_system_disk): Add `st' argument.
8462 Support Linux /dev/mapper/* devices if device-mapper support is
8463 available; only DM-RAID devices are understood at present.
8464 (find_system_device): Add `st' argument. Pass it to
8465 convert_system_partition_to_system_disk.
8466 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8467 find_system_device and convert_system_partition_to_system_disk. Use
8468 find_partition_start.
8469
8470 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8471 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8472 * util/deviceiter.c [__linux__]: Define MINOR.
8473 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8474 * util/mkdevicemap.c (grub_putchar): New function.
8475 (grub_getkey): New function.
8476 (grub_refresh): New function.
8477 (main): Set debug=all if -v -v is used.
8478
8479 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8480
8481 Fix build with non-GNU libcs.
8482
8483 * util/misc.c (canonicalize_file_name): Move to ...
8484 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8485 grub_make_system_path_relative_to_its_root.
8486
8487 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8488
8489 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8490 we handle finding grub-mkimage. Default to finding grub-mkimage in
8491 ${bindir} with program_transform_name applied, and provide a
8492 --grub-mkimage option to override this.
8493
8494 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Remove grub-mkisofs.
8497
8498 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8499 (grub_mkisofs_SOURCES): Removed.
8500 (grub_mkisofs_CFLAGS): Removed.
8501 * util/mkisofs/defaults.h: Removed.
8502 * util/mkisofs/eltorito.c: Likewise.
8503 * util/mkisofs/exclude.h: Likewise.
8504 * util/mkisofs/hash.c: Likewise.
8505 * util/mkisofs/include/: Likewise.
8506 * util/mkisofs/include/fctldefs.h: Likewise.
8507 * util/mkisofs/include/mconfig.h: Likewise.
8508 * util/mkisofs/include/prototyp.h: Likewise.
8509 * util/mkisofs/include/statdefs.h: Likewise.
8510 * util/mkisofs/iso9660.h: Likewise.
8511 * util/mkisofs/joliet.c: Likewise.
8512 * util/mkisofs/match.c: Likewise.
8513 * util/mkisofs/match.h: Likewise.
8514 * util/mkisofs/mkisofs.c: Likewise.
8515 * util/mkisofs/mkisofs.h: Likewise.
8516 * util/mkisofs/msdos_partition.h: Likewise.
8517 * util/mkisofs/multi.c: Likewise.
8518 * util/mkisofs/name.c: Likewise.
8519 * util/mkisofs/rock.c: Likewise.
8520 * util/mkisofs/tree.c: Likewise.
8521 * util/mkisofs/write.c: Likewise.
8522
8523 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 Unify grub-mkimage accross platforms.
8526
8527 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8528 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8529 (grub_mkelfimage_SOURCES): Removed.
8530 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8531 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8532 (bin_UTILITIES): Add grub-mkimage.
8533 (grub_mkimage_SOURCES): New variable.
8534 (kernel_img_HEADERS): Remove machine/kernel.h.
8535 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8536 (pkglib_PROGRAMS): Add kernel.img.
8537 (kernel_img_HEADERS): Add machine/kernel.h.
8538 (kernel_img_FORMAT): Removed.
8539 (bin_UTILITIES): Remove grub-mkimage.
8540 (grub_mkimage_SOURCES): Removed.
8541 (grub_mkimage_CFLAGS): Likewise.
8542 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8543 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8544 (pkglib_PROGRAMS): Add kernel.img.
8545 (bin_UTILITIES): Remove grub-mkimage.
8546 (grub_mkimage_SOURCES): Removed.
8547 (grub_mkimage_CFLAGS): Likewise.
8548 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8549 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8550 (pkglib_PROGRAMS): Add kernel.img.
8551 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8552 (pkglib_PROGRAMS): Add kernel.img.
8553 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8554 (grub_mkimage_SOURCES): Removed.
8555 (grub_mkimage_CFLAGS): Likewise.
8556 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8557 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8558 (pkglib_PROGRAMS): Add kernel.img.
8559 (bin_UTILITIES): Remove grub-mkimage.
8560 (grub_mkimage_SOURCES): Removed.
8561 (grub_mkimage_CFLAGS): Likewise.
8562 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8563 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8564 (grub_mkimage_SOURCES): Removed.
8565 (grub_mkimage_CFLAGS): Likewise.
8566 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8567 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8568 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8569 (grub_pe32_optional_header): ... this.
8570 (grub_pe64_optional_header): ... and this. All users updated.
8571 (GRUB_PE32_PE32_MAGIC): Split into ..
8572 (GRUB_PE32_PE32_MAGIC): .. this.
8573 (GRUB_PE32_PE64_MAGIC): .. and this.
8574 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8575 * include/grub/elf.h (PT_GNU_STACK): New definition.
8576 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8577 * include/grub/i386/efi/kernel.h: Likewise.
8578 * include/grub/i386/kernel.h: Likewise.
8579 * include/grub/i386/pc/kernel.h: Likewise.
8580 * include/grub/i386/qemu/boot.h: Likewise.
8581 * include/grub/mips/kernel.h: Likewise.
8582 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8583 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8584 * include/grub/powerpc/kernel.h: Likewise.
8585 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8586 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8587 * include/grub/sparc64/kernel.h: Likewise.
8588 * include/grub/x86_64/efi/kernel.h: Likewise.
8589 * include/grub/x86_64/kernel.h: Likewise.
8590 * include/grub/offsets.h: New file.
8591 * include/grub/kernel.h (grub_module_info): Split into ...
8592 (grub_module_info32): ... this.
8593 (grub_module_info64): ... and this.
8594 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8595 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8596 (grub_boot_blocklist): Moved from here ...
8597 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8598 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8599 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8600 * include/grub/types.h (grub_target_to_host16): Removed.
8601 (grub_target_to_host32): Likewise.
8602 (grub_target_to_host64): Likewise.
8603 (grub_host_to_target16): Likewise.
8604 (grub_host_to_target32): Likewise.
8605 (grub_host_to_target64): Likewise.
8606 (grub_host_to_target_addr): Likewise.
8607
8608 Support grub-mkrescue for efi, coreboot and qemu.
8609
8610 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8611 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8612 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8613 * util/grub-mkrawimage.c: Moved from here ...
8614 * util/grub-mkimage.c: ... here. All users updated.
8615 (ALIGN_ADDR): Use image_target.
8616 (TARGET_NO_FIELD): New const.
8617 (image_target_desc): New type.
8618 (image_targets): New array.
8619 (grub_target_to_host64): Use image_target.
8620 (grub_target_to_host32): Likewise.
8621 (grub_target_to_host16): Likewise.
8622 (grub_host_to_target64): Likewise.
8623 (grub_host_to_target32): Likewise.
8624 (grub_host_to_target16): Likewise.
8625 (grub_host_to_target_addr): Likewise.
8626 (generate_image): Handle multiimage.
8627 (main): Require -O parameter. All users updated.
8628 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8629 util/efi/grub-mkimage.c
8630 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8631 New option --rom-directory.
8632 Use xorriso.
8633 * util/i386/efi/grub-mkimage.c: Removed.
8634 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8635 (grub_target_to_host32): Likewise.
8636 (grub_target_to_host64): Likewise.
8637 (grub_host_to_target16): Likewise.
8638 (grub_host_to_target32): Likewise.
8639 (grub_host_to_target64): Likewise.
8640 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8641 (grub_target_to_host32): Likewise.
8642 (grub_target_to_host64): Likewise.
8643 (grub_host_to_target16): Likewise.
8644 (grub_host_to_target32): Likewise.
8645 (grub_host_to_target64): Likewise.
8646
8647 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8648
8649 Source tree is reorganized for emu build.
8650
8651 * include/grub/util/console.h: Move from here...
8652 * include/grub/emu/console.h: ...to here.
8653 * include/grub/util/getroot.h: Move from here...
8654 * include/grub/emu/getroot.h: ...to here.
8655 * include/grub/util/hostdisk.h: Move from here...
8656 * include/grub/emu/hostdisk.h: ...to here.
8657 * util/console.c: Move from here...
8658 * kern/emu/console.c: ...to here.
8659 * util/getroot.c: Move from here...
8660 * kern/emu/getroot.c: ...to here.
8661 * util/grub-emu.c: Move from here...
8662 * kern/emu/main.c: ...to here.
8663 * util/hostdisk.c: Move from here...
8664 * kern/emu/hostdisk.c: ...to here.
8665 * util/hostfs.c: Move from here...
8666 * kern/emu/hostfs.c: ...to here.
8667 * util/mm.c: Move from here...
8668 * kern/emu/mm.c: ...to here.
8669 * util/pci.c: Move from here...
8670 * bus/emu/pci.c: ...to here.
8671 * util/sdl.c: Move from here...
8672 * video/emu/sdl.c: ...to here.
8673 * util/time.c: Move from here...
8674 * kern/emu/time.c: ...to here.
8675 * util/usb.c: Move from here...
8676 * bus/usb/emu/usb.c: ...to here.
8677
8678 * include/grub/emu/misc.h: New header for grub-emu functions.
8679 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8680
8681 * conf/any-emu.rmk: Rule updates for above renames.
8682 * conf/common.rmk: Likewise.
8683 * conf/i386-pc.rmk: Likewise.
8684 * conf/i386-qemu.rmk: Likewise.
8685 * conf/mips.rmk: Likewise.
8686 * conf/sparc64-ieee1275.rmk: Likewise.
8687 * conf/x86-efi.rmk: Likewise.
8688
8689 * disk/lvm.h: #include updates for above renames.
8690 * util/grub-mkrelpath.c: Likewise.
8691 * util/grub-probe.c: Likewise.
8692 * util/i386/pc/grub-setup.c: Likewise.
8693 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8694 * kern/emu/console.c: Likewise.
8695 * kern/emu/getroot.c: Likewise.
8696 * kern/emu/hostdisk.c: Likewise.
8697 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8698
8699 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8700 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8701 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8702 * util/misc.c: Remove grub-emu functions.
8703
8704 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 Fix gfxmenu crash.
8707 Reported by: Thorsten Grützmacher.
8708
8709 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8710 timeout hook.
8711 (circprog_set_property): Register and unregister timeout hook.
8712 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8713 (label_destroy): Free template. and unregister hook.
8714 (label_set_state): New function.
8715 (label_set_property): Handle templates and hooks.
8716 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8717 timeout hook.
8718 (progress_bar_set_property): Register and unregister timeout hook.
8719 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8720 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8721 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8722 (update_timeout_visit): Removed.
8723 (update_timeouts): New function.
8724 (redraw_timeouts): Likewise.
8725 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8726 (grub_gfxmenu_clear_timeout): Likewise.
8727 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8728 (grub_gfxmenu_timeout_notify): Likewise.
8729 (grub_gfxmenu_timeout_notifications): New external variable.
8730 (grub_gfxmenu_timeout_register): New function.
8731 (grub_gfxmenu_timeout_unregister): Likewise.
8732
8733 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 Transform (broken) vga terminal into (working) vga video driver.
8736
8737 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8738 video/i386/pc/vga.c.
8739 * include/grub/video.h (grub_video_driver_id):
8740 Add GRUB_VIDEO_DRIVER_VGA.
8741 * term/i386/pc/vga.c: Renamed to ...
8742 * video/i386/pc/vga.c: ...this
8743 (DEBUG_VGA): Removed.
8744 (CHAR_WIDTH): Likewise.
8745 (CHAR_HEIGHT): Likewise.
8746 (TEXT_WIDTH): Likewise.
8747 (TEXT_HEIGHT): Likewise.
8748 (DEFAULT_FG_COLOR): Likewise.
8749 (DEFAULT_BG_COLOR): Likewise.
8750 (colored_char): Likewise.
8751 (xpos): Likewise.
8752 (ypos): Likewise.
8753 (cursor_state): Likewise.
8754 (fg_color): Likewise.
8755 (bg_color): Likewise.
8756 (text_buf): Likewise.
8757 (page): Likewise.
8758 (font): Likewise.
8759 (framebuffer): New variable.
8760 (set_read_map): Disabled.
8761 (setup): New variable.
8762 (is_target): Likewise.
8763 (grub_vga_mod_init): Likewise.
8764 (grub_vga_mod_fini): Likewise.
8765 (check_vga_mem): Likewise.
8766 (write_char): Likewise.
8767 (write_cursor): Likewise.
8768 (scroll_up): Likewise.
8769 (grub_vga_putchar): Likewise.
8770 (grub_vga_getcharwidth): Likewise.
8771 (grub_vga_getwh): Likewise.
8772 (grub_vga_getxy): Likewise.
8773 (grub_vga_gotoxy): Likewise.
8774 (grub_vga_cls): Likewise.
8775 (grub_vga_setcolorstate): Likewise.
8776 (grub_vga_setcursor): Likewise.
8777 (grub_video_vga_init): New function.
8778 (grub_video_vga_setup): Likewise.
8779 (grub_video_vga_fini): Likewise.
8780 (update_target): Likewise.
8781 (grub_video_vga_blit_bitmap): Likewise.
8782 (grub_video_vga_blit_render_target): Likewise.
8783 (grub_video_vga_set_active_render_target): Likewise.
8784 (grub_video_vga_get_active_render_target): Likewise.
8785 (grub_video_vga_swap_buffers): Likewise.
8786 (grub_video_vga_set_palette): Likewise.
8787 (grub_video_vga_get_info_and_fini): Likewise.
8788 (grub_vga_term): Removed.
8789 (grub_video_vga_adapter): New variable.
8790 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8791 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8792
8793 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * video/readers/jpeg.c: Indented.
8796
8797 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 Various jpeg cleanups.
8800
8801 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8802 (grub_jpeg_decode_quan_table): Use sizeof.
8803 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8804
8805 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8806
8807 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8808 tables. Ignore non-last ac bit.
8809 (grub_jpeg_decode_quan_table): Likewise.
8810
8811 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8814 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8815 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8816 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8817 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8818 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8819
8820 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8823 error.
8824
8825 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8828
8829 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8832 condition.
8833
8834 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8837 part.
8838
8839 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8842 pointers.
8843
8844 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8847
8848 2010-05-01 Christian Franke <franke@computer.org>
8849
8850 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8851 Remove broken Cygwin path conversion.
8852 * util/misc.c: [__CYGWIN__] Add include and define.
8853 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8854 for Cygwin 1.7.
8855 (make_system_path_relative_to_its_root): Simplify loop, replace early
8856 return by break.
8857 [__CYGWIN__] Add conversion to win32 path.
8858 Include "/" case in trailing slash removal.
8859
8860 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8863 Reported by: Seth Goldberg
8864
8865 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * commands/help.c (grub_cmd_help): Fix a typo.
8868 Reported by: Seth Goldberg
8869
8870 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8873 name and add N_.
8874 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8875 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8876 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8877 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8878 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8879 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8880 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8881 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8882 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8883 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8884 * normal/context.c (GRUB_MOD_INIT): Likewise.
8885 * normal/main.c (GRUB_MOD_INIT): Likewise.
8886 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8887 * term/serial.c (GRUB_MOD_INIT): Likewise.
8888 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8889
8890 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8893 extra == 0.
8894
8895 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * commands/iorw.c: New file.
8898 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8899 (iorw_mod_SOURCES): New variable.
8900 (iorw_mod_CFLAGS): Likewise.
8901 (iorw_mod_LDFLAGS): Likewise.
8902
8903 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 Hotkey support
8906
8907 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8908 * normal/main.c (hotkey_aliases): New variable.
8909 (grub_normal_add_menu_entry): Parse "--hotkey".
8910 * normal/menu_text.c (run_menu): Handle hotkeys.
8911
8912 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * kern/i386/coreboot/init.c (grub_machine_init): Call
8915 grub_machine_mmap_init on qemu.
8916
8917 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * boot/i386/qemu/boot.S: Add a missing .code16.
8920
8921 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Use LBIO on coreboot.
8924
8925 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8926 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8927 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8928 New declaration.
8929 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8930 grub_machine_mmap_init on coreboot.
8931 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8932 GRUB_LINUXBIOS_MEMBER_LINK.
8933 (grub_machine_mmap_iterate): Fix declaration.
8934 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8935
8936 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Split coreboot and multiboot ports.
8939
8940 * conf/i386-multiboot.rmk: New file.
8941 * configure.ac: Add multiboot port.
8942 * include/grub/i386/multiboot/boot.h: New file.
8943 * include/grub/i386/multiboot/console.h: Likewise.
8944 * include/grub/i386/multiboot/init.h: Likewise.
8945 * include/grub/i386/multiboot/kernel.h: Likewise.
8946 * include/grub/i386/multiboot/loader.h: Likewise.
8947 * include/grub/i386/multiboot/memory.h: Likewise.
8948 * include/grub/i386/multiboot/serial.h: Likewise.
8949 * include/grub/i386/multiboot/time.h: Likewise.
8950 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8951 * loader/multiboot.c: Likewise.
8952 * loader/multiboot_mbi2.c: Likewise.
8953 * util/grub-mkrescue.in: Generate multiboot rescue.
8954
8955 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8958
8959 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Merge handling of input and output terminals. Fix a hang.
8962
8963 * commands/terminal.c (abstract_terminal): New struct.
8964 (handle_command): New function. Based on grub_cmd_terminal_input.
8965 (grub_cmd_terminal_input): Use handle_command.
8966 (grub_cmd_terminal_output): Use handle_command.
8967
8968 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8969
8970 Fix comment handling.
8971
8972 * tests/grub_script_comments.in: New testcase.
8973 * conf/tests.rmk: Rules for new testcase.
8974 * script/yylex.l: Updated flex rules.
8975
8976 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8977
8978 * docs/grub.texi (play): Document that zero pitches produce rests.
8979 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8980 if argc is 1.
8981
8982 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8985 autogen issues.
8986
8987 2010-04-26 Christian Franke <franke@computer.org>
8988
8989 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8990 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8991 (grub_get_prefix): Remove function.
8992 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8993 make_system_path_relative_to_its_root ().
8994 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8995
8996 2010-04-24 Christian Franke <franke@computer.org>
8997
8998 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8999 (kernel_img_LDFLAGS): Remove -static-libgcc.
9000
9001 2010-04-24 Christian Franke <franke@computer.org>
9002
9003 * configure.ac: Do not CHECK_BSS_START_SYMBOL
9004 and CHECK_END_SYMBOL if grub-emu is built.
9005 Unset TARGET_OBJ2ELF if grub-emu is built
9006 without module support.
9007
9008 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
9009
9010 Nilfs2 support.
9011
9012 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
9013 (grub_fstest_SOURCES): Likewise.
9014 (pkglib_MODULES): Add nilfs2.mod.
9015 (nilfs2_mod_SOURCES): New variable.
9016 (nilfs2_mod_CFLAGS): Likewise.
9017 (nilfs2_mod_LDFLAGS): Likewise.
9018 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9019 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9020 * fs/nilfs2.c: New file.
9021
9022 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
9025 is not supported.
9026
9027 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
9028
9029 Add grub-mkconfig support for NetBSD.
9030
9031 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
9032 * util/grub-mkconfig.in: export new NetBSD specific variables.
9033 * po/POTFILES-shell: added 10_netbsd.in.
9034 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
9035
9036 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
9037
9038 Fix emu build with grub-emu-pci and grub-emu-modules.
9039
9040 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
9041 functions.
9042 * include/grub/libpciaccess.h: New file.
9043 * conf/any-emu.rmk: Update kernel headers for emu build.
9044
9045 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
9048
9049 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
9052
9053 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
9056 Retrieve chosen/bootpath if bootpath isn't hardcoded.
9057 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
9058 util/ieee1275/ofpath.c.
9059 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
9060 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
9061 * include/grub/sparc64/ieee1275/boot.h
9062 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
9063 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
9064 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
9065 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
9066 const char *.
9067 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
9068 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
9069 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
9070 install.
9071
9072 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9073
9074 * util/grub-mkconfig.in: Corrected two == equality tests.
9075 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
9076 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
9077 expect a number appended to it.
9078 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
9079 expects a number appended to it.
9080
9081 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
9084
9085 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * util/hostdisk.c (make_device_name): Change to new partition naming.
9088
9089 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
9092
9093 2010-04-17 Christian Franke <franke@computer.org>
9094
9095 * Makefile.in: Add missing localedir setting.
9096
9097 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
9098
9099 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9100 mistake in r2156. Noticed by Anthony Fok.
9101
9102 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9103 @localedir@.
9104 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9105
9106 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9107
9108 Fix a spurious, uninitialized variable warning.
9109
9110 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9111 Initialize variable, shdr.
9112 (grub_freebsd_load_elfmodule): Likewise.
9113 (grub_freebsd_load_elf_meta): Likewise.
9114
9115 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9116
9117 Fix for escaped dollar in double quoted strings.
9118
9119 * script/yylex.l: Updated flex rules.
9120 * conf/tests.rmk: Rule for new testcase.
9121 * tests/grub_script_dollar.in: New testcase.
9122
9123 2010-04-13 Carles Pina i Estany <carles@pina.cat>
9124 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
9125
9126 Enclose all translated strings in grub.cfg in single quotes, and
9127 escape them appropriately (Ubuntu bug #552921).
9128
9129 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9130 * util/grub.d/10_hurd.in: Use it.
9131 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9132 * util/grub.d/10_linux.in (linux_entry): Likewise.
9133
9134 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 Fix cygwin compilation.
9137
9138 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9139 * include/grub/misc.h (__register_frame_info)
9140 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9141 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9142 * kern/misc.c (__register_frame_info)
9143 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9144 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9145
9146 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9149
9150 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Unify libgcc processing.
9153
9154 * Makefile.in (kernel_img_LDFLAGS): New variable.
9155 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9156 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9157 overwriting.
9158 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9159 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9160 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9161 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9162 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9163 overwriting. Remove -lgcc and -static-libgcc
9164 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9165 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9166 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9167 (kernel_img_LDFLAGS): Append instead of overwriting.
9168 Remove -lgcc and -static-libgcc
9169 * conf/sparc64-ieee1275.rmk: Likewise.
9170 * include/grub/powerpc/libgcc.h: Move to ...
9171 * include/grub/libgcc.h: .. this.
9172 * include/grub/libgcc.h: Don't export most of the function on x86.
9173 (__bswapsi2): New export.
9174 (__bswapdi2): Likewise.
9175 * include/grub/mips/libgcc.h: Removed.
9176 * include/grub/sparc64/libgcc.h: Likewise.
9177
9178 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9181 disk_info_msg (conflicts with gettexting into languages with cases).
9182
9183 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9184
9185 Add grub-probe support for NetBSD.
9186
9187 * util/getroot.c (find_root_device): Convert block device to
9188 character device on NetBSD.
9189 * util/probe.c (probe): Require character device on NetBSD.
9190 * util/hostdisk.c: NetBSD specific headers.
9191 (configure_device_driver): new function to tune device driver
9192 parameters (currently only for NetBSD floppy driver).
9193 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9194 via disklabel ioctl).
9195 (open_device): call configure_device_driver on NetBSD.
9196 (convert_system_partition_to_system_disk): NetBSD specific code.
9197 (device_is_wholedisk): Likewise.
9198 (grub_util_biosdisk_get_grub_dev): Likewise.
9199 (make_device_name): Fixed a typo in bsd_part_str.
9200 * configure.ac: check for opendisk() and getrawpartition() on
9201 NetBSD and set LIBUTIL.
9202 * Makefile.in: add LIBUTIL to LIBS.
9203
9204 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9205
9206 Documentation fix.
9207
9208 * util/grub-script-check.c: Better help message.
9209
9210 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9211
9212 Fix FreeBSD build.
9213
9214 * configure.ac: Flex version check.
9215 * conf/common.rmk: Add -Wno-error to sh.mod.
9216 * script/yylex.l: Remove all #pragma.
9217
9218 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9221 prototype.
9222 Reported by: Seth Goldberg.
9223
9224 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9227 Rename "module" to "module2".
9228 Reported by: Seth Goldberg.
9229
9230 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9233 EXPORT_FUNC.
9234 Reported by: Seth Goldberg.
9235
9236 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * lib/posix_wrap/locale.h: Add missing file.
9239 Reported by: Seth Goldberg.
9240
9241 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 grub-emu module load support.
9244
9245 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9246 NO_DYNAMIC_MODULES switched to this.
9247 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9248 (CFLAGS): Likewise.
9249 * conf/any-emu.rmk: Generate symlist.
9250 (kernel_img_HEADERS): Add util/datetime.h.
9251 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9252 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9253 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9254 kern/$(target_cpu)/cache.S.
9255 * configure.ac (grub-emu-modules): New option.
9256 * genmk.rb: Handle multiple source lists.
9257 * include/grub/sdl.h: New file.
9258 * include/grub/libusb.h: Likewise.
9259 * util/grub-emu.c (main): Hanle (host) root.
9260 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9261 GRUB_ERR_UNKNOWN_DEVICE.
9262 * util/misc.c: Move mm functions to ...
9263 * util/mm.c: ... here. All users updated.
9264
9265 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9268 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9269 missing files.
9270 (maintainer-clean): Remove libgcrypt-grub.
9271
9272 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9275
9276 2010-04-09 EFI Coder <eficoder@hotmail.com>
9277
9278 * normal/menu_text.c (print_message): Clean up the message and show
9279 the Fn information when on EFI
9280 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9281
9282 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9285 All users updated.
9286 * normal/crypto.c (read_crypto_list): Likewise.
9287 * normal/dyncmd.c (read_command_list): Likewise.
9288 * normal/term.c (read_terminal_list): Likewise.
9289 * normal/main.c (read_lists): Use explicit prefix.
9290 (read_lists_hook): Use read_lists.
9291 (grub_normal_execute): Likewise.
9292
9293 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9296 Reported by: Thomas Schmitt.
9297 Add -no-emul-boot to grub-mkisofs parameters.
9298
9299 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * font/font.c: Indented.
9302
9303 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9304
9305 Elif support to GRUB script (by Deepak Vankadaru).
9306
9307 * tests/grub_script_if.in: New testcase.
9308 * conf/tests.rmk: Rule for new testcase.
9309 * script/parser.y: Grammar rules for elif.
9310
9311 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9312
9313 While and until loops support to GRUB script.
9314
9315 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9316 (grub_script_create_cmdwhile): New function prototype.
9317 (grub_script_execute_cmdwhile): New function prototype.
9318 * script/execute.c (grub_script_execute_cmdwhile): New function.
9319 * script/parser.y (command): New commands.
9320 (whilecmd): New grammar rule.
9321 (untilcmd): New grammar rule.
9322 * script/script.c (grub_script_create_cmdwhile): New function.
9323 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9324 function.
9325
9326 * tests/grub_script_while1.in: New testcase.
9327 * conf/tests.rmk: Rule for new testcase.
9328
9329 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9332 as *.jpg.
9333
9334 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9335
9336 GRUB_BACKGROUND support.
9337
9338 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9339 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9340
9341 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 Load fonts and modules for gfxmenu in grub-mkconfig.
9344 Idea by: Mario Vazquez
9345
9346 * util/grub.d/00_header.in: Load pf2 and image modules.
9347
9348 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 grub-mkconfig multiple terminal support.
9351
9352 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9353 * util/grub.d/00_header.in: Likewise.
9354
9355 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9358 we use cd $(srcdir).
9359
9360 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9361
9362 * util/grub.d/10_linux.in: Only use the first word of
9363 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9364 spaces in GRUB_DISTRIBUTOR.
9365 * util/grub.d/10_kfreebsd.in: Likewise.
9366 * util/grub.d/10_hurd.in: Likewise.
9367
9368 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9369
9370 Fix unit testing framework for Qemu 0.12.
9371
9372 * tests/util/grub-shell.in: Remove -serial stdio option.
9373
9374 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 POSIX header file wrappers.
9377
9378 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9379 equivalents.
9380 * lib/posix_wrap/ctype.h: Likewise.
9381 * lib/posix_wrap/errno.h: Likewise.
9382 * lib/posix_wrap/langinfo.h: Likewise.
9383 * lib/posix_wrap/limits.h: Likewise.
9384 * lib/posix_wrap/localcharset.h: Likewise.
9385 * lib/posix_wrap/stdint.h: Likewise.
9386 * lib/posix_wrap/stdio.h: Likewise.
9387 * lib/posix_wrap/stdlib.h: Likewise.
9388 * lib/posix_wrap/string.h: Likewise.
9389 * lib/posix_wrap/sys/types.h: Likewise.
9390 * lib/posix_wrap/unistd.h: Likewise.
9391 * lib/posix_wrap/wchar.h: Likewise.
9392 * lib/posix_wrap/wctype.h: Likewise.
9393 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9394 (grub_script.yy.h): Likewise.
9395 * script/yylex.l: Remove POSIX emulation #defines.
9396 * Makefile.in (POSIX_CFLAGS): New variable.
9397 (GNULIB_UTIL_CFLAGS): Likewise.
9398
9399 Regexp support.
9400
9401 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9402 (regexp_mod_SOURCES): New variable.
9403 (regexp_mod_CFLAGS): Likewise.
9404 (regexp_mod_LDFLAGS): Likewise.
9405 * commands/regexp.c: New file.
9406 * gnulib/regcomp.c: New file. Imported from gnulib.
9407 * gnulib/regex.c: Likewise.
9408 * gnulib/regex_internal.c: Likewise.
9409 * gnulib/regex_internal.h: Likewise.
9410 * gnulib/regexec.c: Likewise.
9411 * gnulib/regex.h: Likewise.
9412
9413 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9416 unsupported video mode types.
9417
9418 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9421
9422 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9425 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9426
9427 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 Remove unused grub_vga_get_font.
9430
9431 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9432 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9433
9434 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9435
9436 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9437 * include/grub/misc.h: Likewise.
9438
9439 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9440
9441 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9442 for which failure is fatal.
9443
9444 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9445
9446 * util/grub-install.in: Use mkdir -p to create grub directory.
9447 * util/i386/efi/grub-install.in: Likewise.
9448 * util/ieee1275/grub-install.in: Likewise.
9449
9450 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9451
9452 * Makefile.in (LEX): new variable.
9453
9454 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9455
9456 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9457 `=' and added double quotes on operands of this equality test.
9458
9459 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * Makefile.in (uninstall): Remove a leftover debug echo.
9462 Reported by: Grégoire Sutre
9463
9464 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 MIPS multiboot2 support.
9467
9468 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9469 (multiboot2_mod_SOURCES): New variable.
9470 (multiboot2_mod_CFLAGS): Likewise.
9471 (multiboot2_mod_LDFLAGS): Likewise.
9472 (multiboot2_mod_ASFLAGS): Likewise.
9473 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9474 definition.
9475 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9476 (MULTIBOOT_MBI_REGISTER): Likewise.
9477 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9478 (MULTIBOOT_ELF32_MACHINE): Likewise.
9479 (MULTIBOOT_ELF64_MACHINE): Likewise.
9480 * include/grub/mips/multiboot.h: New file.
9481 * include/grub/video.h (grub_video_driver_id): New type
9482 GRUB_VIDEO_DRIVER_SM712.
9483 (grub_video_get_info_and_fini): Export.
9484 (grub_video_get_palette): Likewise.
9485 (grub_video_get_driver_id): Likewise.
9486 * include/multiboot2.h: Resynced with spec.
9487 * loader/i386/multiboot.c: Moved from here ...
9488 * loader/multiboot.c: ... here. All users updated.
9489 (grub_multiboot_boot): Use platform-specific macros.
9490 * loader/i386/multiboot_elfxx.c: Moved from here ...
9491 * loader/multiboot_elfxx.c: ... here. All users updated.
9492 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9493 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9494 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9495
9496 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 Import gnulib argp module.
9499
9500 * gnulib/argp-ba.c: New file.
9501 * gnulib/argp-eexst.c: Likewise.
9502 * gnulib/argp-fmtstream.c: Likewise.
9503 * gnulib/argp-fmtstream.h: Likewise.
9504 * gnulib/argp-fs-xinl.c: Likewise.
9505 * gnulib/argp-help.c: Likewise.
9506 * gnulib/argp-namefrob.h: Likewise.
9507 * gnulib/argp-parse.c: Likewise.
9508 * gnulib/argp-pin.c: Likewise.
9509 * gnulib/argp-pv.c: Likewise.
9510 * gnulib/argp-pvh.c: Likewise.
9511 * gnulib/argp-version-etc.c: Likewise.
9512 * gnulib/argp-version-etc.h: Likewise.
9513 * gnulib/argp-xinl.c: Likewise.
9514 * gnulib/argp.h: Likewise.
9515
9516 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * kern/device.c (grub_device_iterate): Clear errors after failed
9519 opening device.
9520
9521 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9524 returned by firmware.
9525
9526 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9529 compilation on coreboot and qemu
9530
9531 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * include/multiboot2.h: Resync with spec.
9534
9535 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Multiboot2 tag support
9538
9539 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9540 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9541 Remove loader/multiboot_loader.c.
9542 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9543 (grub_multiboot2_real_boot): Likewise.
9544 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9545 (grub_get_multiboot_mmap_count): New proto.
9546 (grub_fill_multiboot_mmap): Likewise.
9547 (grub_multiboot_set_video_mode): Likewise.
9548 (grub_multiboot_set_console): Likewise.
9549 (grub_multiboot_load): Likewise.
9550 (grub_multiboot_load_elf): Likewise.
9551 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9552 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9553 * include/multiboot.h: Resynced with specification.
9554 * include/multiboot2.h: Resynced with specification.
9555 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9556 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9557 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9558 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9559 users updated.
9560 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9561 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9562 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9563 Removed.
9564 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9565 Moved from here...
9566 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9567 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9568 Moved from here...
9569 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9570 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9571 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9572 All users updated.
9573 * loader/i386/multiboot_mbi2.c: New file.
9574
9575 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 Resync with gnulib.
9578
9579 * Makefile.in (GNULIB_CFLAGS): New variable.
9580 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9581 (grub_script_check_CFLAGS): New variable.
9582 * gnulib/alloca.h: Resync with gnulib.
9583 * gnulib/error.c: Likewise.
9584 * gnulib/error.h: Likewise.
9585 * gnulib/fnmatch.c: Likewise.
9586 * gnulib/fnmatch_loop.c: Likewise.
9587 * gnulib/getdelim.c: Likewise.
9588 * gnulib/getline.c: Likewise.
9589 * gnulib/getopt.c: Likewise.
9590 * gnulib/getopt1.c: Likewise.
9591 * gnulib/getopt_int.h: Likewise.
9592 * gnulib/gettext.h: Likewise.
9593 * gnulib/progname.c: Likewise.
9594 * gnulib/progname.h: Likewise.
9595
9596 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9597
9598 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9599 which is the case with --disabled-nls.
9600
9601 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9602 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9603 * util/misc.c: Likewise.
9604 * util/mkisofs/mkisofs.c: Likewise.
9605 * util/mkisofs/mkisofs.h: Likewise.
9606
9607 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 Simplify Apple CC support.
9610
9611 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9612 Add 0 byte at the end not to have a symbol with empty target.
9613 * mmap/i386/pc/mmap_helper.S: Likewise.
9614 * genmk.rb: Ignore errors 2030 and 2050.
9615 * kern/i386/pc/startup.S: Use LOCAL when possible.
9616
9617 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9618
9619 Testcase and the fix for final semicolon on cmdline.
9620
9621 * tests/grub_script_final_semicolon.in: New testcase.
9622 * conf/tests.rmk: Rules for the new testcase.
9623 * script/parser.y: Grammar fix.
9624
9625 2010-03-26 BVK Chaitanya <bvk@localhost>
9626
9627 Blank lines testcase for GRUB script.
9628
9629 * tests/grub_script_blanklines.in: New testcase.
9630 * conf/tests.rmk: Rules for the new testcase.
9631
9632 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 Don't use __FILE__.
9635
9636 * genmk.rb: Add -DGRUB_FILE to all C targets.
9637 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9638 * include/grub/list.h: Likewise.
9639 * include/grub/misc.h: Likewise.
9640 * include/grub/mm.h: Likewise.
9641 * include/grub/test.h: Likewise.
9642 * kern/mm.c: Likewise.
9643 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9644
9645 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Sunpc partitions support.
9648
9649 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9650 (grub_fstest_SOURCES): Likewise.
9651 (pkglib_MODULES): Add part_sunpc.mod.
9652 (part_sunpc_mod_SOURCES): New variable.
9653 (part_sunpc_mod_CFLAGS): Likewise.
9654 (part_sunpc_mod_LDFLAGS): Likewise.
9655 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9656 * partmap/sunpc.c: New file.
9657
9658 2010-03-26 BVK Chaitanya <bvk@localhost>
9659
9660 For loop support to GRUB script.
9661
9662 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9663 (grub_script_create_cmdfor): New function prototype.
9664 (grub_script_execute_cmdfor): New function prototype.
9665 * script/execute.c (grub_script_execute_cmdfor): New function.
9666 * script/parser.y (command): New for command.
9667 (forcmd): New grammar rule.
9668 * script/script.c (grub_script_create_cmdfor): New function.
9669 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9670 function.
9671 * tests/grub_script_for1.in: New testcase.
9672 * conf/tests.rmk: Rules for new testcase.
9673
9674 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 Nested partitions
9677
9678 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9679 'partition' is NULL, grub_partition_get_start already does that.
9680 * commands/loadenv.c (check_blocklists): Likewise.
9681 (write_blocklists): Likewise.
9682 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9683 (grub_fstest_SOURCES): Likewise.
9684 (pkglib_MODULES): Add part_bsd.mod.
9685 (part_bsd_mod_SOURCES): New variable.
9686 (part_bsd_mod_CFLAGS): Likewise.
9687 (part_bsd_mod_LDFLAGS): Likewise.
9688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9689 (grub_emu_SOURCES): Likewise.
9690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9691 * include/grub/bsdlabel.h: New file.
9692 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9693 'get_name'.
9694 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9695 (grub_partition_map_list): New variable.
9696 (grub_partition_map_register): Inline.
9697 (grub_partition_map_unregister): Likewise.
9698 (FOR_PARTITION_MAPS): New macro.
9699 (grub_partition_map_iterate): Removed.
9700 (grub_partition_get_start): Handle nested partitions.
9701 * include/grub/msdos_partition.h: Remove bsd-related entries.
9702 (grub_pc_partition): Remove.
9703 * kern/disk.c (grub_disk_close): Free partition data.
9704 (grub_disk_adjust_range): Handle nested partitions.
9705 * kern/partition.c (grub_partition_map_probe): New function.
9706 (grub_partition_probe): Parse name to number, handle subpartitions.
9707 (get_partmap): New function.
9708 (grub_partition_iterate): Handle subpartitions.
9709 (grub_partition_get_name): Likewise.
9710 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9711 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9712 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9713 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9714 Set 'number'.
9715 (acorn_partition_map_probe): Remove.
9716 (acorn_partition_map_get_name): Likewise.
9717 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9718 Set 'number'.
9719 Set 'index' to 0 since there can be only one partition entry per sector.
9720 (amiga_partition_map_probe): Remove.
9721 (amiga_partition_map_get_name): Likewise.
9722 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9723 Set 'number'.
9724 Set 'offset' and 'index' to real positions of partitions.
9725 (apple_partition_map_probe): Remove.
9726 (apple_partition_map_get_name): Likewise.
9727 * partmap/bsdlabel.c: New file.
9728 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9729 Set 'number'.
9730 Allocate 'data' so it can be correctly freed.
9731 Set 'index' to offset inside sector.
9732 (gpt_partition_map_probe): Remove.
9733 (gpt_partition_map_get_name): Likewise.
9734 * partmap/msdos.c (grub_partition_parse): Remove.
9735 (pc_partition_map_iterate): Don't force raw access.
9736 Set 'number'.
9737 Make 'ext_offset' a local variable.
9738 (pc_partition_map_probe): Remove.
9739 (pc_partition_map_get_name): Remove.
9740 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9741 Set 'number'.
9742 (sun_partition_map_probe): Remove.
9743 (sun_partition_map_get_name): Likewise.
9744 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9745 (grub_pcpart_type): Likewise.
9746 * util/hostdisk.c (open_device): Handle new numbering scheme.
9747 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9748 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9749 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9750 * util/grub-install.in: Insert all subpartition modules.
9751 * util/ieee1275/grub-install.in: Likewise.
9752
9753 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9754
9755 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9756 grammar.
9757
9758 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9759
9760 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9761
9762 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9763
9764 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9765 match where 'make install' puts them.
9766 * util/i386/efi/grub-install.in: Likewise.
9767
9768 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9769
9770 * .bzrignore: Add gentrigtables, grub-script-check,
9771 grub_script_check_init.c, grub_script_check_init.h, and
9772 trigtables.c.
9773
9774 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * kern/parser.c: Indented.
9777
9778 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9781
9782 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9785 alpha_mask_size == 0 case.
9786
9787 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9788
9789 GRUB shell lexer and parser improvements.
9790
9791 * conf/any-emu.rmk: Build rule updates.
9792 * conf/common.rmk: Likewise.
9793 * conf/i386-coreboot.rmk: Likewise.
9794 * conf/i386-efi.rmk: Likewise.
9795 * conf/i386-ieee1275.rmk: Likewise.
9796 * conf/i386-pc.rmk: Likewise.
9797 * conf/powerpc-ieee1275.rmk: Likewise.
9798 * conf/x86_64-efi.rmk: Likewise.
9799
9800 * configure.ac: Configure check for flex.
9801
9802 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9803 types.
9804 (grub_lexer_param): Struct member updates.
9805 (grub_parser_param): Likewise.
9806 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9807 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9808 (grub_script_lexer_init): Prototype update.
9809 (grub_script_lexer_record_start): Likewise.
9810 (grub_script_lexer_record_stop): Likewise.
9811 (grub_script_lexer_yywrap): New function prototype.
9812 (grub_script_lexer_fini): Likewise.
9813 (grub_script_execute_argument_to_string): Removed by...
9814 (grub_script_execute_argument_to_argv): ...better version.
9815
9816 * script/execute.c (ROUND_UPTO): New macro.
9817 (grub_script_execute_cmdline): Out of memory fixes.
9818 (grub_script_execute_menuentry): Likewise.
9819 (grub_script_execute_argument_to_string): Removed. Update all
9820 users by...
9821 (grub_script_execute_argument_to_argv): ...better version.
9822 * script/function.c (grub_script_function_create): Use
9823 grub_script_execute_argument_to_argv instead of
9824 grub_script_execute_argument_to_string.
9825
9826 * script/lexer.c (check_varstate): Removed.
9827 (check_textstate): Removed.
9828 (grub_script_lexer_record_start): Likewise.
9829 (grub_script_lexer_record_stop): Likewise.
9830 (recordchar): Replaced with...
9831 (grub_script_lexer_record): ...new function.
9832 (nextchar): Removed.
9833 (grub_script_lexer_init): Rewritten.
9834 (grub_script_yylex): Rewritten.
9835 (append_newline): New function.
9836 (grub_script_lexer_yywrap): New function.
9837 (grub_script_lexer_fini): New function.
9838 (grub_script_yyerror): Sets error flag.
9839
9840 * script/yylex.l: New file.
9841 (grub_lexer_yyfree): Wrapper for flex yyffre.
9842 (grub_lexer_yyalloc): Likewise.
9843 (grub_lexer_yyrealloc): Likewise.
9844 * script/parser.y: Refactored.
9845
9846 * script/script.c (grub_script_arg_add): Out of memory fixes.
9847 (grub_script_add_arglist): Likewise.
9848 (grub_script_create_cmdline): Likewise.
9849 (grub_script_create_cmdmenu): Likewise.
9850 (grub_script_add_cmd): Likewise.
9851 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9852 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9853 unnecessary code.
9854
9855 * tests/grub_script_echo1.in: New testcase.
9856 * tests/grub_script_vars1.in: New testcase.
9857 * tests/grub_script_echo_keywords.in: New testcase.
9858
9859 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 Remove some redundancy in build system.
9862
9863 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9864 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9865 (TARGET_LDFLAGS): Add -nostdlib.
9866 (TARGET_IMG_LDFLAGS): Likewise.
9867 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9868 anything since mmap isn't available.
9869 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9870 Add util/time.c.
9871 (pkglib_MODULES): Remove reboot.mod.
9872 (reboot_mod_SOURCES): Removed.
9873 (reboot_mod_CFLAGS): Likewise.
9874 (reboot_mod_LDFLAGS): Likewise.
9875 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9876 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9877 (DEFSYMFILES): Add kernel_syms.lst.
9878 (kernel_img_HEADERS): Add common headers.
9879 (symlist.c): New target.
9880 (kernel_syms.lst): Likewise.
9881 (pkglib_MODULES): Add memdisk.mod.
9882 (memdisk_mod_SOURCES): New variable.
9883 (memdisk_mod_CFLAGS): Likewise.
9884 (memdisk_mod_LDFLAGS): Likewise.
9885 (pkglib_MODULES): Add reboot.mod.
9886 (reboot_mod_SOURCES): New variable.
9887 (reboot_mod_CFLAGS): Likewise.
9888 (reboot_mod_LDFLAGS): Likewise.
9889 (pkglib_MODULES): Add date.mod.
9890 (date_mod_SOURCES): New variable.
9891 (date_mod_CFLAGS): Likewise.
9892 (date_mod_LDFLAGS): Likewise.
9893 (pkglib_MODULES): Add datehook.mod.
9894 (datehook_mod_SOURCES): New variable.
9895 (datehook_mod_CFLAGS): Likewise.
9896 (datehook_mod_LDFLAGS): Likewise.
9897 (pkglib_MODULES): Add lsmmap.mod.
9898 (lsmmap_mod_SOURCES): New variable.
9899 (lsmmap_mod_CFLAGS): Likewise.
9900 (lsmmap_mod_LDFLAGS): Likewise.
9901 (pkglib_MODULES): Add boot.mod.
9902 (boot_mod_SOURCES): New variable.
9903 (boot_mod_CFLAGS): Likewise.
9904 (boot_mod_LDFLAGS): Likewise.
9905 * conf/i386-coreboot.rmk: Removed redundant parts.
9906 * conf/i386-ieee1275.rmk: Likewise.
9907 * conf/i386-pc.rmk: Likewise.
9908 * conf/mips-yeeloong.rmk: Likewise.
9909 * conf/mips.rmk: Likewise.
9910 * conf/powerpc-ieee1275.rmk: Likewise.
9911 * conf/sparc64-ieee1275.rmk: Likewise.
9912 * conf/x86_64-efi.rmk: Likewise.
9913 * conf/i386-coreboot.rmk: Moved qemu parts ..
9914 * conf/i386-qemu.rmk: ... here
9915 * conf/i386-efi.rmk: Moved common parts to...
9916 * conf/x86-efi.rmk: ... here.
9917 * conf/i386.rmk: Added modules common to all x86 variants.
9918 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9919 * disk/memdisk.c: Remove grub/machine/kernel.h.
9920 * gensymlist.sh.in: Include symbol.h.
9921 * hook/datehook.c: Correct module name.
9922 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9923 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9924 * include/grub/i386/efi/serial.h: New file.
9925 * include/grub/x86_64/efi/serial.h: Likewise.
9926 * util/time.c: Likewise.
9927 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9928
9929 2010-03-14 Colin King <colin.king@ubuntu.com>
9930 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9931
9932 Shrink the pre-partition-table part of boot.img by eight bytes.
9933
9934 * boot/i386/pc/boot.S (ERR): New macro.
9935 (chs_mode): Use ERR.
9936 (geometry_error): Likewise.
9937 (hd_probe_error): Remove. This is only used once, so we wrwite
9938 it inline instead.
9939 (read_error): Instead of printing read_error_string, just set up
9940 %si and fall through to ...
9941 (error_message): ... this new function, also used by ERR.
9942
9943 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9944
9945 Speed up consecutive hostdisk operations on the same device.
9946
9947 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9948 (grub_util_biosdisk_open): Initialise disk->data.
9949 (struct linux_partition_cache): New structure.
9950 (linux_find_partition): Cache partition start positions; these are
9951 expensive to compute on every read and write.
9952 (open_device): Cache open file descriptor in disk->data, so that we
9953 don't have to reopen it and flush the buffer cache for consecutive
9954 operations on the same device.
9955 (grub_util_biosdisk_close): New function.
9956 (grub_util_biosdisk_dev): Set `close' member.
9957
9958 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9959 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9960 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9961 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9962 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9963
9964 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 Compile parts of grub-emu as modules.
9967
9968 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9969 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9970 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9971 (all-local): Add $(GRUB_EMU).
9972 (install-local): Install $(GRUB_EMU).
9973 (uninstall): Uninstall $(GRUB_EMU).
9974 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9975 * kern/dl.c: Likewise.
9976 * commands/sleep.c: Not include machine/time.h.
9977 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9978 (COMMON_CFLAGS): Likewise.
9979 (sbin_UTILITIES): Remove grub-emu.
9980 (grub_emu_SOURCES): Removed.
9981 (kernel_img_RELOCATABLE): New variable.
9982 (pkglib_PROGRAMS): Add kernel.img.
9983 (kernel_img_SOURCES): New variable
9984 (kernel_img_CFLAGS): Likewise.
9985 (kernel_img_LDFLAGS): Likewise.
9986 (TARGET_NO_STRIP): Likewise.
9987 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9988 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9989 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9990 (grub-emu): New target.
9991 (GRUB_EMU): New variable.
9992 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9993 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9994 * loader/xnu.c: Likewise.
9995 * include/grub/pci.h: Likewise.
9996 * genemuinit.sh: New file.
9997 * genemuinitheader.sh: Likewise.
9998 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9999 Support TARGET_NO_DYNAMIC_MODULES.
10000 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
10001 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
10002 * disk/loopback.c: Likewise.
10003 * font/font_cmd.c: Likewise.
10004 * partmap/acorn.c: Likewise.
10005 * partmap/amiga.c: Likewise.
10006 * partmap/apple.c: Likewise.
10007 * partmap/gpt.c: Likewise.
10008 * partmap/msdos.c: Likewise.
10009 * partmap/sun.c: Likewise.
10010 * parttool/msdospart.c: Likewise.
10011 * term/gfxterm.c: Likewise.
10012 * video/bitmap.c: Likewise.
10013 * video/readers/jpeg.c: Likewise.
10014 * video/readers/png.c: Likewise.
10015 * video/readers/tga.c: Likewise.
10016 * video/video.c: Likewise.
10017 * util/grub-emu.c (read_command_list): Removed.
10018 (main): Don't call util_init_nls.
10019 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
10020 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
10021
10022 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
10025 date.mod, datehook.mod.
10026 (datetime_mod_SOURCES): New variable.
10027 (datetime_mod_CFLAGS): Likewise.
10028 (datetime_mod_LDFLAGS): Likewise.
10029 (date_mod_SOURCES): Likewise.
10030 (date_mod_CFLAGS): Likewise.
10031 (date_mod_LDFLAGS): Likewise.
10032 (datehook_mod_SOURCES): Likewise.
10033 (datehook_mod_CFLAGS): Likewise.
10034 (datehook_mod_LDFLAGS): Likewise.
10035 * conf/sparc64-ieee1275.rmk: Likewise.
10036 * lib/ieee1275/datetime.c: New file.
10037
10038 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
10041 (ieee1275_fb_mod_SOURCES): New variable.
10042 (ieee1275_fb_mod_CFLAGS): Likewise.
10043 (ieee1275_fb_mod_LDFLAGS): Likewise.
10044 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
10045 New proto.
10046 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
10047 (HEAP_MAX_ADDR): Likewise.
10048 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
10049 type.
10050 Correct stop condition.
10051 (grub_ieee1275_devices_iterate): New function.
10052 * video/ieee1275.c: New file.
10053
10054 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
10057
10058 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
10059 as scratch.
10060 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
10061 SCRATCH_PAD_DISKBOOT as scratch.
10062 (bootit): Pass Openfirmware pointer in %o4.
10063 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
10064 of 0x200000.
10065 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
10066 with util/grub-mkrawimage.c.
10067 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
10068 * include/grub/aout.h (AOUT_MID_SUN): New definition.
10069 (grub_aout_get_type) [GRUB_UTIL]: Removed.
10070 (grub_aout_load) [GRUB_UTIL]: Likewise.
10071 * include/grub/kernel.h (grub_modules_get_end): New proto.
10072 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
10073 (SCRATCH_PAD_BOOT): New definition.
10074 (SCRATCH_PAD_DISKBOOT): Likewise.
10075 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
10076 * include/grub/sparc64/ieee1275/ieee1275.h
10077 (grub_ieee1275_original_stack): New variable
10078 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10079 New definition
10080 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
10081 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
10082 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
10083 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
10084 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
10085 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
10086 (grub_platform_image_format_t): New type.
10087 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
10088 * kern/main.c (grub_modules_get_end)
10089 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
10090 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
10091 (codestart): Switch stacks.
10092 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
10093 variable.
10094 (grub_heap_init): Use grub_modules_get_end.
10095 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
10096 stack.
10097 * util/grub-mkrawimage.c (generate_image): Support sparc64.
10098 (main): Likewise.
10099 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10100
10101 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
10102
10103 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10104
10105 2010-03-08 Matt Kraai <kraai@ftbfs.org>
10106
10107 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10108 bug #559005).
10109
10110 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * genmoddep.awk: Output all missing symbols and not only first.
10113
10114 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 * NEWS: Put the date of 1.98 release.
10117
10118 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10121 ft2build.h.
10122
10123 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10126 completition in the middle of string.
10127
10128 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * util/grub-mkrescue.in: Use mktemp with explicit template.
10131
10132 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10135
10136 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10139 right pointer.
10140
10141 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 Fix FreeBSD compilation.
10144
10145 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10146 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10147
10148 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10151
10152 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10155
10156 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10159
10160 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10161
10162 Support relative image path in theme file.
10163
10164 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10165 (image_set_property): Handle theme_dir and relative path.
10166
10167 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * configure.ac: Alias amd64 to x86_64.
10170
10171 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * NEWS: mention multiboot on EFI.
10174
10175 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * kern/main.c (grub_load_modules): Handle errors from init functions of
10178 embeded modules.
10179
10180 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 * normal/autofs.c (autoload_fs_module): Handle errors.
10183
10184 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Disable linux.mod on qemu-mips since it's not functional and leads
10187 to compilation failure.
10188
10189 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10190 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10191 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10192 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10193 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10194 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10195 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10196 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10197 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10198 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10199 Reported by: BVK Chaitanya
10200
10201 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10202
10203 * INSTALL: Add gettext as a dependency and add qemu to a new section
10204 "Prerequisites for make-check".
10205
10206 2010-03-04 Christian Franke <franke@computer.org>
10207
10208 * util/grub-pe2elf.c: Add missing include "progname.h".
10209
10210 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * normal/crypto.c (read_crypto_list): Fix a typo.
10213 Reported by: Seth Goldberg.
10214
10215 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
10218 Reported by: Seth Goldberg.
10219
10220 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10223 ascii.bitmaps.
10224
10225 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * genmk.rb: Remove terminal*.lst in make clean.
10228 Reported by: Seth Goldberg.
10229
10230 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * util/i386/efi/grub-install.in: Copy gettext files.
10233
10234 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10237
10238 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 Wait for user entry basing on presence of output rather than on errors.
10241
10242 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10243 (grub_install_newline_hook): Likewise.
10244 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10245 * normal/menu.c (show_menu): Check line_counter to determine presence
10246 of output.
10247 * normal/term.c (grub_normal_line_counter): New variable.
10248 (grub_normal_get_line_counter): New function.
10249 (grub_install_newline_hook): Likewise.
10250
10251 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10254
10255 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * configure.ac: Update version to 1.98.
10258
10259 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * util/grub.d/10_linux.in (linux_entry): Don't default to
10262 gfxpayload=keep if Linux doesn't support video handover.
10263
10264 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 Don't compile video modules on yeeloong since video subsystem is part
10267 of kernel.
10268
10269 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10270 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10271 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10272 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10273 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10274 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10275 * include/grub/bitmap_scale.h: Likewise.
10276 * include/grub/bufio.h: Likewise.
10277 * include/grub/font.h: Likewise.
10278 * include/grub/gfxterm.h: Likewise.
10279 * include/grub/video.h: Likewise.
10280 * include/grub/vbe.h: Don't include video_fb.h.
10281 * video/i386/pc/vbe.c: Include video_fb.h.
10282 * commands/i386/pc/vbetest.c: Include video.h.
10283
10284 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10285
10286 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10287 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10288 default entry if GRUB_SAVEDEFAULT=true. This allows using
10289 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10290 saving a new default on every boot.
10291
10292 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10295 * normal/term.c (read_terminal_list): Likewise.
10296 * normal/main.c (grub_normal_init_page): Likewise.
10297 (grub_normal_read_line_real): Likewise.
10298
10299 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10302 memory leak.
10303 Reported by: Seth Goldberg.
10304
10305 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10306
10307 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10308 duplicate declaration of `start'.
10309
10310 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10313 filename.
10314 Reported by: Georgy Buranov
10315
10316 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10317
10318 * util/grub-mkrawimage.c (usage): Change string formatting to
10319 improve gettext.
10320
10321 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10322
10323 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10324 backspace keys.
10325
10326 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10329 Reported by: Michael Suchanek.
10330
10331 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10332
10333 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10334 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10335
10336 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 Remove any reference to non-free fonts.
10339
10340 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10341 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10342 uses non-free components.
10343 * font/font.c (grub_font_get_name): Remove example name.
10344 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10345 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10346 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10347 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10348
10349 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10350
10351 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10352
10353 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10356 Double divisor.
10357 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10358 features.
10359 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10360
10361 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10364
10365 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10366
10367 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10368 * docs/grub.texi (Command-line and menu entry commands): Document play
10369 command.
10370
10371 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10372
10373 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10374 parse arguments as inline tempo and notes. Move code for playing notes
10375 to...
10376 (play): ... new function.
10377
10378 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10379
10380 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10381 grub_uint16_t instead of short.
10382 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10383 disk from little endian to cpu endianness.
10384
10385 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10386
10387 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10388 GRUB_TICKS_PER_SECOND instead of 120.
10389
10390 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10393 escape sequence after \e.
10394
10395 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10398 non-ASCII characters.
10399
10400 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10403 set root in single quotes to prevent \, from being unescaped.
10404
10405 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 Prevent unknown commands from stopping menuentry execution.
10408
10409 * script/execute.c (grub_script_execute_cmdline): Print error after
10410 unknown command.
10411
10412 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10415 Reported by: Pavel Pisa.
10416
10417 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10420
10421 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 Merge grub_ieee1275_map_physical into grub_map and rename to
10424 grub_ieee1275_map
10425
10426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10427 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10428 Remove.
10429 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10430 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10431 necessary.
10432 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10433
10434 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10437 opening and not after.
10438
10439 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10442 constants.
10443
10444 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10447 (alloc_phys): Use ALIGN_UP instead of align_addr.
10448
10449 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10452
10453 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10456
10457 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10460 verbose dprintf.
10461
10462 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Fix over-4GiB seek on sparc64.
10465
10466 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10467 Replace pos_i and pos_lo with pos. All users updated.
10468 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10469 New constant.
10470 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10471 Likewise.
10472 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10473 and pos_lo.
10474
10475 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * util/grub-mkrawimage.c (main): Call set_program_name.
10478
10479 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 Properly align 64-bit targets.
10482
10483 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10484 (generate_image): Use ALIGN_ADDR.
10485
10486 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 Properly create cross-endian images.
10489
10490 * include/grub/types.h (grub_host_to_target_addr): New macro
10491 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10492
10493 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10496
10497 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10500
10501 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10502 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10503 (grub_linux_boot): Divide by 64K when on VESA.
10504
10505 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 Support GRUB_GFXPAYLOAD_LINUX.
10508
10509 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10510 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10511
10512 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10515 to show messages instead of discarding them.
10516 Process errors after executing command and not before. Keep old method
10517 too as precaution.
10518
10519 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 * configure.ac: Check for ft2build.h.
10522
10523 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10526
10527 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * genkernsyms.sh.in: Use TARGET_CC.
10530
10531 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * NEWS: Update.
10534
10535 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * include/grub/multiboot2.h: Remove leftover file.
10538 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10539 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10540
10541 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10542
10543 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10544
10545 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 Fix warnings in grub-emu when compiling with maximum warning options.
10548
10549 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10550 (grub_arch_modules_addr): Return 0 and not NULL.
10551 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10552 (xstrdup): Use newstr instead of dup.
10553 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10554 of disk to dsk to avoid shadowing.
10555 (find_free_slot): Fix prototype.
10556 * util/getroot.c (grub_util_is_dmraid): Make static.
10557 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10558 Add missing prototype.
10559 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10560
10561 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10564 appropriately.
10565
10566 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10569 code out.
10570
10571 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10574 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10575 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10576 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10577 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10578 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10579
10580 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * include/grub/err.h (grub_err_printf): Don't export.
10583
10584 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10587
10588 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10591 * kern/misc.c (grub_gettext_dummy): Make static.
10592
10593 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10596 by non-valid ones.
10597 * kern/term.c (grub_putchar): Likewise.
10598
10599 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10602 buggy hook call and memory leak.
10603
10604 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10607
10608 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10611
10612 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10615 modevar.
10616 Return grub_errno on allocation error.
10617
10618 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10621
10622 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10623
10624 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10625 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10626
10627 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10630 non-pxe disk.
10631 (grub_pxefs_open): Likewise.
10632
10633 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10634
10635 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10636 * util/grub.d/10_kfreebsd.in: Likewise.
10637 * util/grub.d/10_linux.in: Likewise.
10638
10639 2010-02-06 Colin D Bennett <colin@gibibit.com>
10640
10641 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10642 (gfxmenu_mod_SOURCES): New variable.
10643 (gfxmenu_mod_CFLAGS): Likewise.
10644 (gfxmenu_mod_LDFLAGS): Likewise.
10645 * include/grub/term.h (grub_term_set_current_output): Declare
10646 argument as const.
10647 * docs/gfxmenu-theme-example.txt: New file.
10648 * gfxmenu/gfxmenu.c: Likewise.
10649 * gfxmenu/gui_box.c: Likewise.
10650 * gfxmenu/gui_canvas.c: Likewise.
10651 * gfxmenu/gui_circular_progress.c: Likewise.
10652 * gfxmenu/gui_image.c: Likewise.
10653 * gfxmenu/gui_label.c: Likewise.
10654 * gfxmenu/gui_list.c: Likewise.
10655 * gfxmenu/gui_progress_bar.c: Likewise.
10656 * gfxmenu/gui_string_util.c: Likewise.
10657 * gfxmenu/gui_util.c: Likewise.
10658 * gfxmenu/icon_manager.c: Likewise.
10659 * gfxmenu/model.c: Likewise.
10660 * gfxmenu/named_colors.c: Likewise.
10661 * gfxmenu/theme_loader.c: Likewise.
10662 * gfxmenu/view.c: Likewise.
10663 * gfxmenu/widget-box.c: Likewise.
10664 * include/grub/gfxmenu_model.h: Likewise.
10665 * include/grub/gfxmenu_view.h: Likewise.
10666 * include/grub/gfxwidgets.h: Likewise.
10667 * include/grub/gui.h: Likewise.
10668 * include/grub/gui_string_util.h: Likewise.
10669 * include/grub/icon_manager.h: Likewise.
10670
10671 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 Agglomerate scrolling in gfxterm.
10674
10675 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10676 (grub_virtual_screen_setup): Initialise 'total_screen'.
10677 (write_char): Split to ...
10678 (paint_char): ... this ...
10679 (write_char): ... and this.
10680 (paint_char): Handle delayed scrolling.
10681 (draw_cursor): Likewise.
10682 (scroll_up): Split to ...
10683 (real_scroll): ... this ...
10684 (scroll_up): ... and this.
10685 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10686 characters.
10687 (grub_gfxterm_refresh): Call real_scroll.
10688
10689 2010-02-06 Colin D Bennett <colin@gibibit.com>
10690
10691 * include/grub/misc.h (grub_iscntrl): New inline function.
10692 (grub_isalnum): Likewise.
10693 (grub_strtol): Likewise.
10694
10695 2010-02-06 Colin D Bennett <colin@gibibit.com>
10696
10697 * normal/menu_text.c (get_entry_number): Move from here ...
10698 * normal/menu.c (get_entry_number): ... moved here.
10699 * include/grub/menu.h (grub_menu_get_default_entry_index):
10700 New prototype.
10701 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10702 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10703 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10704 (grub_menu_viewer_should_return): Likewise.
10705 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10706 * normal/menu_text.c (run_menu): Enable menu switching.
10707 * normal/menu_viewer.c (should_return): New variable.
10708 (menu_viewer_changed): Likewise.
10709 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10710 (grub_menu_viewer_should_return): New function.
10711 (menuviewer_write_hook): Likewise.
10712 (grub_menu_viewer_init): Likewise.
10713
10714 2010-02-06 Colin D Bennet <colin@gibibit.com>
10715 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Support for gfxterm in a window.
10718
10719 * include/grub/gfxterm.h: New file.
10720 * include/grub/video.h (struct grub_video_rect): New declaration.
10721 (grub_video_rect_t): Likewise.
10722 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10723 (refcount): New variable.
10724 (render_target): Likewise.
10725 (window): Likewise.
10726 (repaint_callback): Likewise.
10727 (grub_virtual_screen_setup): Use 'render_target'.
10728 (init_window): New function.
10729 (grub_gfxterm_init_window): Likewise.
10730 (grub_gfxterm_init): Check reference counter.
10731 Use init_window.
10732 (destroy_window): New function.
10733 (grub_gfxterm_destroy_window): Likewise.
10734 (grub_gfxterm_fini): Check reference counter.
10735 Use destroy_window.
10736 (redraw_screen_rect): Restore viewport.
10737 Use 'render_target' and 'window'.
10738 Call 'repaint_callback'.
10739 (write_char): Use 'render_target'.
10740 (draw_cursor): Likewise.
10741 (scroll_up): Restore viewport.
10742 Use 'render_target' and 'window'.
10743 Call 'repaint_callback'.
10744 (grub_gfxterm_cls): Likewise.
10745 (grub_gfxterm_refresh): Use 'window'.
10746 (grub_gfxterm_set_repaint_callback): New function.
10747 (grub_gfxterm_background_image_cmd): Use 'window'.
10748 (grub_gfxterm_get_term): New function.
10749 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10750
10751 2010-02-06 Colin D Bennett <colin@gibibit.com>
10752
10753 Bitmap scaling support.
10754
10755 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10756 (bitmap_scale_mod_SOURCES): New variable.
10757 (bitmap_scale_mod_CFLAGS): Likewise.
10758 (bitmap_scale_mod_LDFLAGS): Likewise.
10759 * include/grub/bitmap_scale.h: New file.
10760 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10761 (background_image_cmd_options): New variable.
10762 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10763 (cmd): Rename and change type to ...
10764 (background_image_cmd_handle): ... this. All users updated.
10765 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10766 * video/bitmap_scale.c: New file.
10767
10768 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 SDL support.
10771
10772 * Makefile.in (LIBSDL): New variable.
10773 (enable_grub_emu_sdl): Likewise.
10774 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10775 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10776 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10777 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10778 * util/sdl.c: New file.
10779
10780 2010-02-06 Colin D Bennett <colin@gibibit.com>
10781 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 Double buffering support.
10784
10785 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10786 * include/grub/video.h: Update comment.
10787 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10788 New type.
10789 (grub_video_fb_doublebuf_blit_init): New prototype.
10790 * term/gfxterm.c (scroll_up): Support double buffering.
10791 (grub_gfxterm_refresh): Likewise.
10792 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10793 (grub_video_fb_doublebuf_blit_init): Likewise.
10794 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10795 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10796 'displayed_page', 'render_page' and 'update_screen'.
10797 (grub_video_vbe_fini): Free offscreen buffer.
10798 (doublebuf_pageflipping_commit): New function.
10799 (doublebuf_pageflipping_update_screen): Likewise.
10800 (doublebuf_pageflipping_init): Likewise.
10801 (double_buffering_init): Likewise.
10802 (grub_video_vbe_setup): Enable doublebuffering.
10803 (grub_video_vbe_swap_buffers): Implement.
10804 (grub_video_vbe_set_active_render_target): Handle double buffering.
10805 (grub_video_vbe_get_active_render_target): Likewise.
10806 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10807 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10808 (grub_video_vbe_enable_double_buffering): Likewise.
10809 (grub_video_vbe_swap_buffers): Use update_screen.
10810 (grub_video_set_mode): Use double buffering.
10811
10812 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10813
10814 * maintainance/gentrigtables.py: Remove.
10815 * lib/trig.c: Likewise.
10816
10817 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10818
10819 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10820 `trigtables.c'.
10821 (trigtables.c): New rule.
10822 (gentrigtables): Likewise.
10823 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10824
10825 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10826
10827 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10828 integer constants.
10829
10830 2010-02-06 Colin D Bennet <colin@gibibit.com>
10831
10832 Trigonometry support.
10833
10834 * include/grub/trig.h: New file.
10835 * lib/trig.c: Likewise.
10836 * maintainance/gentrigtables.py: Likewise.
10837 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10838 (trig_mod_SOURCES): New variable.
10839 (trig_mod_CFLAGS): Likewise.
10840 (trig_mod_LDFLAGS): Likewise.
10841
10842 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10845 disk devices.
10846
10847 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10850 error.
10851
10852 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * util/hostdisk.c (open_device): Don't use partition device when reading
10855 before the partition.
10856 (grub_util_biosdisk_read): Don't read from partition and before the
10857 partition in single operation.
10858 (grub_util_biosdisk_write): Don't write to partition and before the
10859 partition in single operation.
10860
10861 2010-02-03 Torsten Landschoff <torsten@debian.org>
10862
10863 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10864 last sectors.
10865
10866 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10869 CDROM reads.
10870 (grub_biosdisk_write): Refuse to write to CDROM.
10871
10872 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10875
10876 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * font/font.c (find_glyph): Check that bmp_idx is available before
10879 using it.
10880 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10881 with (font == NULL).
10882
10883 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10884
10885 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10886
10887 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10888
10889 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10890 * util/grub-script-check.c (getline): Fix empty lines case.
10891
10892 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10893
10894 * Makefile.in (check): Exit with fail status when one of the tests
10895 fails.
10896 * tests/example_functional_test.c (example_test): Fix reversed assert.
10897 * tests/example_unit_test.c (example_test): Likewise.
10898
10899 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10900
10901 * util/grub.d/10_linux.in: This script does not use any of the
10902 contents of gettext.sh, only the external command `gettext', so stop
10903 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10904 the same prefix as GRUB.)
10905 * util/grub.d/10_kfreebsd.in: Likewise.
10906
10907 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10910 of the line.
10911
10912 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10915 last sectors.
10916
10917 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10920 having a 4KiB and not 32KiB buffer size.
10921
10922 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10923
10924 * util/hostfs.c: Include `<errno.h>'.
10925 (grub_hostfs_read): Handle errors from fseeko() and fread().
10926
10927 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10928
10929 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10930 loop when using read hooks on files whose size isn't sector-aligned.
10931
10932 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10933
10934 Remove unused parameter.
10935
10936 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10937 (grub_iso9660_open): Remove initialization of `data->length'.
10938
10939 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10940
10941 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10942 memleak conditions.
10943
10944 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10945
10946 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10947 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10948
10949 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10950
10951 * util/bin2h.c (usage): Fix warning (space after backslash).
10952
10953 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10954
10955 * font/font.c: Include `grub/fontformat.h.
10956 Remove font file format constants.
10957 (grub_font_load): Use the new macros.
10958 * include/grub/fontformat.h: New file.
10959 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10960 (write_font_pf2): Use the new macros.
10961
10962 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10963
10964 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10965 does.
10966
10967 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10968
10969 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10970
10971 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10972 (_start): Macroify `0x7F'.
10973
10974 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10975 (make_install_device): Use "(pxe)" as fallback prefix when booting
10976 via PXE.
10977
10978 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * configure.ac: Reset LIBS after check for libgcc symbols.
10981
10982 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10983
10984 * util/hostdisk.c (open_device): Add trailing newline to debug
10985 message.
10986
10987 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10988
10989 * configure.ac: Check for `limits.h'.
10990 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10991
10992 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10993
10994 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10995 capitalize error strings.
10996
10997 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10998
10999 * util/grub.d/10_hurd.in: Add a recovery mode.
11000
11001 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * configure.ac: Check for libgcc symbols with -nostdlib.
11004
11005 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
11006
11007 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
11008
11009 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
11012 stack since heap may be unavailable at that point.
11013 (grub_ofconsole_gotoxy): Likewise.
11014
11015 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * configure.ac: Check for _restgpr_14_x.
11018 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
11019 and _savegpr_* prototypes.
11020
11021 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
11022
11023 Use generic grub_reboot() for i386-efi.
11024
11025 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
11026 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
11027 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
11028
11029 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
11032 presence of "prefix" variable as it breaks when normal.mod is
11033 embedded.
11034
11035 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
11038 stack since heap is unavailable at that point.
11039
11040 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
11043 (grub_freebsd_bootinfo): Rewritten.
11044 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
11045
11046 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
11049
11050 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
11051
11052 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
11053 domain now.
11054
11055 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
11056
11057 * util/misc.c (make_system_path_relative_to_its_root): Change the work
11058 around for handling "/" to the correct fix. Fix a memory leak. Use
11059 xstrdup instead of strdup.
11060
11061 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
11064
11065 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 Optimise glyph lookup by Basic Multilingual Plane lookup array.
11068
11069 * font/font.c (struct grub_font): New member 'bmp_idx'.
11070 (font_init): Initialise 'bmp_idx'.
11071 (load_font_index): Fill 'bmp_idx'.
11072 (find_glyph): Make inline. Use bmp_idx for BMP characters.
11073
11074 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
11077 unnecessary calls.
11078
11079 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 Move context handling out of the kernel.
11082
11083 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
11084 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
11085 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
11086 * conf/i386-efi.rmk: Likewise.
11087 * conf/i386-ieee1275.rmk: Likewise.
11088 * conf/i386-pc.rmk: Likewise.
11089 * conf/powerpc-ieee1275.rmk: Likewise.
11090 * conf/sparc64-ieee1275.rmk: Likewise.
11091 * conf/x86_64-efi.rmk: Likewise.
11092 * include/grub/env.h: Include grub/menu.h.
11093 (grub_env_var_type): Removed.
11094 (grub_env_var): Replaced field 'type' with 'global'.
11095 (grub_env_find): New prototype.
11096 (grub_env_context_open): Remove EXPORT_FUNC.
11097 (grub_env_context_close): Likewise.
11098 (grub_env_export): Likewise.
11099 (grub_env_set_data_slot): Removed.
11100 (grub_env_get_data_slot): Likewise.
11101 (grub_env_unset_data_slot): Likewise.
11102 (grub_env_unset_menu): New prototype.
11103 (grub_env_set_menu): Likewise.
11104 (grub_env_get_menu): Likewise.
11105 * include/grub/env_private.h: New file.
11106 * include/grub/normal.h (grub_context_init): New prototype.
11107 (grub_context_fini): Likewise.
11108 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11109 * normal/context.c (grub_cmd_export): ... to here.
11110 * kern/env.c: Include env_private.h.
11111 (HASHSZ): Moved to include/grub/env_private.h.
11112 (grub_env_context): Likewise.
11113 (grub_env_sorted_var): Likewise.
11114 (current_context): Renamed from this ...
11115 (grub_current_context): ...to this. 'static' removed. All users updated.
11116 (grub_env_find): Removed 'static'.
11117 (grub_env_context_open): Moved to normal/context.c.
11118 (grub_env_context_close): Likewise.
11119 (grub_env_export): Likewise.
11120 (mangle_data_slot_name): Removed.
11121 (grub_env_set_data_slot): Likewise.
11122 (grub_env_get_data_slot): Likewise.
11123 (grub_env_unset_data_slot): Likewise.
11124 * kern/main.c (grub_set_root_dev): Don't export root.
11125 It will be done later.
11126 (grub_main): Don't export prefix.
11127 It will be done later.
11128 * normal/context.c: New file.
11129 * normal/main.c (free_menu): Use grub_env_unset_menu.
11130 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11131 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11132 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11133 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11134
11135 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 setpci support.
11138
11139 * commands/setpci.c: New file.
11140 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11141 (setpci_mod_SOURCES): New variable.
11142 (setpci_mod_CFLAGS): Likewise.
11143 (setpci_mod_LDFLAGS): Likewise.
11144
11145 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 Byte-addressable PCI configuration space.
11148
11149 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11150 dword address.
11151 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11152 GRUB_PCI_REG_CACHELINE.
11153 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11154 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11155 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11156 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11157 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11158 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11159 grub_pci_make_address.
11160 (lock_rom_area): Likewise.
11161 * commands/lspci.c (grub_lspci_iter): Use macroses
11162 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11163 of grub_pci_make_address.
11164 * disk/ata.c (grub_ata_pciinit): Likewise.
11165 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11166 (GRUB_PCI_REG_VENDOR): Likewise.
11167 (GRUB_PCI_REG_DEVICE): Likewise.
11168 (GRUB_PCI_REG_COMMAND): Likewise.
11169 (GRUB_PCI_REG_STATUS): Likewise.
11170 (GRUB_PCI_REG_REVISION): Likewise.
11171 (GRUB_PCI_REG_CLASS): Likewise.
11172 (GRUB_PCI_REG_CACHELINE): Likewise.
11173 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11174 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11175 (GRUB_PCI_REG_BIST): Likewise.
11176 (GRUB_PCI_REG_ADDRESSES): Likewise.
11177 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11178 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11179 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11180 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11181 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11182 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11183 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11184 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11185 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11186 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11187 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11188 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11189 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11190 (GRUB_PCI_REG_MIN_GNT): Likewise.
11191 (GRUB_PCI_REG_MAX_LAT): Likewise.
11192 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11193 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11194 * video/efi_uga.c (find_framebuf): Likewise.
11195 * video/sm712.c (grub_video_sm712_setup): Likewise.
11196 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11197 space.
11198
11199 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11200
11201 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11202 can be reliably determined to be supported.
11203
11204 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11205
11206 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11207 that VESA is supported.
11208 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11209 supported.
11210
11211 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11214
11215 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11216
11217 * util/misc.c (make_system_path_relative_to_its_root): Work around
11218 special-casing of "/", as previous incarnation of this routine did.
11219
11220 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 Fix any-emu compilation.
11223
11224 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11225 * grub_bin2h_SOURCES: New variable.
11226
11227 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11228
11229 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11230
11231 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11232
11233 * util/grub.d/00_header.in: Fix handling of locale_dir.
11234
11235 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11238 as possible unifont location (Gentoo).
11239 Reported by: Alexander Brüning
11240
11241 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 Don't try to generate lists for kernel.img.
11244
11245 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11246 (pkglib_MODULES): Remove kernel.img.
11247 (kernel_img_EXPORTS): Removed.
11248 (kernel_img_RELOCATABLE): New variable.
11249 * conf/x86_64-efi.rmk: Likewise.
11250 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11251
11252 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11255 grub_xasprintf or grub_snprintf.
11256 (grub_vsprintf): Likewise.
11257 (grub_snprintf): New proto.
11258 (grub_vsnprintf): Likewise.
11259 (grub_xasprintf): Likewise.
11260 (grub_xvasprintf): Likewise.
11261 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11262 (grub_sprintf): Removed.
11263 (grub_vsnprintf): New function.
11264 (grub_snprintf): Likewise.
11265 (grub_xvasprintf): Likewise.
11266 (grub_xasprintf): Likewise.
11267 (grub_vsprintf): Renamed to ...
11268 (grub_vsnprintf_real): ...this. New argument max_len.
11269
11270 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11271
11272 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11273 fix grub-script-check warning.
11274
11275 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * include/grub/font.h (grub_font_load): Fix prototype.
11278
11279 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11282
11283 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * include/grub/x86_64/at_keyboard.h: New file.
11286
11287 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * loader/mips/linux.c: Include missing grub/i18n.h.
11290
11291 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11292
11293 * normal/menu.c (notify_execution_failure): Clarify error message.
11294
11295 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11296
11297 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11298 return value (and revert all return statements). Update users.
11299
11300 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11301
11302 * kern/device.c (grub_device_iterate): Allocate new part_ent
11303 structure based on sizeof (*p) rather than sizeof (p->next), to
11304 account for structure padding.
11305
11306 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11307 disk is NULL, which might happen for LVM physical volumes with no
11308 LVM signature.
11309
11310 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11311
11312 * loader/mips/linux.c (grub_cmd_initrd)
11313 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11314
11315 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11316
11317 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11318 (grub_video_video_init, grub_video_bitmap_init)
11319 (grub_font_manager_init, grub_term_gfxterm_init)
11320 (grub_at_keyboard_init): New extern declarations.
11321 (grub_machine_init): Initialize gfxterm and at_keyboard.
11322
11323 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11324
11325 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11326 `gfxterm.mod' into core image.
11327
11328 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11329 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11330 (kernel_img_FORMAT): Copy to ...
11331
11332 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11333 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11334 (kernel_img_FORMAT): ... here, and ...
11335
11336 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11337 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11338 (kernel_img_FORMAT): ... here.
11339
11340 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11341 and input (at_keyboard) terminals in kernel.
11342 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11343
11344 (pkglib_MODULES): Remove `pci.mod'.
11345 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11346 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11347 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11348 (at_keyboard_mod_LDFLAGS): Remove variables.
11349
11350 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11351
11352 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11353
11354 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11355
11356 * include/grub/mips/libgcc.h: Only export symbols for functions
11357 that libgcc provides.
11358
11359 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 MIPS support.
11362
11363 * bus/bonito.c: New file.
11364 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11365 GRUB_PCI_NUM_DEVICES.
11366 * term/i386/pc/serial.c: Move to ...
11367 * term/serial.c: ... here. All users updated.
11368 * util/i386/pc/grub-mkimage.c: Move to ...
11369 * util/grub-mkrawimage.c: ... here. All users updated.
11370 * term/i386/pc/at_keyboard.c: Move to ...
11371 * term/at_keyboard.c: ... here. All users updated.
11372 * conf/mips-qemu-mips.rmk: New file.
11373 * conf/mips-yeeloong.rmk: Likewise.
11374 * conf/mips.rmk: Likewise.
11375 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11376 mipsel-qemu-mips.
11377 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11378 to port addresses.
11379 (grub_ata_pciinit): Support CS5536.
11380 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11381 * font/font_cmd.c (loadfont_command): Open file before passing it to
11382 grub_font_load.
11383 (pseudo_file_read): New function.
11384 (pseudo_file_close): Likewise.
11385 (pseudo_fs): New structure.
11386 (load_font_module): New function.
11387 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11388 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11389 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11390 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11391 * include/grub/i386/at_keyboard.h: Split into ...
11392 * include/grub/at_keyboard.h: ... this ...
11393 * include/grub/i386/at_keyboard.h: ... and this.
11394 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11395 New prototype.
11396 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11397 updated.
11398 (grub_elf64_size): Likewise.
11399 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11400 filename.
11401 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11402 * include/grub/i386/coreboot/serial.h: Rewritten.
11403 * include/grub/i386/ieee1275/serial.h: Include
11404 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11405 * include/grub/i386/pc/serial.h: Moved from here ...
11406 * include/grub/serial.h: ... to here. All users updated.
11407 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11408 (GRUB_PCI_NUM_BUS): Likewise.
11409 (GRUB_PCI_NUM_DEVICES): Likewise.
11410 (grub_pci_device_map_range): Add missing volatile keyword.
11411 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11412 * include/grub/mips/at_keyboard.h: New file.
11413 * include/grub/mips/cache.h: Likewise.
11414 * include/grub/mips/io.h: Likewise.
11415 * include/grub/mips/kernel.h: Likewise.
11416 * include/grub/mips/libgcc.h: Likewise.
11417 * include/grub/mips/pci.h: Likewise.
11418 * include/grub/mips/qemu-mips/boot.h: Likewise.
11419 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11420 * include/grub/mips/qemu-mips/loader.h: Likewise.
11421 * include/grub/mips/qemu-mips/memory.h: Likewise.
11422 * include/grub/mips/qemu-mips/serial.h: Likewise.
11423 * include/grub/mips/qemu-mips/time.h: Likewise.
11424 * include/grub/mips/relocator.h: Likewise.
11425 * include/grub/mips/time.h: Likewise.
11426 * include/grub/mips/types.h: Likewise.
11427 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11428 * include/grub/mips/yeeloong/boot.h: Likewise.
11429 * include/grub/mips/yeeloong/kernel.h: Likewise.
11430 * include/grub/mips/yeeloong/loader.h: Likewise.
11431 * include/grub/mips/yeeloong/memory.h: Likewise.
11432 * include/grub/mips/yeeloong/pci.h: Likewise.
11433 * include/grub/mips/yeeloong/serial.h: Likewise.
11434 * include/grub/mips/yeeloong/time.h: Likewise.
11435 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11436 * kern/elf.c (grub_elf32_size): New parameter. All users
11437 updated.
11438 (grub_elf64_size): Likewise.
11439 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11440 Load modules before saying "Welcome to GRUB!".
11441 Call grub_refresh after saying "Welcome to GRUB!".
11442 * kern/mips/cache.S: New file.
11443 * kern/mips/cache_flush.S: Likewise.
11444 * kern/mips/dl.c: Likewise.
11445 * kern/mips/init.c: Likewise.
11446 * kern/mips/qemu-mips/init.c: Likewise.
11447 * kern/mips/startup.S: Likewise.
11448 * kern/mips/yeeloong/init.c: Likewise.
11449 * kern/term.c (grub_putcode): Handle NULL terminal.
11450 (grub_getcharwidth): Likewise.
11451 (grub_getkey): Likewise.
11452 (grub_checkkey): Likewise.
11453 (grub_getkeystatus): Likewise.
11454 (grub_getxy): Likewise.
11455 (grub_getwh): Likewise.
11456 (grub_gotoxy): Likewise.
11457 (grub_cls): Likewise.
11458 (grub_setcolorstate): Likewise.
11459 (grub_setcolor): Likewise.
11460 (grub_getcolor): Likewise.
11461 (grub_refresh): Likewise.
11462 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11463 (write_jump): Add hatch nop.
11464 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11465 * lib/mips/setjmp.S: New file.
11466 * loader/mips/linux.c: Likewise.
11467 * term/i386/pc/at_keyboard.c: Move from here ...
11468 * term/at_keyboard.c: ... to here.
11469 * term/i386/pc/serial.c: Moved from here ...
11470 * term/serial.c: ... to here. All users updated.
11471 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11472 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11473 (serial_translate_key_sequence): Avoid deadlock.
11474 (grub_serial_getkey): Handle backspace.
11475 (grub_serial_putchar): Fix newline handling.
11476 * util/i386/pc/grub-mkimage.c: Move from here ...
11477 * util/grub-mkrawimage.c: ... to here. All users updated.
11478 (generate_image): New parameters 'font_path' and 'format'.
11479 Support embedding font.
11480 Use grub_host_to_target* instead of grub_cpu_to_le*.
11481 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11482 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11483 (options): New option "--font".
11484 (usage): Likewise.
11485 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11486 (main): Handle "--font".
11487 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11488 (grub_virtual_screen_setup): Set bg_color_display.
11489 (redraw_screen_rect): Use bg_color_display instead of incorrect
11490 bg_color.
11491 (grub_gfxterm_cls): Likewise.
11492 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11493 Support embedding config file.
11494 (add_segments): Likewise.
11495 (options): New option "--config".
11496 (main): Handle "--config".
11497 * video/sm712.c: New file.
11498
11499 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11500
11501 Fix parallel builds.
11502
11503 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11504 font.c depend on ascii.h).
11505
11506 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11507
11508 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11509
11510 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11511
11512 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11513 By default: disabled.
11514 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11515 parameter.
11516
11517 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11518
11519 * font/font.c: Update copyright years.
11520 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11521
11522 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11523
11524 * font/font.c: Include `ascii.h'.
11525 (ASCII_BITMAP_SIZE): New macro.
11526 (ascii_font_glyph): Define.
11527 (ascii_glyph_lookup): New function.
11528 (grub_font_get_string_width): Change comment. If glyph not found, use
11529 ascii_glyph_lookup.
11530 (grub_font_get_glyph_with_fallback): If glyph not available returns
11531 ascii_glyph_lookup.
11532 * util/grub-mkfont.c (file_formats): New enum.
11533 (options): Add `ascii-bitmaps' new option.
11534 (usage): Add `asii-bitmaps' new option.
11535 (write_font_ascii_bitmap): New function.
11536 (write_font): Rename to ...
11537 (write_font_p2): ... this. Remove print_glyphs call.
11538 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11539 used. Call print_glyphs.
11540 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11541
11542 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11543
11544 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11545 (grub_bin2h_SOURCES): New variable.
11546 * util/bin2h.c: New file.
11547
11548 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * include/multiboot.h: Resynced with spec.
11551 * include/multiboot2.h: Likewise.
11552 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11553 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11554
11555 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11556
11557 * include/grub/term.h (grub_term_register_input,
11558 grub_term_register_output): Check return of terminal init()
11559 routines, and abort if errors are raised.
11560
11561 * commands/terminal.c: Update copyright year.
11562
11563 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11564
11565 * commands/terminal.c (grub_cmd_terminal_input)
11566 (grub_cmd_terminal_output): Check return of terminal init()
11567 routines, and abort if errors are raised.
11568
11569 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * include/grub/i386/bsd.h: Fix include pathes.
11572
11573 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Add missing *BSD copyright headers.
11576
11577 * include/grub/aout.h: Add BSD licence.
11578 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11579 * include/grub/i386/freebsd_linker.h: ... here,
11580 * include/grub/i386/freebsd_reboot.h: ... here,
11581 * include/grub/i386/netbsd_bootinfo.h: ... here,
11582 * include/grub/i386/netbsd_reboot.h: ... here,
11583 * include/grub/i386/openbsd_bootarg.h: ... here,
11584 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11585 licence to each file.
11586
11587 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11588
11589 * acinclude.m4: Remove `nop' assembly instruction; it's not
11590 implemented by all architectures.
11591
11592 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11593
11594 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11595 ELILO. This is no longer necessary.
11596
11597 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11598
11599 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11600
11601 * util/grub-script-check.c: grub-script-check tool.
11602 * conf/common.rmk: Make rules for grub-script-check.
11603
11604 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11605
11606 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11607 spotting it back in 2008. Shame on me for forgetting he did.
11608
11609 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11610
11611 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11612
11613 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11614 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11615 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11616 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11617 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11618 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11619
11620 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11621
11622 * include/grub/test.h: Add license header.
11623 * tests/example_functional_test.c: Likewise.
11624 * tests/example_unit_test.c: Likewise.
11625 * tests/lib/functional_test.c: Likewise.
11626 * tests/lib/test.c: Likewise.
11627 * tests/lib/unit_test.c: Likewise.
11628
11629 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 Use flag-based instead of hook-based video mode selection and "auto"
11632 keyword.
11633
11634 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11635 (grub_video_set_mode): Changed prototype. All users updated.
11636 (grub_video_check_mode_flag): New inline function.
11637 * video/video.c (parse_modespec): New function.
11638 (grub_video_set_mode): Parse flags and keywords.
11639
11640 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11641
11642 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11643 fprintf call.
11644
11645 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11646
11647 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11648
11649 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11650
11651 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11652 string.
11653 * util/grub-emu.c (usage): Likewise.
11654 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11655 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11656 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11657 * util/i386/pc/grub-setup.c (usage): Likewise.
11658
11659 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11660
11661 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11662 the message.
11663 (grub_util_info): Likewise.
11664 (grub_util_error): Likewise.
11665 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11666 and/or new lines in `grub_util_warna', `grub_util_info',
11667 `grub_util_error' calls.
11668 * util/getroot.c: Likewise.
11669 * util/grub-editenv.c: Likewise.
11670 * util/grub-emu.c: Likewise.
11671 * util/grub-fstest.c: Likewise.
11672 * util/grub-mkdevicemap.c: Likewise.
11673 * util/grub-mkfont.c: Likewise.
11674 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11675 * util/grub-mkrelpath.c: Likewise.
11676 * util/grub-pe2elf.c: Likewise.
11677 * util/grub-probe.c: Likewise.
11678 * util/hostdisk.c: Likewise.
11679 * util/i386/efi/grub-mkimage.c: Likewise.
11680 * util/i386/pc/grub-mkimage.c: Likewise.
11681 * util/i386/pc/grub-setup.c: Likewise.
11682 * util/ieee1275/ofpath.c: Likewise.
11683 * util/mkisofs/eltorito.c: Likewise.
11684 * util/mkisofs/rock.c: Likewise.
11685 * util/mkisofs/write.c: Likewise.
11686 * util/raid.c: Likewise.
11687 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11688 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11689
11690 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Enable multiboot on non-pc.
11693
11694 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11695 multiboot.mod and multiboot2.mod to ...
11696 * conf/i386.rmk (pkglib_MODULES): ... here.
11697 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11698 Moved to ...
11699 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11700 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11701 Moved to ...
11702 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11703 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11704 Moved to ...
11705 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11706 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11707 Moved to ...
11708 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11709 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11710 relocator.mod.
11711 (ata_mod_SOURCES): Removed.
11712 (ata_mod_CFLAGS): Likewise.
11713 (ata_mod_LDFLAGS): Likewise.
11714 (relocator_mod_SOURCES): Removed.
11715 (relocator_mod_CFLAGS): Likewise.
11716 (relocator_mod_ASFLAGS): Likewise.
11717 (relocator_mod_LDFLAGS): Likewise.
11718 Include i386.mk.
11719 * include/grub/x86_64/multiboot.h: New file.
11720 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11721 Terminate EFI.
11722
11723 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 Video multiboot support.
11726
11727 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11728 New prototype.
11729 * include/multiboot.h: Resynced with multiboot specification.
11730 * include/multiboot2.h: Likewise.
11731 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11732 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11733 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11734 (HAS_VGA_TEXT): Likewise.
11735 (accepts_video): New variable.
11736 (grub_multiboot_set_accepts_video): New function.
11737 (grub_multiboot_get_mbi_size): Account for video structures.
11738 (set_video_mode): New function.
11739 (retrieve_video_parameters): Likewise.
11740 (grub_multiboot_make_mbi): Fill video fields.
11741
11742 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 Video driver ids.
11745
11746 * include/grub/video.h (grub_video_driver_id): New type.
11747 (grub_video_adapter): New member 'id'. All users updated.
11748 (grub_video_get_driver_id): New proto.
11749 * video/video.c (grub_video_get_driver_id): New function.
11750
11751 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11752
11753 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11754 `var=val'.
11755
11756 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11757
11758 * normal/cmdline.c (print_completion): Gettextizze.
11759
11760 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11761
11762 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11763
11764 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11765
11766 * gettext/gettext.c (grub_gettext_translate): Push and pop
11767 grub_errno.
11768 (grub_gettext_delete_list): Change comment style.
11769 * kern/err.c (grub_error): Gettextizze.
11770 (grub_fatal): Gettextizze.
11771
11772 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11773
11774 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11775 (grub_linux16_real_boot): ... this.
11776 * kern/i386/loader.S: Likewise.
11777 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11778 (grub_linux16_boot): New function. Switches to text mode and calls
11779 grub_linux16_real_boot().
11780
11781 * loader/i386/bsd.c: Include `<grub/video.h>'.
11782 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11783 text mode before calling grub_unix_real_boot().
11784
11785 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11786 (grub_multiboot_boot): Switch to text mode before calling
11787 grub_relocator32_boot().
11788
11789 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11790 (grub_chainloader_boot): Switch to text mode before calling
11791 grub_chainloader_real_boot().
11792
11793 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11794 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11795
11796 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11797 non-empty value.
11798
11799 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11800 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11801
11802 * util/grub.d/00_header.in: Define a "savedefault" function for use
11803 in menu entries.
11804 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11805
11806 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11807 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11808
11809 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11810 saved_entry if boot_once is unset.
11811 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11812 previous saved entry (i.e. grub-reboot).
11813
11814 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11815
11816 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11817
11818 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11819
11820 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11821 `var=val'.
11822 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11823
11824 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11825
11826 * util/grub-reboot.in: Fix --version output.
11827 * util/grub-set-default.in: Likewise.
11828
11829 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11830
11831 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11832 blocks.
11833
11834 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11835
11836 * util/grub.d/00_header.in: Quote the value assigned to `default',
11837 in case it contains spaces.
11838
11839 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11840
11841 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11842 `save_default_entry' call from the macosx case to the linux case.
11843
11844 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11845 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11846
11847 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11848 in `chosen' environment variable.
11849 * normal/menu_text.c (get_entry_number): Check if the variable
11850 matches the title of a menu entry.
11851 (run_menu): Pass menu to get_entry_number.
11852
11853 * util/grub-reboot.in: New file.
11854 * util/grub-set-default.in: New file.
11855 * conf/common.rmk (grub-reboot): New utility.
11856 (grub-set-default): New utility.
11857
11858 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11859 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11860 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11861 move it to `saved_entry' for the next boot. Load environment on
11862 initialisation.
11863 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11864 * util/grub.d/10_hurd.in: Likewise.
11865 * util/grub.d/10_linux.in (linux_entry): Likewise.
11866 * util/grub.d/10_windows.in: Likewise.
11867 * util/grub.d/30_os-prober.in: Likewise.
11868
11869 * util/grub-install.in: Create environment block.
11870 * util/i386/efi/grub-install.in: Likewise.
11871 * util/ieee1275/grub-install.in: Likewise.
11872 * util/sparc64/ieee1275/grub-install.in: Likewise.
11873
11874 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11875
11876 Unit testing framework for GRUB.
11877
11878 * Makefile.in: Test framework build rules for 'make check'.
11879 * conf/tests.rmk: Build rules for individual tests and framework.
11880
11881 * include/grub/test.h: Header file for whitebox tests.
11882 * tests/lib/functional_test.c: Framework support for whitebox
11883 functional tests.
11884 * tests/lib/test.c: Common whitebox testing code for unit and
11885 functional tests.
11886 * tests/lib/unit_test.c: Framework support for whitebox unit
11887 tests.
11888
11889 * tests/util/grub-shell-tester.in: Support utility for grub-script
11890 tests.
11891 * tests/util/grub-shell.in: Utility to execute grub-script
11892 commands in a Qemu instance.
11893
11894 * tests/example_functional_test.c: Example whitebox functional
11895 test.
11896 * tests/example_grub_script_test.in: Example grub-script test.
11897 * tests/example_scripted_test.in: Example scripted test.
11898 * tests/example_unit_test.c: Example whitebox unit test.
11899
11900 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11903 Add loader/i386/multiboot_mbi.c.
11904 (multiboot2_mod_SOURCES): Likewise.
11905 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11906 (multiboot2_mod_SOURCES): Likewise.
11907 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11908 (grub_multiboot_make_mbi): Likewise.
11909 (grub_multiboot_free_mbi): Likewise.
11910 (grub_multiboot_init_mbi): Likewise.
11911 (grub_multiboot_add_module): Likewise.
11912 (grub_multiboot_set_bootdev): Likewise.
11913 * loader/i386/multiboot.c (mbi): Removed.
11914 (mbi_dest): Likewise.
11915 (alloc_mbi): New variable.
11916 (grub_multiboot_payload_size): Removed. All users updated.
11917 (grub_multiboot_pure_size): New variable.
11918 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11919 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11920 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11921 (grub_fill_multiboot_mmap): Likewise.
11922 (grub_multiboot_get_bootdev): Likewise.
11923 (grub_multiboot): Use multiboot_mbi functions.
11924 * loader/i386/multiboot_mbi.c: New file.
11925
11926 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11929 it would result in module crash.
11930
11931 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11934 (grub_ofconsole_getwh): Split to ...
11935 (grub_ofconsole_getwh): ... this.
11936 (grub_ofconsole_dimensions): ...and this.
11937 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11938
11939 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11940
11941 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11942
11943 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * loader/i386/pc/multiboot2.c: Removed stalled file.
11946
11947 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11950 Reported by: Grégoire Sutre
11951
11952 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11953
11954 * util/misc.c (canonicalize_file_name): New function.
11955 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11956 instead of realpath().
11957
11958 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11961 and make it clearer that it's optional. Based on confusion
11962 witnessed on IRC.
11963
11964 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11967 in premature implicit newline.
11968
11969 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11972 which resulted in garbled command line at the end of screen.
11973
11974 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11975
11976 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11977 initialization with similar approach as with other Linux loaders.
11978
11979 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11980
11981 Fix i386-ieee1275 build.
11982
11983 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11984 and grub_term_height() for video_{width,height} initialization.
11985
11986 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11987
11988 Fix grub-emu build.
11989
11990 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11991
11992 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11993 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11994
11995 Support for multiple terminals.
11996
11997 * Makefile.in (pkglib_DATA): terminal.lst.
11998 (terminal.lst): New target.
11999 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
12000 (GRUB_MOD_INIT(handler)): Likewise.
12001 (GRUB_MOD_FINI(handler)): Likewise.
12002 * commands/help.c (grub_cmd_help): Handle multiple terminals.
12003 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
12004 * commands/sleep.c (do_print): Use grub_term_restore_pos.
12005 (grub_cmd_sleep): Use grub_term_save_pos.
12006 * commands/terminal.c: New file.
12007 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
12008 commands/terminal.c and lib/charset.c.
12009 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
12010 (pkglib_MODULES): Add terminal.mod.
12011 (terminal_mod_SOURCES): New variable.
12012 (terminal_mod_CFLAGS): Likewise.
12013 (terminal_mod_LDFLAGS): Likewise.
12014 * genhandlerlist.sh: Don't handle terminals.
12015 * genmk.rb: Generate terminal-*.lst.
12016 * genterminallist.sh: New file.
12017 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
12018 (grub_is_valid_utf8): Likewise.
12019 (grub_utf8_to_ucs4_alloc): Likewise.
12020 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
12021 (grub_menu_register_viewer): Changed argument.
12022 (grub_menu_try_text): New proto.
12023 (grub_gfxmenu_try_hook): New declaration.
12024 * include/grub/normal.h (grub_normal_exit_level): New declaration.
12025 (grub_menu_init_page): Additional argument term.
12026 (grub_normal_init_page): Likewise.
12027 (grub_cmdline_get): Arguments simplified.
12028 (grub_utf8_to_ucs4_alloc): Removed.
12029 (grub_print_ucs4): Additional argument term.
12030 (grub_getstringwidth): Likewise.
12031 (grub_print_message_indented): Likewise.
12032 (grub_menu_text_register_instances): New proto.
12033 (grub_show_menu): Likewise.
12034 (read_terminal_list): Likewise.
12035 (grub_set_more): Likewise.
12036 * include/grub/parser.h: Include handler.h.
12037 * include/grub/reader.h: Rewritten.
12038 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
12039 (GRUB_TERM_WIDTH): Changed to function.
12040 (GRUB_TERM_HEIGHT): Likewise.
12041 (GRUB_TERM_BORDER_WIDTH): Likewise.
12042 (GRUB_TERM_BORDER_HEIGHT): Likewise.
12043 (GRUB_TERM_NUM_ENTRIES): Likewise.
12044 (GRUB_TERM_ENTRY_WIDTH): Likewise.
12045 (GRUB_TERM_CURSOR_X): Likewise.
12046 (grub_term_input_class): Likewise.
12047 (grub_term_output_class): Likewise.
12048 (grub_term_outputs_disabled): New declaration.
12049 (grub_term_inputs_disabled): Likewise.
12050 (grub_term_outputs): Likewise.
12051 (grub_term_inputs): Likewise.
12052 (grub_term_register_input): Rewritten.
12053 (grub_term_register_output): Likewise.
12054 (grub_term_unregister_input): Likewise.
12055 (grub_term_unregister_output): Likewise.
12056 (FOR_ACTIVE_TERM_INPUTS): New macro.
12057 (FOR_DISABLED_TERM_INPUTS): Likewise.
12058 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12059 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12060 * include/grub/terminfo.h: Add oterm argument to all protypes.
12061 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
12062 Use grub_rescue_run.
12063 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
12064 All users updated.
12065 * kern/reader.c: Removed. All users updated.
12066 * kern/rescue_reader.c (grub_rescue_init): Removed.
12067 (grub_rescue_reader): Likewise.
12068 (grub_register_rescue_reader): Likewise.
12069 (grub_rescue_run): New function based on kern/reader.c.
12070 * kern/term.c: Adapted for multiterm.
12071 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
12072 (grub_is_valid_utf8): Likewise.
12073 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
12074 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
12075 right terminal.
12076 * loader/i386/linux.c (grub_linux_boot): Likewise.
12077 * normal/auth.c (grub_username_get): New function.
12078 (grub_auth_check_authentication): Use grub_username_get.
12079 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
12080 * normal/color.c: Adapt for multiterm.
12081 * normal/main.c (read_config_file): Don't use grub_reader_loop.
12082 (grub_normal_init_page): Additional argument term.
12083 (read_lists): Call read_terminal_lists.
12084 (grub_enter_normal_mode): Call grub_cmdline_run.
12085 Handle grub_normal_exit_level.
12086 (grub_cmd_normal): Make reentrant.
12087 (grub_cmd_normal_exit): New function.
12088 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
12089 * normal/menu.c: Adapt for multiterm.
12090 * normal/menu_entry.c: Likewise.
12091 * normal/menu_text.c: Likewise.
12092 * normal/menu_viewer.c: Removed. All users updated.
12093 * normal/term.c: New file.
12094 * util/console.c: Change order of includes to workaround a bug in
12095 ncurses headers.
12096 * term/terminfo.c: New argument oterm on all exported functions.
12097 All users updated.
12098 * util/grub-editenv.c (grub_term_input_class): Removed.
12099 (grub_term_output_class): Likewise.
12100
12101 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12102
12103 Make loader output a bit more user-friendly.
12104
12105 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12106 is being loaded. Likewise for the Hurd.
12107
12108 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12109 that kernel of FreeBSD ${version} is being loaded.
12110
12111 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12112 grub_dprintf().
12113 (grub_cmd_initrd): Likewise.
12114 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12115 that Linux ${version} is being loaded. Likewise for initrd.
12116
12117 2010-01-09 Carles Pina i Estany <carles@pina.cat>
12118
12119 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12120
12121 2010-01-08 Carles Pina i Estany <carles@pina.cat>
12122
12123 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12124 (GRUB_MOD_INIT): Gettextizze.
12125 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12126 (GRUB_MOD_INIT): Gettextizze.
12127 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12128 (grub_cmd_linux): Capitalise Linux.
12129 (GRUB_MOD_INIT): Gettextizze.
12130 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12131 (grub_cmd_linux): Capitalise Linux.
12132 (GRUB_MOD_INIT): Gettextizze.
12133 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12134 (grub_cmd_linux): Capitalise Linux.
12135 (GRUB_MOD_INIT): Gettextizze.
12136 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12137 (GRUB_MOD_INIT): Gettextizze.
12138 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12139 (grub_cmd_linux): Capitalise Linux.
12140 (GRUB_MOD_INIT): Gettextizze.
12141 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12142 (grub_cpu_xnu_init): Gettextizze.
12143 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12144 (GRUB_MOD_INIT): Gettextizze.
12145 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12146 (GRUB_MOD_INIT): Gettextizze.
12147 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12148 (grub_linux_load64): Capitalise Linux.
12149 (GRUB_MOD_INIT): Gettextizze.
12150 * loader/xnu.c: Include `<grub/i18n.h>'.
12151 (GRUB_MOD_INIT): Gettextizze.
12152 * po/POTFILES: Add `loader/efi/appleloader.c',
12153 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12154 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12155 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12156 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12157 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12158 and `loader/xnu.c'.
12159
12160 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12161
12162 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12163
12164 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12165
12166 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12167 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12168 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12169
12170 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12171
12172 Reset Multiboot 2 support. New loader implements the draft in
12173 /branches/multiboot2 and shares as much code as possible with the
12174 production Multiboot 1 implementation.
12175
12176 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12177 * loader/multiboot2.c: Likewise.
12178 * loader/i386/multiboot_helper.S: Likewise.
12179 * include/multiboot2.h: Replace with latest version from the draft
12180 in /branches/multiboot2.
12181
12182 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12183 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12184 and `loader/multiboot2.c'.
12185 (pkglib_MODULES): Add `multiboot2.mod'.
12186 (multiboot2_mod_SOURCES): New variable.
12187 (multiboot2_mod_LDFLAGS): Likewise.
12188 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12189
12190 * conf/i386-pc.rmk: Likewise.
12191
12192 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12193 (multiboot_mod_SOURCES): Remove variable.
12194 (multiboot_mod_LDFLAGS): Likewise.
12195 (multiboot_mod_CFLAGS): Likewise.
12196
12197 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12198 `<multiboot2.h>' instead of `<multiboot.h>'.
12199 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12200 (MULTIBOOT_HEADER_MAGIC): New macros.
12201
12202 * loader/multiboot_loader.c (module_version_status): Remove variable.
12203 (find_multi_boot2_header): Remove function.
12204 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12205 logic. Always check for the Multiboot version we're compiling for.
12206 (grub_cmd_module_loader): Likewise.
12207 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12208 command instead of `multiboot'.
12209
12210 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12211
12212 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12213 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12214 all users.
12215
12216 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12217 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 Fix breakage introduced with previous commit.
12220
12221 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12222 commands.
12223 * normal/handler.c (read_handler_list): Revert part of previous commit
12224 affecting this file.
12225 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12226 (grub_normal_execute): ... here.
12227
12228 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12229
12230 Merge prefix-redefinition-fix branch.
12231
12232 * normal/autofs.c (read_fs_list): Make function capable of being
12233 run multiple times, gracefuly replacing the previous data
12234 structures.
12235 * normal/dyncmd.c (read_command_list): Likewise.
12236 * normal/handler.c (read_handler_list): Likewise.
12237 * normal/main.c (read_lists): New function. Calls all the
12238 list reading functions.
12239 (grub_normal_execute): Use read_lists() instead of calling all
12240 list reading functions explicitly. Register read_lists() as a
12241 variable hook attached to ${prefix}.
12242
12243 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 Merge crypto branch.
12246
12247 * Makefile.in (pkglib_DATA): Add crypto.lst.
12248 (crypto.lst): New target.
12249 * commands/hashsum.c: New file.
12250 * commands/password.c (check_password): Use grub_crypto_memcmp.
12251 * commands/password_pbkdf2.c: New file.
12252 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12253 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12254 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12255 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12256 -I$(srcdir)/lib/libgcrypt_wrap.
12257 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12258 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12259 password_pbkdf2.mod.
12260 (crypto_mod_SOURCES): New variable.
12261 (crypto_mod_CFLAGS): Likewise.
12262 (crypto_mod_LDFLAGS): Likewise.
12263 (hashsum_mod_SOURCES): New variable.
12264 (hashsum_mod_CFLAGS): Likewise.
12265 (hashsum_mod_LDFLAGS): Likewise.
12266 (pbkdf2_mod_SOURCES): New variable.
12267 (pbkdf2_mod_CFLAGS): Likewise.
12268 (pbkdf2_mod_LDFLAGS): Likewise.
12269 (password_pbkdf2_mod_SOURCES): New variable.
12270 (password_pbkdf2_mod_CFLAGS): Likewise.
12271 (password_pbkdf2_mod_LDFLAGS): Likewise.
12272 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12273 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12274 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12275 Include conf/gcry.rmk.
12276 * include/grub/auth.h: Rewritten.
12277 * include/grub/crypto.h: New file.
12278 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12279 * include/grub/normal.h (read_crypto_list): New prototype.
12280 * lib/crypto.c: New file.
12281 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12282 * lib/pbkdf2.c: Likewise.
12283 * normal/auth.c (grub_auth_strcmp): Removed.
12284 (grub_iswordseparator): Likewise.
12285 (grub_auth_strword): Likewise.
12286 (is_authenticated): Use grub_strword.
12287 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12288 and grub_strword. Pass entered password to authentication callback.
12289 * normal/crypto.c: New file.
12290 * normal/main.c: Call read_crypto_list.
12291 * util/grub-mkpasswd-pbkdf2.c: New file.
12292 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12293
12294 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 Fix descent and ascent calculation.
12297
12298 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12299 (options): New option "asce".
12300 (usage): Likewise.
12301 (add_char): Ignore invalid glyphs for descent calculation.
12302 Calculate ascent from actual content.
12303 (print_glyphs): Use 'asce'.
12304 (write_font): Likewise. Allow ascent override.
12305 (main): Handle "asce" option.
12306
12307 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12308
12309 * kern/err.c: Include `<grub/i18n.h>'.
12310 (grub_print_error): Add full stop. Gettextizze.
12311 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12312 (grub_bsd_load_elf): Capitalise ELF.
12313 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12314 (grub_cmd_freebsd_module): Likewise.
12315 (grub_cmd_freebsd_module_elf): Likewise.
12316 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12317
12318 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12319
12320 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12321 * commands/search_file.c (HELP_MESSAGE): New macro.
12322 * commands/search_label.c (HELP_MESSAGE): Likewise.
12323 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12324 * po/POTFILES: Add `commands/search_file.c',
12325 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12326 `commands/search.c'.
12327
12328 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12329
12330 * config.rpath: Update from Gnulib.
12331
12332 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12333
12334 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12335
12336 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12337
12338 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12339
12340 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12341
12342 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12343 arguments to fread so that we get a return value in bytes, rather
12344 than something that will normally be rounded down to 0.
12345 Adjust error handling to avoid producing garbage when size_t is not
12346 the same size as long long.
12347
12348 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12349
12350 * util/mkisofs/write.c (padblock_write): Check return value of
12351 fread.
12352
12353 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12354
12355 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12356 floppy images now.
12357
12358 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12359
12360 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12361
12362 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12363 instead of manual alignment.
12364 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12365 verbose). Avoid attempts to read past end of the device
12366 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12367 but GRUB_DISK_CACHE_SIZE may exceed that).
12368
12369 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12370
12371 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12372 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12373 it to upper layer.
12374
12375 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12378 New constant.
12379 (grub_efi_piwg_device_path): New structure
12380 (grub_efi_piwg_device_path_t): New type.
12381 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12382 (devpath_1): Transform to a structure. All users updated.
12383 (devpath_2): Likewise.
12384 (devpath_3): Likewise.
12385 (devpath_4): Likewise.
12386 (devpath_5): Likewise.
12387
12388 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * loader/efi/appleloader.c: Restored. Update all users.
12391
12392 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12393
12394 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12395
12396 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12397 (struct boot_blocklist): Move from here ...
12398 * include/grub/i386/pc/boot.h [ASM_FILE]
12399 (struct grub_boot_blocklist): ... to here. Update all users.
12400 (setup): Only initialize `start' member of `first_block'
12401 structure. Add assert() calls to verify the other members.
12402
12403 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12404 (generate_image): Fix broken blocklist length initialization.
12405 Add assert() call to verify blocklist `segment' field.
12406
12407 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12408
12409 * loader/efi/appleloader.c: Remove. Update all users.
12410
12411 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12412
12413 * boot/i386/pc/boot.S: Update copyright year.
12414 * boot/i386/pc/cdboot.S: Likewise.
12415 * boot/i386/pc/diskboot.S: Likewise.
12416 * boot/i386/pc/lnxboot.S: Likewise.
12417 * boot/i386/pc/pxeboot.S: Likewise.
12418 * bus/pci.c: Likewise.
12419 * commands/cmp.c: Likewise.
12420 * commands/help.c: Likewise.
12421 * commands/hexdump.c: Likewise.
12422 * commands/i386/pc/halt.c: Likewise.
12423 * commands/i386/pc/play.c: Likewise.
12424 * commands/i386/pc/vbeinfo.c: Likewise.
12425 * commands/ls.c: Likewise.
12426 * commands/test.c: Likewise.
12427 * disk/dmraid_nvidia.c: Likewise.
12428 * disk/i386/pc/biosdisk.c: Likewise.
12429 * disk/ieee1275/nand.c: Likewise.
12430 * disk/ieee1275/ofdisk.c: Likewise.
12431 * disk/lvm.c: Likewise.
12432 * disk/raid.c: Likewise.
12433 * disk/raid6_recover.c: Likewise.
12434 * disk/scsi.c: Likewise.
12435 * fs/affs.c: Likewise.
12436 * fs/cpio.c: Likewise.
12437 * fs/ext2.c: Likewise.
12438 * fs/hfs.c: Likewise.
12439 * fs/iso9660.c: Likewise.
12440 * fs/ntfs.c: Likewise.
12441 * fs/sfs.c: Likewise.
12442 * fs/udf.c: Likewise.
12443 * fs/ufs.c: Likewise.
12444 * fs/xfs.c: Likewise.
12445 * gencmdlist.sh: Likewise.
12446 * genmk.rb: Likewise.
12447 * include/grub/disk.h: Likewise.
12448 * include/grub/efi/api.h: Likewise.
12449 * include/grub/efi/efi.h: Likewise.
12450 * include/grub/efi/pe32.h: Likewise.
12451 * include/grub/elf.h: Likewise.
12452 * include/grub/fs.h: Likewise.
12453 * include/grub/i386/at_keyboard.h: Likewise.
12454 * include/grub/i386/pc/memory.h: Likewise.
12455 * include/grub/i386/pc/vbe.h: Likewise.
12456 * include/grub/i386/pci.h: Likewise.
12457 * include/grub/i386/tsc.h: Likewise.
12458 * include/grub/ieee1275/ieee1275.h: Likewise.
12459 * include/grub/ntfs.h: Likewise.
12460 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12461 * include/grub/sparc64/libgcc.h: Likewise.
12462 * include/grub/symbol.h: Likewise.
12463 * include/grub/types.h: Likewise.
12464 * include/multiboot2.h: Likewise.
12465 * io/gzio.c: Likewise.
12466 * kern/device.c: Likewise.
12467 * kern/disk.c: Likewise.
12468 * kern/efi/efi.c: Likewise.
12469 * kern/efi/mm.c: Likewise.
12470 * kern/elf.c: Likewise.
12471 * kern/file.c: Likewise.
12472 * kern/i386/dl.c: Likewise.
12473 * kern/i386/pc/init.c: Likewise.
12474 * kern/i386/pc/startup.S: Likewise.
12475 * kern/ieee1275/ieee1275.c: Likewise.
12476 * kern/ieee1275/init.c: Likewise.
12477 * kern/main.c: Likewise.
12478 * kern/mm.c: Likewise.
12479 * kern/powerpc/dl.c: Likewise.
12480 * kern/sparc64/dl.c: Likewise.
12481 * kern/x86_64/dl.c: Likewise.
12482 * lib/hexdump.c: Likewise.
12483 * loader/efi/appleloader.c: Likewise.
12484 * loader/i386/ieee1275/linux.c: Likewise.
12485 * loader/i386/pc/chainloader.c: Likewise.
12486 * loader/i386/pc/linux.c: Likewise.
12487 * loader/i386/pc/multiboot2.c: Likewise.
12488 * loader/ieee1275/multiboot2.c: Likewise.
12489 * loader/multiboot2.c: Likewise.
12490 * loader/multiboot_loader.c: Likewise.
12491 * loader/powerpc/ieee1275/linux.c: Likewise.
12492 * normal/completion.c: Likewise.
12493 * normal/menu_entry.c: Likewise.
12494 * partmap/apple.c: Likewise.
12495 * util/grub.d/10_hurd.in: Likewise.
12496 * util/hostfs.c: Likewise.
12497 * video/readers/png.c: Likewise.
12498
12499 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12500
12501 * include/grub/misc.h (GNUC_PREREQ): New macro.
12502 (ATTRIBUTE_ERROR): New macro.
12503 * include/grub/list.h (grub_bad_type_cast_real): Use
12504 ATTRIBUTE_ERROR.
12505
12506 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12507
12508 * normal/menu_text.c (print_message): Change messages.
12509
12510 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12511
12512 * normal/menu_entry.c (store_completion): Gettextizze.
12513
12514 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12515
12516 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12517
12518 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12519
12520 * po/POTFILES: Sort correctly.
12521
12522 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12523
12524 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12525 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12526 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12527 full stop.
12528 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12529 summary. Gettextizze the strings.
12530 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12531 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12532 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12533 full stop.
12534 (GRUB_MOD_INIT): Remove command name from summary.
12535 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12536 summary.
12537 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12538 * term/i386/pc/serial.c (options): Add full stops.
12539 (GRUB_MOD_INIT): Remove command name from the summary.
12540
12541 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12542
12543 * commands/acpi.c: Gettextizze help strings and/or options. Include
12544 `grub/i18n.h' if needed.
12545 * commands/blocklist.c: Likewise.
12546 * commands/boot.c: Likewise.
12547 * commands/cat.c: Likewise.
12548 * commands/cmp.c: Likewise.
12549 * commands/configfile.c: Likewise.
12550 * commands/crc.c: Likewise.
12551 * commands/date.c: Likewise.
12552 * commands/echo.c: Likewise.
12553 * commands/efi/fixvideo.c: Likewise.
12554 * commands/efi/loadbios.c: Likewise.
12555 * commands/gptsync.c: Likewise.
12556 * commands/halt.c: Likewise.
12557 * commands/handler.c: Likewise.
12558 * commands/hdparm.c: Likewise.
12559 * commands/hexdump.c: Likewise.
12560 * commands/i386/cpuid.c: Likewise.
12561 * commands/i386/pc/drivemap.c: Likewise.
12562 * commands/i386/pc/halt.c: Likewise.
12563 * commands/i386/pc/pxecmd.c: Likewise.
12564 * commands/i386/pc/vbeinfo.c: Likewise.
12565 * commands/i386/pc/vbetest.c: Likewise.
12566 * commands/ieee1275/suspend.c: Likewise.
12567 * commands/keystatus.c: Likewise.
12568 * commands/loadenv.c: Likewise.
12569 * commands/ls.c: Likewise.
12570 * commands/lsmmap.c: Likewise.
12571 * commands/lspci.c: Likewise.
12572 * commands/memrw.c: Likewise.
12573 * commands/minicmd.c: Likewise.
12574 * commands/parttool.c: Likewise.
12575 * commands/password.c: Likewise.
12576 * commands/probe.c: Likewise.
12577 * commands/read.c: Likewise.
12578 * commands/reboot.c: Likewise.
12579 * commands/search.c: Likewise.
12580 * commands/sleep.c: Likewise.
12581 * commands/test.c: Likewise.
12582 * commands/true.c: Likewise.
12583 * commands/usbtest.c: Likewise.
12584 * commands/videotest.c: Likewise.
12585 * commands/xnu_uuid.c: Likewise.
12586 * disk/loopback.c: Likewise.
12587 * hello/hello.c: Likewise.
12588 * loader/i386/bsd.c: Likewise.
12589 * term/i386/pc/serial.c: Likewise.
12590 * po/POTFILES: Add new files.
12591
12592 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12593
12594 * term/i386/pc/at_keyboard.c
12595 (keyboard_controller_wait_untill_ready): Rename to ...
12596 (keyboard_controller_wait_until_ready): ... this. Update all users.
12597
12598 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12599
12600 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12601 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12602 string using string width.
12603 * normal/menu_text.c (grub_print_message_indented): Use
12604 grub_print_spaces and not print_spaces.
12605 (print_timeout): Likewise.
12606 (print_spaces): Move to...
12607 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12608
12609 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12610
12611 Import from Gnulib.
12612
12613 * gnulib/getdelim.c: New file.
12614 * gnulib/getline.c: Likewise.
12615
12616 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12617
12618 * include/grub/list.h (grub_assert_fail): Removed.
12619 (grub_bad_type_cast_real): New function.
12620 (grub_bad_type_cast): New macro.
12621 (GRUB_AS_LIST): Use grub_bad_type_cast.
12622 (GRUB_AS_LIST_P): Likewise.
12623 (GRUB_AS_NAMED_LIST): Likewise.
12624 (GRUB_AS_NAMED_LIST_P): Likewise.
12625 (GRUB_AS_PRIO_LIST): Likewise.
12626 (GRUB_AS_PRIO_LIST_P): Likewise.
12627 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12628
12629 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12632 Fix syntax error.
12633
12634 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12635
12636 * configure.ac: Check for TARGET_CFLAGS initialization before we
12637 initialize it ourselves (sigh).
12638 Move a few modifications to TARGET_CFLAGS to be unconditional
12639 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12640 eh_frame)
12641
12642 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12643 * term/i386/pc/at_keyboard.c
12644 (keyboard_controller_wait_untill_ready): Likewise.
12645 (keyboard_controller_led): Rename `led_status' paramter to avoid
12646 name conflict.
12647
12648 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12649
12650 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12651 quotes.
12652
12653 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12656
12657 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * normal/menu_text.c (grub_print_message_indented): Prevent
12660 past-the-end-of-array dereference.
12661
12662 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12665 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12666
12667 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12668
12669 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12670 * normal/main.c (grub_normal_read_line): Remove a space from the
12671 default prompt.
12672
12673 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12674
12675 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12676 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12677 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12678 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12679 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12680 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12681 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12682
12683 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12684
12685 * video/readers/jpeg.c (cmd): Declare.
12686 (grub_cmd_jpegtest): Use `grub_command_t' type.
12687 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12688 Assign to `cmd'.
12689 (GRUB_MOD_FINI): Use `cmd' to unregister.
12690 * video/readers/png.c (cmd): Declare.
12691 (grub_cmd_pngtest): Use `grub_command_t' type.
12692 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12693 Assign to `cmd'.
12694 (GRUB_MOD_FINI): Use `cmd' to unregister.
12695 * video/readers/tga.c (cmd): Declare.
12696 (grub_cmd_tgatest): Use `grub_command_t' type.
12697 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12698 Assign to `cmd'.
12699 (GRUB_MOD_FINI): Use `cmd' to unregister.
12700
12701 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12702
12703 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12704 stops.
12705 * kern/corecmd.c (grub_register_core_commands): Likewise.
12706 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12707 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12708 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12709 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12710 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12711 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12712 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12713 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12714 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12715 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12716 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12717 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12718 * normal/handler.c (insert_handler): Likewise.
12719 * normal/main.c (GRUB_MOD_INIT): Likewise.
12720 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12721
12722 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12723
12724 * commands/help.c (grub_cmd_help): Print the command name before the
12725 summary.
12726 (GRUB_MOD_INIT): Remove command name from the summary.
12727 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12728 string as summary.
12729 * lib/arg.c (find_long): Print the command name before the summary.
12730 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12731 summary.
12732 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12733 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12734 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12735 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12736 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12737 * commands/date.c (GRUB_MOD_INIT): Likewise.
12738 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12739 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12740 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12741 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12742 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12743 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12744 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12745 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12746 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12747 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12748 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12749 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12750 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12751 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12752 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12753 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12754 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12755 * commands/password.c (GRUB_MOD_INIT): Likewise.
12756 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12757 * commands/read.c (GRUB_MOD_INIT): Likewise.
12758 * commands/search.c (GRUB_MOD_INIT): Likewise.
12759 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12760 * commands/test.c (GRUB_MOD_INIT): Likewise.
12761 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12762 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12763 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12764 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12765 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12766 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12767 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12768 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12769 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12770 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12771 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12772 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12773 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12774 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12775
12776 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 Use search command for preliminar UUID search.
12779
12780 * commands/search.c: Split into ...
12781 * commands/search_wrap.c: ...this
12782 * commands/search.c: ...and this.
12783 * commands/search_file.c: New file.
12784 * commands/search_label.c: New file.
12785 * commands/search_uuid.c: New file.
12786 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12787 Add commands/search_wrap.c, commands/search_file.c,
12788 commands/search_label.c and commands/search_uuid.c.
12789 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12790 (search_mod_SOURCES): Set to commands/search_wrap.c.
12791 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12792 search_label.mod.
12793 (search_fs_file_mod_SOURCES): New variable.
12794 (search_fs_file_mod_CFLAGS): Likewise.
12795 (search_fs_file_mod_LDFLAGS): Likewise.
12796 (search_label_mod_SOURCES): Likewise.
12797 (search_label_mod_CFLAGS): Likewise.
12798 (search_label_mod_LDFLAGS): Likewise.
12799 (search_fs_uuid_mod_SOURCES): New variable.
12800 (search_fs_uuid_mod_CFLAGS): Likewise.
12801 (search_fs_uuid_mod_LDFLAGS): Likewise.
12802 (fs_file_mod_SOURCES): Removed.
12803 (fs_file_mod_CFLAGS): Likewise.
12804 (fs_file_mod_LDFLAGS): Likewise.
12805 (fs_uuid_mod_SOURCES): Removed.
12806 (fs_uuid_mod_CFLAGS): Likewise.
12807 (fs_uuid_mod_LDFLAGS): Likewise.
12808 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12809 Set to util/grub-install.in.
12810 * disk/fs_file.c: Removed.
12811 * disk/fs_uuid.c: Likewise.
12812 * include/grub/search.h: New file.
12813 * util/grub-install.in: Handle sparc64.
12814 Create and use load.cfg.
12815 * util/sparc64/ieee1275/grub-install.in: Removed.
12816
12817 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12820 Ignore return status if CF is cleared.
12821 (grub_biosdisk_get_diskinfo_standard): Likewise.
12822
12823 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12824
12825 * term/i386/pc/at_keyboard.c
12826 (keyboard_controller_wait_untill_ready): New function.
12827 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12828 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12829 for keyboard polling, rather than duplicate the same loop. This
12830 saves a few bytes in code size.
12831
12832 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 Support for (pxe[:server[:gateway]]) syntax and
12835 use environment variable for PXE.
12836
12837 * commands/i386/pc/pxecmd.c (options): Removed.
12838 (print_ip): Removed.
12839 (grub_cmd_pxe): Removed
12840 (grub_cmd_pxe_unload): New function.
12841 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12842 (grub_pxe_your_ip): Made static.
12843 (grub_pxe_default_server_ip): Likewise.
12844 (grub_pxe_default_gateway_ip): Likewise.
12845 (grub_pxe_blksize): Likewise.
12846 (parse_ip): New function.
12847 (grub_pxe_open): Support server and gateway specification.
12848 (grub_pxe_close): Free disk->data.
12849 (grub_pxefs_open): Use disk->data.
12850 (grub_pxefs_read): Likewise.
12851 (grub_env_write_readonly): New function.
12852 (set_mac_env): Likewise.
12853 (set_env_limn_ro): Likewise.
12854 (parse_dhcp_vendor): Likewise.
12855 (grub_pxe_detect): Set the environment variables.
12856 (set_ip_env): New function.
12857 (write_ip_env): Likewise.
12858 (grub_env_write_pxe_default_server): Likewise.
12859 (grub_env_write_pxe_default_gateway): Likewise.
12860 (grub_env_write_pxe_blocksize): Likewise.
12861 (GRUB_MOD_INIT(pxe)): Set environment variables.
12862 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12863 (grub_pxe_mac_addr_t): ... this. All users updated.
12864 (grub_pxe_your_ip): Removed.
12865 (grub_pxe_server_ip): Likewise.
12866 (grub_pxe_gateway_ip): Likewise.
12867 (grub_pxe_blksize): Likewise.
12868
12869 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12870
12871 * commands/help.c: Include `<grub/i18n.h>'.
12872 (grub_cmd_help): Gettextizze.
12873 (GRUB_MOD_INIT): Likewise.
12874 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12875 (GRUB_MOD_INIT): Gettextizze.
12876 * commands/search.c: Include `<grub/i18n.h>'.
12877 (options): Gettextizze.
12878 (GRUB_MOD_INIT): Gettextizze.
12879 * lib/arg.c: Include `<grub/i18n.h>'.
12880 (help_options): Gettextizze.
12881 (find_long): Likewise.
12882 (grub_arg_show_help): Likewise.
12883 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12884 (read_command_list): Gettextizze.
12885 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12886 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12887
12888 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12889
12890 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12891 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12892 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12893 (led_status): New variable.
12894 (keyboard_controller_led): New function.
12895 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12896 update led status for caps lock, num lock and scroll lock.
12897
12898 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12899
12900 * util/hostdisk.c (open_device): Fix a comment.
12901
12902 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12903
12904 * util/grub-install.in (host_os): New variable.
12905 * util/i386/efi/grub-install.in (host_os): Likewise.
12906
12907 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12908
12909 * util/mkisofs/write.c (padblock_write): Abort when given an
12910 excedingly large embed image, instead of silently truncating it.
12911
12912 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12913
12914 * include/multiboot.h: Indentation fixes.
12915
12916 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 * include/multiboot.h (struct multiboot_aout_symbol_table)
12919 (struct multiboot_elf_section_header_table): New structure
12920 declarations (stolen from GRUB Legacy).
12921 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12922 table information.
12923
12924 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12925 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12926 type aliases.
12927
12928 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12929
12930 * include/multiboot.h: Make comments src2texi-friendly.
12931
12932 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12933
12934 For consistency with [multiboot]/docs/boot.S.
12935
12936 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12937 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12938 (MULTIBOOT_MAGIC2): Rename from this ...
12939 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12940
12941 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12942
12943 * include/multiboot.h: Remove `<grub/types.h>'.
12944 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12945 types. Update all users.
12946
12947 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12948
12949 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12950 `couldn't' and `can not' by `cannot'.
12951 * commands/i386/pc/drivemap.c: Likewise.
12952 * disk/ata.c: Likewise.
12953 * disk/ieee1275/nand.c: Likewise.
12954 * fs/affs.c: Likewise.
12955 * fs/fat.c: Likewise.
12956 * fs/hfs.c: Likewise.
12957 * fs/hfsplus.c: Likewise.
12958 * fs/iso9660.c: Likewise.
12959 * fs/jfs.c: Likewise.
12960 * fs/minix.c: Likewise.
12961 * fs/reiserfs.c: Likewise.
12962 * fs/sfs.c: Likewise.
12963 * fs/udf.c: Likewise.
12964 * fs/ufs.c: Likewise.
12965 * fs/xfs.c: Likewise.
12966 * loader/powerpc/ieee1275/linux.c: Likewise.
12967 * loader/sparc64/ieee1275/linux.c: Likewise.
12968 * util/grub-probe.c: Likewise.
12969 * util/misc.c: Likewise.
12970
12971 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12972
12973 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12974 grub_errno calls.
12975 * commands/acpi.c: Likewise.
12976 * commands/blocklist.c: Likewise.
12977 * commands/efi/loadbios.c: Likewise.
12978 * commands/i386/pc/drivemap.c: Likewise.
12979 * commands/loadenv.c: Likewise.
12980 * commands/memrw.c: Likewise.
12981 * commands/password.c: Likewise.
12982 * commands/videotest.c: Likewise.
12983 * disk/ata.c: Likewise.
12984 * disk/ata_pthru.c: Likewise.
12985 * disk/dmraid_nvidia.c: Likewise.
12986 * disk/ieee1275/nand.c: Likewise.
12987 * disk/ieee1275/ofdisk.c: Likewise.
12988 * disk/loopback.c: Likewise.
12989 * disk/lvm.c: Likewise.
12990 * disk/mdraid_linux.c: Likewise.
12991 * disk/raid.c: Likewise.
12992 * disk/raid6_recover.c: Likewise.
12993 * disk/scsi.c: Likewise.
12994 * efiemu/main.c: Likewise.
12995 * efiemu/mm.c: Likewise.
12996 * efiemu/pnvram.c: Likewise.
12997 * efiemu/symbols.c: Likewise.
12998 * font/font.c: Likewise.
12999 * fs/cpio.c: Likewise.
13000 * fs/hfsplus.c: Likewise.
13001 * fs/iso9660.c: Likewise.
13002 * fs/jfs.c: Likewise.
13003 * fs/minix.c: Likewise.
13004 * fs/ntfs.c: Likewise.
13005 * fs/ntfscomp.c: Likewise.
13006 * fs/reiserfs.c: Likewise.
13007 * fs/ufs.c: Likewise.
13008 * fs/xfs.c: Likewise.
13009 * gettext/gettext.c: Likewise.
13010 * include/grub/auth.h: Likewise.
13011 * kern/elf.c: Likewise.
13012 * kern/file.c: Likewise.
13013 * kern/ieee1275/init.c: Likewise.
13014 * kern/ieee1275/mmap.c: Likewise.
13015 * kern/ieee1275/openfw.c: Likewise.
13016 * kern/powerpc/dl.c: Likewise.
13017 * kern/sparc64/dl.c: Likewise.
13018 * lib/arg.c: Likewise.
13019 * loader/i386/bsd.c: Likewise.
13020 * loader/i386/bsdXX.c: Likewise.
13021 * loader/i386/efi/linux.c: Likewise.
13022 * loader/i386/efi/xnu.c: Likewise.
13023 * loader/i386/ieee1275/linux.c: Likewise.
13024 * loader/i386/linux.c: Likewise.
13025 * loader/i386/multiboot.c: Likewise.
13026 * loader/i386/pc/linux.c: Likewise.
13027 * loader/i386/pc/multiboot2.c: Likewise.
13028 * loader/i386/xnu.c: Likewise.
13029 * loader/ieee1275/multiboot2.c: Likewise.
13030 * loader/macho.c: Likewise.
13031 * loader/machoXX.c: Likewise.
13032 * loader/multiboot2.c: Likewise.
13033 * loader/multiboot_loader.c: Likewise.
13034 * loader/powerpc/ieee1275/linux.c: Likewise.
13035 * loader/sparc64/ieee1275/linux.c: Likewise.
13036 * loader/xnu.c: Likewise.
13037 * loader/xnu_resume.c: Likewise.
13038 * mmap/i386/pc/mmap.c: Likewise.
13039 * normal/menu_viewer.c: Likewise.
13040 * partmap/acorn.c: Likewise.
13041 * partmap/amiga.c: Likewise.
13042 * partmap/apple.c: Likewise.
13043 * script/lexer.c: Likewise.
13044 * term/gfxterm.c: Likewise.
13045 * term/i386/pc/serial.c: Likewise.
13046 * term/i386/pc/vga.c: Likewise.
13047 * term/ieee1275/ofconsole.c: Likewise.
13048 * term/terminfo.c: Likewise.
13049 * video/bitmap.c: Likewise.
13050 * video/efi_gop.c: Likewise.
13051 * video/efi_uga.c: Likewise.
13052 * video/fb/video_fb.c: Likewise.
13053 * video/i386/pc/vbe.c: Likewise.
13054 * video/readers/tga.c: Likewise.
13055 * video/video.c: Likewise.
13056
13057 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
13058
13059 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
13060 * commands/lspci.c: Likewise.
13061 * commands/probe.c: Likewise.
13062 * commands/xnu_uuid.c: Likewise.
13063 * conf/i386-coreboot.rmk: Likewise.
13064 * conf/i386-efi.rmk: Likewise.
13065 * conf/i386-ieee1275.rmk: Likewise.
13066 * conf/i386-pc.rmk: Likewise.
13067 * conf/powerpc-ieee1275.rmk: Likewise.
13068 * conf/sparc64-ieee1275.rmk: Likewise.
13069 * conf/x86_64-efi.rmk: Likewise.
13070 * fs/i386/pc/pxe.c: Likewise.
13071 * gettext/gettext.c: Likewise.
13072 * include/grub/efi/graphics_output.h: Likewise.
13073 * include/grub/i386/pc/memory.h: Likewise.
13074 * kern/env.c: Likewise.
13075 * kern/i386/qemu/startup.S: Likewise.
13076 * lib/i386/pc/biosnum.c: Likewise.
13077 * lib/i386/relocator.c: Likewise.
13078 * lib/i386/relocator_asm.S: Likewise.
13079 * lib/relocator.c: Likewise.
13080 * loader/i386/bsd.c: Likewise.
13081 * loader/i386/multiboot.c: Likewise.
13082 * loader/i386/pc/chainloader.c: Likewise.
13083 * loader/i386/xnu.c: Likewise.
13084 * loader/xnu.c: Likewise.
13085 * normal/main.c: Likewise.
13086 * normal/menu_text.c: Likewise.
13087 * util/getroot.c: Likewise.
13088 * util/grub-mkconfig_lib.in: Likewise.
13089 * util/grub.d/00_header.in: Likewise.
13090 * util/i386/pc/grub-mkimage.c: Likewise.
13091 * util/mkisofs/eltorito.c: Likewise.
13092 * util/mkisofs/exclude.h: Likewise.
13093 * util/mkisofs/hash.c: Likewise.
13094 * util/mkisofs/iso9660.h: Likewise.
13095 * util/mkisofs/joliet.c: Likewise.
13096 * util/mkisofs/mkisofs.c: Likewise.
13097 * util/mkisofs/mkisofs.h: Likewise.
13098 * util/mkisofs/multi.c: Likewise.
13099 * util/mkisofs/name.c: Likewise.
13100 * util/mkisofs/rock.c: Likewise.
13101 * util/mkisofs/tree.c: Likewise.
13102 * util/mkisofs/write.c: Likewise.
13103 * video/efi_gop.c: Likewise.
13104
13105 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13108 size counting.
13109
13110 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13111
13112 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13113 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13114
13115 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13118 (GRUB_MOD_INIT(memrw)): Update help line.
13119
13120 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13123 Use grub_extcmd_t. All users updated.
13124 (options): New variable.
13125 (grub_cmd_read): Restructure for readability. Support "-v" option.
13126 (grub_cmd_write): Restructure for readability.
13127
13128 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13129
13130 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13131
13132 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13133
13134 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13135 with the actual contents of the correspondending make variable.
13136 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13137 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13138 specifying `*.lst' and `efiemu??.o'
13139
13140 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13141
13142 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13143 after function name.
13144 Noticed by Rene Engelhard <rene@debian.org>.
13145
13146 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13149 (options): New variable.
13150 (iospace): Likewise.
13151 (grub_lspci_iter): List IO spaces if "-i" was given.
13152 (grub_cmd_lspci): Parse options.
13153 (GRUB_MOD_INIT(lspci)): Use extcmd.
13154 (GRUB_MOD_FINI(lspci)): Likewise.
13155
13156 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
13157
13158 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13159 `function' keyword.
13160 Patch by Tony Mancill <tmancill@debian.org>.
13161
13162 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13165 (grub_uhci_portstatus): Likewise.
13166 (grub_uhci_portstatus): Add necessary delay.
13167 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
13168
13169 2009-12-21 Carles Pina i Estany <carles@pina.cat>
13170
13171 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13172 (GRUB_MOD_INIT): Likewise.
13173 * commands/boot.c (GRUB_MOD_INIT): Likewise.
13174 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13175 * commands/echo.c (options): Fix capitalizations and/or full stops.
13176 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13177 (enable_rom_area): Likewise.
13178 (GRUB_MOD_INIT): Likewise.
13179 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13180 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13181 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13182 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13183 * commands/hexdump.c (options): Likewise.
13184 * commands/i386/cpuid.c (options): Likewise.
13185 (GRUB_MOD_INIT): Likewise.
13186 * commands/i386/pc/drivemap.c (options): Likewise.
13187 (GRUB_MOD_INIT): Likewise.
13188 * commands/i386/pc/halt (options): Likewise.
13189 (GRUB_MOD_INIT): Likewise.
13190 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13191 * commands/i386/pc/pxecmd.c (options): Likewise.
13192 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13193 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13194 * commands/keystatus.c (options): Likewise.
13195 (GRUB_MOD_INIT): Likewise.
13196 * commands/loadenv.c (options): Likewise.
13197 * commands/ls.c (options): Likewise.
13198 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13199 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13200 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13201 * commands/parttool.c (helpmsg): Likewise.
13202 * commands/probe.c (options): Likewise.
13203 * commands/read.c (GRUB_MOD_INIT): Likewise.
13204 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13205 * commands/search.c (options): Likewise.
13206 * commands/sleep.c (options): Likewise.
13207 * commands/test.c (GRUB_MOD_INIT): Likewise.
13208 * commands/true.c (GRUB_MOD_INIT): Likewise.
13209 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13210 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13211 * lib/arg.c (help_options): Likewise.
13212 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13213 `$(XGETTEXT)'.
13214 * po/POTFILES: Add `commands/loadenv.c'.
13215
13216 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
13217
13218 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
13219 instead of specifying them explicit.
13220
13221 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13222
13223 * NEWS: Add grub-probe support for GNU/Hurd.
13224
13225 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13226
13227 * NEWS: gettext was added after 1.97.
13228
13229 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13230
13231 * util/mkisofs/msdos_partition.h: New file (based on
13232 include/grub/msdos_partition.h).
13233 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13234 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13235 (ld_options, main): Recognize --protective-msdos-label.
13236 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13237 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13238 (padblock_write): If `use_protective_msdos_label' is set, patch a
13239 protective DOS-style label in the output image.
13240
13241 * util/grub-mkrescue.in: Use --protective-msdos-label.
13242
13243 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13244
13245 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13246 boot.
13247
13248 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13249
13250 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13251 variables.
13252 (ld_options, main): Recognize `--embedded-boot'.
13253 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13254 declarations.
13255 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13256 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13257 (padblock_write): Likewise. Rewrite to support embedded boot image.
13258
13259 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13260 for BIOS-based disk boot instead of only ElTorito.
13261
13262 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13263
13264 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13265 build (not needed for bootstrap).
13266
13267 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13268
13269 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13270 from i386-pc build (not needed for bootstrap).
13271 Rewrite a pair of strings.
13272
13273 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13274
13275 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13276
13277 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13280
13281 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13282
13283 * kern/env.c (grub_env_context_open): Mark exported variable for
13284 reexport.
13285
13286 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13287
13288 * kern/env.c (grub_env_export): Create nonexistent variables before
13289 exporting.
13290
13291 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13292
13293 * include/grub/auth.h: Include `<grub/i18n.h>'.
13294 (GRUB_GET_PASSWORD): Gettextizze string.
13295 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13296 menu_text.c.
13297 (grub_utf8_to_ucs4_alloc): Fix indentation.
13298 (grub_print_ucs4): Likewise.
13299 (grub_getstringwidth): Likewise.
13300 (print_message_indented): New declaration.
13301 * normal/auth.c: Include `<grub/i18n.h>'.
13302 (grub_auth_check_authentication): Gettexttize string.
13303 * normal/cmdline.c: Include `<grub/i18n.h>'.
13304 (grub_cmdline_get): Gettextizze.
13305 * normal/color.c: Include `<grub/i18n.h>'.
13306 (grub_parse_color_name_pair): Gettexttize strings.
13307 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13308 string (use `print_message_indented').
13309 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13310 `include/grub/normal.h'.
13311 (print_message_indented): Renamed to ...
13312 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13313 used in normal/main.c).
13314 (print_message): Use `grub_print_message_indented' instead of
13315 `print_message_indented'.
13316 (print_timeout): Likewise.
13317 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13318 (grub_normal_print_device_info): Gettexttize strings.
13319 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13320
13321 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13324 of arguments. Return number of tokens and not arguments. All users
13325 updated.
13326
13327 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13330 non-MSDOS paritions.
13331
13332 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * include/grub/types.h (UNUSED): Removed since it conflicts with
13335 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13336 Reported by Grégoire Sutre.
13337
13338 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13339
13340 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13341 (grub_print_ucs4_alloc): Likewise.
13342 (grub_getstringwidth): Likewise.
13343 * normal/main.c (grub_normal_init_page): Gettextize version string.
13344 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13345 (getstringwidth): Renamed to ...
13346 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13347 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13348 (grub_print_ucs4): Remove `static' qualifer (now used in
13349 normal/main.c).
13350 * po/POTFILES: Add normal/main.c.
13351
13352 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13353
13354 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13355 (print_message_indented): Add `margin_left' and `margin_right'
13356 parameters.
13357 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13358 strings.
13359 (print_timeout): Use `print_message_indented' to print the message.
13360 Deletes `second_stage' parameter.
13361 (run_menu): Update `print_timeout' calls.
13362
13363 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 Fix console palette on OpenFirmware.
13366
13367 * term/ieee1275/ofconsole.c (MAX): Removed.
13368 (colors): Redone based on VGA palette.
13369 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13370 colors are supported.
13371 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13372
13373 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 Fix potential EfiEmu double prepare.
13376
13377 * efiemu/main.c (prepared): New variable
13378 (grub_efiemu_unload): Set prepare to '0'.
13379 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13380
13381 set_virtual_address_map support.
13382
13383 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13384 prototype.
13385 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13386 prototype.
13387 (grub_efiemu_crc32): Likewise.
13388 (grub_efiemu_crc64): Likewise.
13389 (grub_efiemu_set_virtual_address_map): Likewise.
13390 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13391 New definition.
13392 (grub_autoefi_set_virtual_address_map): Likewise.
13393 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13394 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13395 Restructure flow to accomodate it.
13396 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13397 (grub_efiemu_crc): Recompute CRC32.
13398 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13399 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13400 * efiemu/symbols.c (relocated_handle): New variable.
13401 (grub_efiemu_free_syms): Free relocated_handle.
13402 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13403 (grub_efiemu_write_sym_markers): New function.
13404 (grub_efiemu_set_virtual_address_map): Likewise.
13405
13406 Newer XNU parameters.
13407
13408 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13409 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13410 (grub_xnu_fill_devicetree): New prototype.
13411 (grub_xnu_heap_real_start): New variable.
13412 * loader/xnu.c (get_name_ptr): New function.
13413 (grub_xnu_load_driver): Fill namelen and name.
13414
13415 64-bit xnu support.
13416
13417 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13418 and 'loader/macho64.c'.
13419 * conf/i386-pc.rmk: Likewise.
13420 * conf/x86_64-efi.rmk: Likewise.
13421 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13422 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13423 * include/grub/macho.h (grub_macho_segment64): New structure.
13424 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13425 (grub_macho_size32): ... to this.
13426 (grub_macho32_get_entry_point): Renamed from ...
13427 (grub_macho_get_entry_point32): ... to this.
13428 (grub_macho_contains_macho64): New prototype.
13429 (grub_macho_size64): Likewise.
13430 (grub_macho_get_entry_point64): Likewise.
13431 (grub_macho32_load): Renamed from ...
13432 (grub_macho_load32): ... to this.
13433 (grub_macho32_filesize): Renamed from ...
13434 (grub_macho_filesize32): ... to this.
13435 (grub_macho32_readfile): Renamed from ...
13436 (grub_macho_readfile32): ... to this.
13437 (grub_macho_filesize64): New prototype.
13438 (grub_macho_readfile64): Likewise.
13439 (grub_macho_parse32): Likewise.
13440 (grub_macho_parse64): Likewise.
13441 * loader/macho.c: Split into ...
13442 * loader/machoXX.c: ... and this. Replace 32 with XX.
13443 * loader/macho32.c: New file.
13444 * loader/macho64.c: Likewise.
13445 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13446 (grub_cmd_xnu_kernel): Make 32-bit only.
13447 (grub_cmd_xnu_kernel64): New function.
13448 (grub_xnu_load_driver): Support Mach-O 64.
13449 (grub_cmd_xnu_mkext): Likewise.
13450 * util/grub.d/30_os-prober.in (osx_entry): New function.
13451 Generate entries for 64-bit boot too.
13452
13453 Eliminate ad-hoc tree format in XNU and EfiEmu.
13454
13455 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13456 * efiemu/pnvram.c: Rewritten to use environment variables.
13457 All users updated.
13458
13459 Inline utf16_to_utf8.
13460
13461 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13462 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13463 All users updated.
13464 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13465
13466 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13467 * commands/usbtest.c (grub_usb_get_string): ... move here.
13468 (usb_print_str): Fix error handling.
13469 * include/grub/usb.h (grub_usb_get_string): Remove.
13470
13471 UTF-8 to UTF-16 transformation.
13472
13473 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13474 (charset_mod_SOURCES): New variable.
13475 (charset_mod_CFLAGS): Likewise.
13476 (charset_mod_LDFLAGS): Likewise.
13477 * include/grub/utf.h: New file.
13478 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13479
13480 Support for device properties.
13481
13482 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13483 (grub_xnu_devprop_device_header): Likewise.
13484 (grub_xnu_devprop_device_descriptor): Likewise.
13485 (grub_xnu_devprop_add_device): New prototype.
13486 (grub_xnu_devprop_remove_device): Likewise.
13487 (grub_xnu_devprop_remove_property): Likewise.
13488 (grub_xnu_devprop_add_property_utf8): Likewise.
13489 (grub_xnu_devprop_add_property_utf16): Likewise.
13490 (grub_cpu_xnu_init): Likewise.
13491 (grub_cpu_xnu_fini): Likewise.
13492 (grub_cpu_xnu_unload): Likewise.
13493 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13494 (property_descriptor): Likewise.
13495 (devices): New variable.
13496 (grub_xnu_devprop_remove_property): New function.
13497 (grub_xnu_devprop_add_device): Likewise.
13498 (grub_xnu_devprop_remove_device): Likewise.
13499 (grub_xnu_devprop_add_property): Likewise.
13500 (grub_xnu_devprop_add_property_utf8): Likewise.
13501 (grub_xnu_devprop_add_property_utf16): Likewise.
13502 (hextoval): Likewise.
13503 (grub_cpu_xnu_fill_devprop): Likewise.
13504 (grub_cmd_devprop_load): Likewise.
13505 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13506 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13507 (cmd_devprop_load): New variable.
13508 (grub_cpu_xnu_init): New function.
13509 (grub_cpu_xnu_fini): Likewise.
13510 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13511 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13512 (grub_cmd_xnu_devtree): Likewise.
13513 (hextoval): New function.
13514 (unescape): Likewise.
13515 (grub_xnu_fill_devicetree): Likewise.
13516
13517 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13518 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13519
13520 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 Workaround for broken ATI VBE.
13523
13524 * video/i386/pc/vbe.c (last_set_mode): New variable.
13525 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13526 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13527 (grub_video_vbe_setup): Don't check for reserved flag.
13528
13529 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13530
13531 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13532 the `find' command.
13533
13534 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 UUID support for HFS.
13537
13538 * fs/hfs.c (grub_hfs_uuid): New function.
13539 (grub_hfs_fs): New value .uuid.
13540 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13541
13542 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13543
13544 Fix a segfault with parsing unknown long options.
13545
13546 * util/grub-mkrelpath.c (options): Zero terminate it.
13547
13548 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13549
13550 * include/grub/misc.h (grub_puts): New declaration.
13551 (grub_puts_): Likewise.
13552 * kern/misc.c (grub_puts): New definition.
13553 (grub_puts_): Likewise.
13554
13555 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13556
13557 * util/grub-probe.c (probe): Improve error message.
13558
13559 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13560
13561 * loader/i386/multiboot_elfxx.c
13562 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13563 initialization.
13564
13565 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 Relocator framework
13568
13569 * loader/i386/xnu_helper.S: Removed. All users updated.
13570 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13571 (relocator_mod_SOURCES): New variable.
13572 (relocator_mod_CFLAGS): Likewise.
13573 (relocator_mod_LDFLAGS): Likewise.
13574 (relocator_mod_ASFLAGS): Likewise.
13575 * conf/x86_64.rmk: Likewise.
13576 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13577 (grub_multiboot_payload_entry_offset): Likewise.
13578 (grub_multiboot_forward_relocator): Likewise.
13579 (grub_multiboot_forward_relocator_end): Likewise.
13580 (grub_multiboot_backward_relocator): Likewise.
13581 (grub_multiboot_backward_relocator_end): Likewise.
13582 (grub_multiboot_payload_eip): New variable.
13583 (grub_multiboot_payload_orig): Likewise.
13584 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13585 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13586 * include/grub/i386/memory.h
13587 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13588 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13589 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13590 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13591 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13592 * include/grub/i386/relocator.h: New file.
13593 * include/grub/x86_64/relocator.h: Likewise.
13594 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13595 (XNU_RELOCATOR): New macro.
13596 (grub_xnu_launcher_start): Remove.
13597 (grub_xnu_launcher_end): Likewise.
13598 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13599 (grub_xnu_heap_real_start): Remove.
13600 (grub_xnu_heap_start): Change to void *. All users updated.
13601 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13602 * lib/i386/relocator.c: New file.
13603 * lib/i386/relocator_asm.S: Likewise.
13604 * lib/i386/relocator_backward.S: Likewise.
13605 * lib/mips/relocator.c: Likewise.
13606 * lib/mips/relocator_asm.S: Likewise.
13607 * lib/relocator.c: Likewise.
13608 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13609 (entry): Removed.
13610 (playground): Likewise.
13611 (grub_multiboot_payload_orig): New variable.
13612 (grub_multiboot_payload_dest): Likewise.
13613 (grub_multiboot_payload_size): Likewise.
13614 (grub_multiboot_payload_eip): Likewise.
13615 (grub_multiboot_payload_esp): Likewise.
13616 (grub_multiboot_boot): Use grub_relocator32_boot.
13617 (grub_multiboot_unload): Free relocators.
13618 (grub_multiboot): Setup stack. Use relocators.
13619 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13620 (grub_multiboot_load_elfXX): Use relocators.
13621 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13622 (grub_multiboot_payload_size): Likewise.
13623 (grub_multiboot_payload_dest): Likewise.
13624 (grub_multiboot_payload_entry_offset): Likewise.
13625 (grub_multiboot_forward_relocator): Likewise.
13626 (grub_multiboot_backward_relocator): Likewise.
13627 (grub_multiboot_real_boot): Likewise.
13628 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13629 (grub_xnu_entry_point): Likewise.
13630 (grub_xnu_arg1): Likewise.
13631 (grub_xnu_stack): Likewise.
13632 (grub_xnu_launch): Removed.
13633 (grub_xnu_boot_resume): New function.
13634 (grub_xnu_boot): Use relocators.
13635 * loader/i386/xnu_helper.S: Removed.
13636 * loader/xnu.c (grub_xnu_heap_start): New variable.
13637 (grub_xnu_heap_size): Likewise.
13638 (grub_xnu_heap_malloc): Use relocators.
13639 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13640
13641 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13644 anything.
13645
13646 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13647
13648 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13649 GRUB_ERR_NONE before calling grub_env_set.
13650
13651 2009-12-12 Robert Millan <rmh@aybabtu.com>
13652
13653 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13654 * genmk.rb (video): New variable.
13655 (CLEANFILES, VIDEOFILES): Add #{video}.
13656 (#{video}): New target rule.
13657 * genvideolist.sh: New file.
13658 * Makefile.in (pkglib_DATA): Add video.lst.
13659 (video.lst): New target rule.
13660 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13661 `video.lst'.
13662 * util/grub.d/30_os-prober.in: Replace `vbe' with
13663 ${GRUB_VIDEO_BACKEND}.
13664
13665 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13666
13667 * THANKS: Add David Miller.
13668
13669 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 libpciaccess support.
13672
13673 * Makefile.in (LIBPCIACCESS): New variable.
13674 (enable_grub_emu_pci): Likewise.
13675 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13676 util/pci.c and commands/lspci.c.
13677 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13678 * configure.ac (grub-emu-pci): New option.
13679 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13680 (grub_pci_device_unmap_range): Likewise.
13681 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13682 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13683 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13684 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13685 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13686 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13687 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13688 * include/grub/pciutils.h: New file.
13689 * util/pci.c: Likewise.
13690
13691 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13692
13693 * util/misc.c: Don't include <errno.h> twice.
13694
13695 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13696
13697 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13698 name in an error message.
13699 (grub_biosdisk_rw): Likewise.
13700
13701 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 Eliminate NTFS 4Gib barrier.
13704
13705 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13706 (read_run_data): Likewise.
13707 (grub_ntfs_read_run_list): Likewise.
13708 (grub_ntfs_read_block): Likewise.
13709 (grub_ntfs_iterate_dir): Likewise.
13710 (read_mft): Likewise.
13711 (read_data): Likewise.
13712 Use COM_LOG_LEN.
13713 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13714 to avoid 64-bit division
13715 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13716 (grub_ntfs_rlst): Use grub_disk_addr_t.
13717
13718 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 Eliminate grub-fstest 4Gib barrier.
13721
13722 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13723 (read_file): Fix error reporting.
13724
13725 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Eliminate hexdump 4Gib barrier.
13728
13729 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13730 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13731
13732 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13735 Fixes amarsh bug.
13736
13737 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13738
13739 Remove miscellaneous files in distclean target.
13740
13741 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13742
13743 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13744
13745 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13746 if they're already set. This resolves the conflict between my
13747 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13748 fixing the --grub-probe option again.
13749 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13750 change on 2009-10-06, so that we now once again source
13751 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13752
13753 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13754
13755 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13756 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13757 `util/devicemap.c'.
13758
13759 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13760
13761 * include/grub/misc.h (grub_printf_): New declaration.
13762 * kern/misc.c (grub_printf_): New definition.
13763 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13764 instead of `grub_printf' and `_'.
13765 * normal/menu_entry.c (store_completion): Likewise.
13766 (run): Likewise.
13767 (grub_menu_entry_run): Likewise.
13768 * normal/menu_text.c (grub_wait_after_message): Likewise.
13769 (notify_booting): Likewise.
13770 (notify_fallback): Likewise.
13771 (notify_execution_failure): Likewise.
13772
13773 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13774
13775 * configure.ac: Check for vasprintf.
13776 * util/misc.c (asprintf): Move allocation from here ...
13777 (vasprintf): ... to here. New function.
13778 (xasprintf): New function.
13779 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13780 prototypes.
13781 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13782 * util/grub-mkfont.c (write_font): Likewise.
13783 * util/grub-probe.c (probe): Likewise.
13784 * util/hostdisk.c (make_device_name): Likewise.
13785
13786 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13787
13788 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13789 anything even prefixed with 'cdrom' as a cdrom.
13790
13791 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13792
13793 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13794 mount points.
13795
13796 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13797
13798 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13799 grub_gettext_msg_list.
13800 (grub_gettext_gettranslation_from_position): Return const char *
13801 and not char *.
13802 (grub_gettext_translate): Add the translated strings into a list,
13803 returns from the list if existing there.
13804 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13805 (grub_gettext_delete_list): Delete the list.
13806 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13807 lang environment variable is changed.
13808 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13809
13810 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 Rename kernel.mod to kernel.img.
13813
13814 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13815 (kernel_mod_EXPORTS): Rename to ...
13816 (kernel_img_EXPORTS): ... this.
13817 (kernel_mod_SOURCES): Rename to ...
13818 (kernel_img_SOURCES): ... this.
13819 (kernel_mod_HEADERS): Rename to ...
13820 (kernel_img_HEADERS): ... this. All users updated.
13821 (kernel_mod_CFLAGS): Rename to ...
13822 (kernel_img_CFLAGS): ... this.
13823 (kernel_mod_ASFLAGS): Rename to ...
13824 (kernel_img_ASFLAGS): ... this.
13825 (kernel_mod_LDFLAGS): Rename to ...
13826 (kernel_img_LDFLAGS): ... this.
13827 * conf/x86_64-efi.rmk: Likewise.
13828 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13829 (read_kernel_image): ... this. All users updated.
13830 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13831
13832 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13833
13834 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13835 (print_spaces): New function.
13836 (grub_print_ucs4): New function.
13837 (getstringwidth): New function.
13838 (print_message_indented): New function.
13839 (print_message): Gettexttize strings using print_message_indented.
13840 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13841 width.
13842 (get_entry_number): Gettextize and uses dynamic terminal width.
13843 (notify_booting, notify_fallback, notify_execution_failure):
13844 Gettextize.
13845 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13846 string.
13847 (run): Likewise.
13848 (grub_menu_entry_run): Likewise.
13849 * PO/POTFILES: Add normal/menu_entry.c.
13850
13851 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13854
13855 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13856
13857 * util/grub-install.in: Install gettext .mo files.
13858 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13859
13860 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13861
13862 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13863 grub_dprintf.
13864
13865 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13866
13867 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13868 non-firmware-dependant one in realmode.S takes precedence.
13869
13870 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13871
13872 * commands/halt.c: Replace misc arch-specific headers with
13873 `<grub/misc.h>'.
13874 * commands/reboot.c: Likewise.
13875 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13876 `<grub/misc.h>'.
13877 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13878 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13879 (kernel_img_SOURCES): ... to here.
13880
13881 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13882 * include/grub/i386/pc/init.h: Likewise.
13883 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13884 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13885
13886 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13887
13888 * include/grub/i386/halt.h: Remove.
13889 * include/grub/i386/reboot.h: Likewise.
13890
13891 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13892
13893 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13894
13895 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13896 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13897 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13898 "progname.h"
13899 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13900 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13901 (usage): Add missing comma in printf.
13902
13903 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13904
13905 Use the same reboot approach on i386 coreboot and qemu as we do on
13906 BIOS.
13907
13908 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13909 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13910 * kern/i386/reboot.c: Remove.
13911 * include/grub/i386/reboot.h (grub_reboot): Export function.
13912 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13913 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13914 0xf000:0xfff0 instead of 0xffff:0x0000.
13915 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13916 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13917
13918 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13919
13920 Fix $srcdir != $objdir build.
13921
13922 * Makefile.in (po/%.po): Rewrite as ...
13923 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13924
13925 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13926
13927 Fix GNU/Hurd grub-install crash.
13928 * util/grub-probe.c (probe): Try to access `path' only when it is not
13929 NULL.
13930
13931 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 Correct module naming.
13934
13935 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13936 (GRUB_MOD_INIT(efi_uga)): ... to this
13937 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13938 (GRUB_MOD_FINI(efi_uga)): ... to this
13939 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13940 (GRUB_MOD_INIT(efi_gop)): ... to this
13941 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13942 (GRUB_MOD_FINI(efi_gop)): ... to this
13943
13944 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13945
13946 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13947 translatable.
13948 (usage): Translate `arg' strings using gettext().
13949 Thanks to Jordi Mallach for the suggestion.
13950
13951 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 GOP support. Based on patch from Bean
13954 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13955
13956 * video/efi_gop.c: New file.
13957 * include/grub/efi/graphics_output.h: Likewise.
13958 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13959 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13960 variables.
13961 * conf/x86_64-efi.rmk: Likewise.
13962
13963 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 Rename efi_fb to efi_uga.
13966
13967 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13968 'efi_uga.mod'.
13969 (efi_fb_mod_SOURCES): Rename this ...
13970 (efi_uga_mod_SOURCES): ... to this.
13971 (efi_fb_mod_CFLAGS): Rename this ...
13972 (efi_uga_mod_CFLAGS): ... to this.
13973 (efi_fb_mod_LDFLAGS): Rename this ...
13974 (efi_uga_mod_LDFLAGS): ... to this.
13975 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13976 'efi_uga.mod'.
13977 (efi_fb_mod_SOURCES): Rename this ...
13978 (efi_uga_mod_SOURCES): ... to this.
13979 (efi_fb_mod_CFLAGS): Rename this ...
13980 (efi_uga_mod_CFLAGS): ... to this.
13981 (efi_fb_mod_LDFLAGS): Rename this ...
13982 (efi_uga_mod_LDFLAGS): ... to this.
13983 * video/efi_fb.c: Move this ...
13984 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13985
13986 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13987
13988 * po/README: New file. Explain our PO file workflow.
13989
13990 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13991
13992 * po/ChangeLog: Remove. Move relevant entries back to ...
13993 * ChangeLog: ... here.
13994 * po/ca.po: Remove (now handled by TLP).
13995 * po/id.po: Likewise.
13996 * po/zh_CN.po: Likewise.
13997 * Makefile.in (LINGUAS): Initialize in a way that supports
13998 empty set.
13999
14000 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14001
14002 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
14003 reliing on po/LINGUAS.
14004 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
14005 (po/%.po): ... this.
14006
14007 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
14008
14009 * util/i386/efi/grub-mkimage.c: Include "progname.h".
14010 (main): Use `program_name' instead of nonexistent `progname'.
14011
14012 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
14013
14014 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14015 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
14016
14017 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14018
14019 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
14020 commit.
14021 * conf/i386-efi.rmk: Likewise.
14022 * conf/i386-ieee1275.rmk: Likewise.
14023 * conf/powerpc-ieee1275.rmk: Likewise.
14024 * conf/sparc64-ieee1275.rmk: Likewise.
14025 * conf/x86_64-efi.rmk: Likewise.
14026
14027 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
14028
14029 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
14030
14031 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
14032
14033 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
14034
14035 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14036
14037 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
14038 (grub_mkdevicemap_SOURCES): New variable.
14039 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
14040 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
14041 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
14042 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
14043 (grub_mkdevicemap_SOURCES): Remove.
14044 * conf/i386-efi.rmk: Likewise.
14045 * conf/i386-ieee1275.rmk: Likewise.
14046 * conf/i386-pc.rmk: Likewise.
14047 * conf/powerpc-ieee1275.rmk: Likewise.
14048 * conf/sparc64-ieee1275.rmk: Likewise.
14049 * conf/x86_64-efi.rmk: Likewise.
14050 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
14051 (usage): Fix strings to use `program_name'.
14052 (main): Initialize gettext.
14053 * util/grub-editenv.c: Likewise.
14054 * util/grub-emu.c: Likewise.
14055 * util/grub-fstest.c: Likewise.
14056 * util/grub-mkdevicemap.c: Likewise.
14057 * util/grub-mkfont.c: Likewise.
14058 * util/grub-mkrelpath.c: Likewise.
14059 * util/grub-pe2elf.c: Likewise.
14060 * util/grub-probe.c: Likewise.
14061 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14062 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14063 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14064
14065 * util/misc.c: Include `"progname.h"'.
14066 (progname): Remove variable.
14067 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
14068
14069 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
14070
14071 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
14072 printf and print a newline after the menuentry header line.
14073 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14074
14075 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
14076
14077 autoconf >= 2.60 support $(localedir).
14078
14079 * INSTALL: Note that autoconf 2.60 is required.
14080 * configure.ac (AC_PREREQ): Bump to 2.60.
14081 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
14082 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14083
14084 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
14085
14086 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
14087 aclocal is run.
14088
14089 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14090
14091 * normal/main.c (grub_normal_read_line): Fix off-by-one
14092 buffer overflow.
14093
14094 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14095
14096 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
14097 "parser.grub" in grub_command_execute() call.
14098
14099 2009-11-24 Carles Pina i Estany <carles@pina.cat>
14100
14101 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14102 * conf/i386-efi.rmk: Likewise.
14103 * conf/i386-ieee1275.rmk: Likewise.
14104 * conf/i386-pc.rmk: Likewise.
14105 * conf/powerpc-ieee1275.rmk: Likewise.
14106 * conf/sparc64-ieee1275.rmk: Likewise.
14107 * conf/x86_64-efi.rmk: Likewise.
14108 * gettext/gettex.c: Include <grub/i18n.h>.
14109 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14110 here ...
14111 * include/grub/i18n.h: ... to here
14112 * include/grub/i18n.h: ... to here.
14113 * kern/misc.c: Include <grub/i18n.h>
14114 (grub_gettext_dummy): Move above user.
14115
14116 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14117
14118 * util/Makefile.in (install-local): Convert a `for' into a normal
14119 shell expansion.
14120
14121 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14122
14123 * autogen.sh: Add automake call.
14124 * config.guess: Remove.
14125 * config.sub: Likewise.
14126 * install-sh: Likewise.
14127
14128 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14129
14130 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14131
14132 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14133
14134 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14135 function to a normal shell `for'.
14136
14137 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14138
14139 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14140
14141 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14142
14143 * util/grub-mkrelpath.c: New file.
14144 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14145 (grub_mkrelpath_SOURCES): New variable.
14146 * include/grub/util/misc.h: New function prototype.
14147 * util/misc.c (make_system_path_relative_to_its_root): New function.
14148
14149 * util/grub-mkconfig_lib.in (bindir): New variable.
14150 (grub_mkrelpath): Likewise.
14151 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14152
14153 * util/probe.c (probe): Make the file path relative to its root.
14154 Change a info message to use the GRUB path. Enable again the
14155 check if we can read the file with GRUB facilities.
14156
14157 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14158 to its root.
14159
14160 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14161
14162 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14163 platform.
14164
14165 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14166
14167 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14168 strncmp().
14169
14170 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
14171
14172 * util/getroot.c (grub_util_is_dmraid): New function.
14173 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14174 devices as normal ones, not as LVM.
14175
14176 2009-11-23 Carles Pina i Estany <carles@pina.cat>
14177
14178 * conf/common.rmk: Add grub-gettext_lib target and updates
14179 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14180 LDFLAGS.
14181 * gettext/gettext.c: New file. (Reads mo files).
14182 * include/grub/file.h (grub_file_pread): New prototype.
14183 * include/grub/i18n.h (_): New prototype.
14184 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14185 prototypes.
14186 * kern/misc.c (grub_gettext_dummy): New function.
14187 * normal/menu_text.c: Include <grub/i18n.h>.
14188 * normal/menu_text.c (print_timeout): Gettexttize string.
14189 * normal/menu_text.c (print_message): Gettexttize string.
14190 * po/POTFILES: Add `normal/menu_text.c'.
14191 * po/ca.po: Add new translations.
14192 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14193 gettext module and defines locale_dir and lang in grub.cfg.
14194 * NEWS: Add gettext support.
14195
14196 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14197
14198 * util/hostdisk.c: Include `<grub/i18n.h>'.
14199 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14200 (make_device_name): Rewrite using asprintf.
14201 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14202 (find_system_device): If a device is not found, generate one just
14203 by reusing the OS path name.
14204 (read_device_map): Make it permissible for device.map not to exist.
14205
14206 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14207
14208 * script/sh/execute.c: Move from here ...
14209 * script/execute.c: ... to here. Update all users.
14210 * script/sh/function.c: Move from here ...
14211 * script/function.c: ... to here. Update all users.
14212 * script/sh/lexer.c: Move from here ...
14213 * script/lexer.c: ... to here. Update all users.
14214 * script/sh/main.c: Move from here ...
14215 * script/main.c: ... to here. Update all users.
14216 * script/sh/parser.y: Move from here ...
14217 * script/parser.y: ... to here. Update all users.
14218 * script/sh/script.c: Move from here ...
14219 * script/script.c: ... to here. Update all users.
14220
14221 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14222
14223 * configure.ac: Detect all `emu' platforms. Define
14224 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14225 --enable-grub-emu logic. Disable include/grub/machine
14226 symlink on `emu' platforms.
14227
14228 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14229 * gensymlist.sh.in: Likewise.
14230
14231 * include/grub/i386/coreboot/machine.h: Remove file.
14232 * include/grub/i386/efi/machine.h: Likewise.
14233 * include/grub/i386/ieee1275/machine.h: Likewise.
14234 * include/grub/i386/pc/machine.h: Likewise.
14235 * include/grub/i386/qemu/machine.h: Likewise.
14236 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14237 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14238 * include/grub/x86_64/efi/machine.h: Likewise.
14239
14240 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14241 * commands/halt.c: Likewise.
14242 * commands/reboot.c: Likewise.
14243 * include/grub/autoefi.h: Likewise.
14244 * include/grub/i386/at_keyboard.h: Likewise.
14245 * include/grub/i386/kernel.h: Likewise.
14246 * include/grub/i386/loader.h: Likewise.
14247 * include/grub/i386/pc/memory.h: Likewise.
14248 * kern/dl.c: Likewise.
14249 * kern/i386/coreboot/init.c: Likewise.
14250 * loader/i386/bsd.c: Likewise.
14251 * loader/i386/linux.c: Likewise.
14252 * loader/multiboot_loader.c: Likewise.
14253 * term/i386/pc/serial.c: Likewise.
14254 * term/usb_keyboard.c: Likewise.
14255
14256 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14257 `<grub/machine/machine.h>'
14258 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14259 * util/misc.c: Remove `<grub/machine/machine.h>' and
14260 `<grub/machine/time.h>'.
14261
14262 * Makefile.in (enable_grub_emu): Remove variable.
14263 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14264
14265 * conf/any-emu.rmk: New file.
14266 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14267 (grub_emu_init.c): Move from here ...
14268 * conf/any-emu.rmk: ... to here.
14269
14270 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14271 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14272 * conf/any-emu.rmk: ... to here.
14273
14274 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14275
14276 * include/grub/parser.h (grub_parser_register): Document need
14277 of `name' parameter.
14278 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14279 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14280 "sh" to "grub".
14281
14282 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14283
14284 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14285 `$(XGETTEXT)'.
14286 * include/grub/i18n.h (N_): New macro.
14287 * util/mkisofs/mkisofs.h: Likewise.
14288 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14289 around N_().
14290 (usage): Use gettext() to translate help strings when printing them.
14291
14292 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14293
14294 Based on patch from Bean
14295 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14296
14297 * video/efi_fb.c: New file.
14298 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14299 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14300 variables.
14301 * conf/x86_64-efi.rmk: Likewise.
14302
14303 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14304
14305 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14306 * util/i386/pc/grub-setup.c: Likewise.
14307
14308 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14309
14310 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14311 <hurd/fs.h>
14312 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14313 file_get_storage_info to implement grub_guess_root_device.
14314
14315 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14316
14317 * Makefile.in (target): Use make's builtin $(shell) function
14318 instead of calling directly $(SHELL) to create the locale directories,
14319 inside the $(foreach) function.
14320
14321 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14322
14323 * util/grub-mkrescue.in: Print an error and usage if output option
14324 has not been given.
14325
14326 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14327
14328 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14329 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14330 root and /boot are on different devices.
14331
14332 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14333
14334 Fix build for srcdir != objdir.
14335
14336 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14337 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14338 $(srcdir).
14339 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14340 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14341 reference for input.
14342
14343 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14344
14345 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14346 or hardlinking it). Remove -J option, Joliet is not compatible with
14347 multiple source directories.
14348
14349 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14350 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14351
14352 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14353 (process_input_dir): New function. Process an arbitrary input
14354 directory.
14355 Misc adjustments to support both "override mode" and system-wide mode.
14356
14357 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14358
14359 * configure.ac (UNIFONT_BDF): Rename to ...
14360 (FONT_SOURCE): ... this. Update all users.
14361
14362 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14363
14364 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14365 to the list of unifont files to look for.
14366
14367 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14368
14369 Patch from Joe Auricchio <jauricchio@gmail.com>
14370 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14371 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14372 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14373
14374 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14375
14376 * Makefile.in (install-local): Add a missing backslash.
14377
14378 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14379
14380 * include/grub/x86_64/io.h: New file.
14381
14382 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14383
14384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14385 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14386 Include `"progname.h"'.
14387 (main): Initialize gettext.
14388 * util/i386/pc/grub-setup.c: Gettexttize.
14389 * util/i386/pc/grub-mkimage.c: Likewise.
14390
14391 * Makefile.in (po/*.po): Redefine as ...
14392 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14393
14394 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14395
14396 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14397
14398 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14399 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14400 (program_name): Remove.
14401 (main): Initialize gettext support.
14402 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14403 Include `<libintl.h>'.
14404 (_): New macro.
14405
14406 * util/mkisofs/eltorito.c: Gettexttize.
14407 * util/mkisofs/joliet.c: Likewise.
14408 * util/mkisofs/mkisofs.c: Likewise.
14409 * util/mkisofs/multi.c: Likewise.
14410 * util/mkisofs/rock.c: Likewise.
14411 * util/mkisofs/tree.c: Likewise.
14412 * util/mkisofs/write.c: Likewise.
14413
14414 * po/POTFILES: Update with new files.
14415
14416 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14417
14418 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14419 * util/mkisofs/iso9660.h: Likewise.
14420 * util/mkisofs/joliet.c: Likewise.
14421 * util/mkisofs/mkisofs.c: Likewise.
14422 * util/mkisofs/mkisofs.h: Likewise.
14423 * util/mkisofs/rock.c: Likewise.
14424 * util/mkisofs/tree.c: Likewise.
14425 * util/mkisofs/write.c: Likewise.
14426
14427 * util/mkisofs/eltorito.c (rcsid): Remove.
14428 * util/mkisofs/hash.c: Likewise.
14429 * util/mkisofs/joliet.c: Likewise.
14430 * util/mkisofs/name.c: Likewise.
14431 * util/mkisofs/rock.c: Likewise.
14432 * util/mkisofs/tree.c: Likewise.
14433 * util/mkisofs/write.c: Likewise.
14434
14435 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14436
14437 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14438 instead of static allocation.
14439 * util/mkisofs/match.h: Likewise.
14440
14441 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14442
14443 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14444 and `util/grub.d/10_linux.in'.
14445 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14446 translatable Shell files.
14447
14448 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14449
14450 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14451
14452 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14453
14454 * INSTALL: Document Automake is needed for bootstrap.
14455 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14456 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14457 Add gettext initialization.
14458 (kfreebsd_entry): Make menuentry output translatable.
14459
14460 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14461
14462 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14463 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14464 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14465 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14466 (LINGUAS): Auto-generate using `po/LINGUAS'.
14467 * po/LINGUAS: New file.
14468
14469 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14470
14471 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14472 other things).
14473 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14474 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14475 bindtextdomain() calls for gettext initialization.
14476
14477 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14478
14479 * gnulib/progname.c: New file (imported from Gnulib).
14480 * gnulib/progname.h: Likewise.
14481 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14482 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14483 (usage): Replace `progname' with `program_name'.
14484 (main): Use set_program_name() for program name initialization.
14485
14486 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14487
14488 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14489 from here ...
14490 * Makefile.in (CPPFLAGS): ... to here.
14491
14492 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14493
14494 * aclocal.m4: Move from here ...
14495 * acinclude.m4: ... to here.
14496 * autogen.sh: Add call to `aclocal'.
14497 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14498
14499 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14500
14501 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14502 (LINGUAS): New variable.
14503 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14504 (install-local): Install MO files.
14505 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14506 * include/grub/i18n.h: New file.
14507 * po/POTFILES: New file.
14508 * po/ca.po: New file.
14509 * util/grub.d/10_linux.in (bindir): New variable.
14510 Add gettext initialization.
14511 (linux_entry): Make menuentry output translatable.
14512 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14513 (usage): Make --help output translatable.
14514 (main): Initialize gettext.
14515
14516 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14517
14518 * import_gcry.py: New file (written by Vladimir with minor
14519 adjustments).
14520 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14521 ciphers.
14522 * INSTALL: Document that Python is required for bootstrap.
14523
14524 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14525
14526 Import ciphers from libgcrypt 1.4.4.
14527
14528 * lib/libgcrypt/cipher/ChangeLog
14529 * lib/libgcrypt/cipher/ac.c
14530 * lib/libgcrypt/cipher/arcfour.c
14531 * lib/libgcrypt/cipher/bithelp.h
14532 * lib/libgcrypt/cipher/blowfish.c
14533 * lib/libgcrypt/cipher/camellia-glue.c
14534 * lib/libgcrypt/cipher/camellia.c
14535 * lib/libgcrypt/cipher/camellia.h
14536 * lib/libgcrypt/cipher/cast5.c
14537 * lib/libgcrypt/cipher/cipher.c
14538 * lib/libgcrypt/cipher/crc.c
14539 * lib/libgcrypt/cipher/des.c
14540 * lib/libgcrypt/cipher/dsa.c
14541 * lib/libgcrypt/cipher/ecc.c
14542 * lib/libgcrypt/cipher/elgamal.c
14543 * lib/libgcrypt/cipher/hash-common.c
14544 * lib/libgcrypt/cipher/hash-common.h
14545 * lib/libgcrypt/cipher/hmac-tests.c
14546 * lib/libgcrypt/cipher/md.c
14547 * lib/libgcrypt/cipher/md4.c
14548 * lib/libgcrypt/cipher/md5.c
14549 * lib/libgcrypt/cipher/primegen.c
14550 * lib/libgcrypt/cipher/pubkey.c
14551 * lib/libgcrypt/cipher/rfc2268.c
14552 * lib/libgcrypt/cipher/rijndael-tables.h
14553 * lib/libgcrypt/cipher/rijndael.c
14554 * lib/libgcrypt/cipher/rmd.h
14555 * lib/libgcrypt/cipher/rmd160.c
14556 * lib/libgcrypt/cipher/rsa.c
14557 * lib/libgcrypt/cipher/seed.c
14558 * lib/libgcrypt/cipher/serpent.c
14559 * lib/libgcrypt/cipher/sha1.c
14560 * lib/libgcrypt/cipher/sha256.c
14561 * lib/libgcrypt/cipher/sha512.c
14562 * lib/libgcrypt/cipher/tiger.c
14563 * lib/libgcrypt/cipher/twofish.c
14564 * lib/libgcrypt/cipher/whirlpool.c
14565
14566 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14567
14568 Fix build for systems without error().
14569
14570 * gnulib/error.c: New file (imported from Gnulib).
14571 * gnulib/error.h: Likewise.
14572 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14573 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14574 (this variable is now used by error()).
14575
14576 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14577
14578 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14579 instead of relying that char is signed.
14580
14581 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14584 blocksize different from specified.
14585 (grub_pxefs_read): Likewise.
14586
14587 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14588
14589 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14590
14591 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14592 (grub_ata_readwrite): Likewise. Update 2 format strings.
14593 (grub_atapi_read): Likewise.
14594
14595 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14596 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14597 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14598 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14599 (ata_mod_LDFLAGS): Move from here ...
14600 * conf/i386.rmk: ... to here ...
14601 * conf/x86_64-efi.rmk: ... and here.
14602 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14603 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14604
14605 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14606
14607 Relicense multiboot.h, with RMS' blessing.
14608
14609 * include/multiboot.h: Change to X11 license.
14610
14611 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14612
14613 Support --version in grub-mkisofs.
14614
14615 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14616 (OPTION_VERSION): New macro.
14617 (ld_options): Recognize --version.
14618 (usage): Move `program_name' from here ...
14619 (program_name): ... to here. Add `static' qualifier.
14620 (main): Recognize `OPTION_VERSION'.
14621
14622 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14623
14624 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14625 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14626
14627 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14628
14629 Fix help2man generation for mkisofs.
14630
14631 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14632 (usage): Send output to stdout (rather than stderr).
14633
14634 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14635
14636 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14637 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14638 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14639 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14640 (bin_SCRIPTS): Add `grub-mkfloppy'.
14641 (grub_mkfloppy_SOURCES): New variable.
14642
14643 * util/grub-mkrescue.in: New file.
14644 * util/i386/pc/grub-mkfloppy.in: New file.
14645
14646 * util/i386/coreboot/grub-mkrescue.in: Remove.
14647 * util/i386/pc/grub-mkrescue.in: Remove.
14648
14649 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14650
14651 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14652 from here ...
14653 * include/multiboot.h (struct multiboot_header): ... to here. Update
14654 all users.
14655 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14656 from here ...
14657 * include/multiboot.h (struct multiboot_info): ... to here. Update
14658 all users.
14659 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14660 from here ...
14661 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14662 Update all users.
14663 * include/grub/multiboot.h (struct grub_mod_list): Move
14664 from here ...
14665 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14666 Update all users.
14667
14668 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14669
14670 * include/multiboot2.h (multiboot_word): Rename from this ...
14671 (multiboot2_word): ... to this. Update all users.
14672 (multiboot_header): Rename from this ...
14673 (multiboot2_header): ... to this. Update all users.
14674 (multiboot_tag_header): Rename from this ...
14675 (multiboot2_tag_header): ... to this. Update all users.
14676 (multiboot_tag_start): Rename from this ...
14677 (multiboot2_tag_start): ... to this. Update all users.
14678 (multiboot_tag_name): Rename from this ...
14679 (multiboot2_tag_name): ... to this. Update all users.
14680 (multiboot_tag_module): Rename from this ...
14681 (multiboot2_tag_module): ... to this. Update all users.
14682 (multiboot_tag_memory): Rename from this ...
14683 (multiboot2_tag_memory): ... to this. Update all users.
14684 (multiboot_tag_unused): Rename from this ...
14685 (multiboot2_tag_unused): ... to this. Update all users.
14686 (multiboot_tag_end): Rename from this ...
14687 (multiboot2_tag_end): ... to this. Update all users.
14688
14689 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14690
14691 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14692 this platform we should support Multiboot1 first.
14693
14694 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14695 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14696 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14697
14698 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14699
14700 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14701 of write calls (converting them to fwrite() if they aren't already).
14702 (get_torito_desc): Likewise.
14703 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14704
14705 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14706
14707 * util/i386/pc/grub-install.in: Move from here ...
14708 * util/grub-install.in: ... to here. Update all users.
14709
14710 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14711
14712 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14713
14714 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14715
14716 Support for El Torito without floppy emulation.
14717
14718 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14719 (init_boot_catalog): Improve error handling.
14720 (get_torito_desc): Don't use floppy emulation unless requested by
14721 user. Patch boot information table when requested via
14722 `-boot-info-table'.
14723 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14724 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14725 (use_boot_info_table): New variables.
14726 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14727 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14728 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14729 `--eltorito-emul-floppy'.
14730 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14731 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14732 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14733 (use_boot_info_table, get_731): New prototypes.
14734 * util/mkisofs/write.c (get_731): New function.
14735
14736 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14737
14738 Fix the generation of the man page.
14739
14740 * util/pc/i386/grub-install.in: Source
14741 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14742
14743 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14744
14745 Large file support for grub-mkisofs.
14746
14747 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14748 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14749 (session_start): Upgrade type to `uint64_t'. Update all users.
14750 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14751 (struct directory_entry): Upgrade type of `starting_block' and
14752 `size' to `uint64_t'. Update all users.
14753 (struct deferred): Remove unused structure.
14754 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14755 Update all users.
14756 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14757 file is larger than `UINT32_MAX'.
14758 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14759 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14760 return value.
14761 (struct deferred_write): Upgrade type of `extent' and `size' to
14762 `uint64_t'. Update all users.
14763 (last_extent_written): Upgrade type to `uint64_t'. Update all
14764 users.
14765 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14766 Update all users. Upgrade type of `remain' to `int64_t' and
14767 `use' to `size_t'. Use error() to handle fread() errors.
14768 (write_files): Rely on write_one_file() rather than calling
14769 xfwrite() directly.
14770
14771 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14772
14773 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14774
14775 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14776
14777 * util/mkisofs/fnmatch.c: Remove.
14778 * util/mkisofs/getopt1.c: Likewise.
14779 * util/mkisofs/getopt.c: Likewise.
14780 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14781 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14782 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14783 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14784 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14785
14786 * configure.ac: Detect `mingw32msvc' host_os.
14787 Check for lstat(), getuid() and getgid().
14788
14789 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14790 instances of `u_char' with `uint8_t'.
14791
14792 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14793 [!HAVE_GETUID] (getuid): New function (stub).
14794 [!HAVE_GETGID] (getgid): Likewise.
14795 [!HAVE_LSTAT] (lstat): Likewise.
14796 [!S_IROTH] (S_IROTH): New macro (dummy).
14797 [!S_IRGRP] (S_IRGRP): Likewise.
14798
14799 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14800
14801 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14802 conditional expression).
14803
14804 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14805
14806 Import from Gnulib.
14807
14808 * gnulib/fnmatch.c: New file.
14809 * gnulib/fnmatch.h: Likewise.
14810 * gnulib/fnmatch_loop.c: Likewise.
14811 * gnulib/getopt.c: Likewise.
14812 * gnulib/getopt.h: Likewise.
14813 * gnulib/getopt1.c: Likewise.
14814 * gnulib/getopt_int.h: Likewise.
14815 * gnulib/gettext.h: Likewise.
14816
14817 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14818
14819 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14820 * normal/handler.c (read_handler_list): Likewise.
14821
14822 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 Misc cleanup.
14825
14826 * kern/command.c (grub_register_command_prio): Use
14827 grub_zalloc() instead of explicitly zeroing data.
14828 * kern/list.c: Include `<grub/mm.h>'.
14829 (grub_named_list_find): Replace `0' with `NULL'.
14830 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14831 (fs_module_list): Change type to `grub_named_list_t'. Update all
14832 users.
14833 * normal/dyncmd.c (read_command_list): Add space between function
14834 call and parenthesis.
14835 * normal/handler.c (read_handler_list): Likewise.
14836
14837 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14838
14839 * normal/auth.c (punishment_delay): Moved from here ...
14840 (grub_auth_strcmp): ... to here (inside function).
14841
14842 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14843
14844 * include/grub/list.h (struct grub_named_list): Remove `const'
14845 qualifier from `name'.
14846 (struct grub_prio_list): Likewise.
14847
14848 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14849
14850 * normal/auth.c: Include `<grub/time.h>'.
14851 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14852
14853 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14854
14855 * normal/auth.c (punishment_delay): New variable.
14856 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14857 (grub_auth_check_authentication): Punish failed login attempts with
14858 an incremental (2^N) delay.
14859
14860 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14861
14862 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14863 path with $(srcdir).
14864
14865 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14868
14869 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14870
14871 * util/i386/coreboot/grub-mkrescue.in: New file.
14872 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14873 variables.
14874
14875 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14876 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14877 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14878 requirements.
14879 * util/mkisofs/defaults.h: New file.
14880 * util/mkisofs/eltorito.c: Likewise.
14881 * util/mkisofs/exclude.h: Likewise.
14882 * util/mkisofs/fnmatch.c: Likewise.
14883 * util/mkisofs/getopt.c: Likewise.
14884 * util/mkisofs/getopt1.c: Likewise.
14885 * util/mkisofs/hash.c: Likewise.
14886 * util/mkisofs/include/fctldefs.h: Likewise.
14887 * util/mkisofs/include/mconfig.h: Likewise.
14888 * util/mkisofs/include/prototyp.h: Likewise.
14889 * util/mkisofs/include/statdefs.h: Likewise.
14890 * util/mkisofs/iso9660.h: Likewise.
14891 * util/mkisofs/joliet.c: Likewise.
14892 * util/mkisofs/match.c: Likewise.
14893 * util/mkisofs/match.h: Likewise.
14894 * util/mkisofs/mkisofs.c: Likewise.
14895 * util/mkisofs/mkisofs.h: Likewise.
14896 * util/mkisofs/multi.c: Likewise.
14897 * util/mkisofs/name.c: Likewise.
14898 * util/mkisofs/rock.c: Likewise.
14899 * util/mkisofs/tree.c: Likewise.
14900 * util/mkisofs/write.c: Likewise.
14901
14902 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14905 being insecure.
14906
14907 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14908
14909 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14910 `grub-mkimage' (and use $0 when possible).
14911
14912 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14913
14914 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14915 error message for excessively large memory map.
14916
14917 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14918
14919 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14920 executable bit.
14921
14922 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14923
14924 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14925 message for coreboot users.
14926
14927 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14928
14929 Fix build with GNU gold.
14930
14931 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14932 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14933 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14934 link addresses.
14935 * aclocal.m4: Likewise.
14936
14937 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14938
14939 * configure.ac (AC_PREREQ): Bump to 2.59d.
14940 * INSTALL: Make it more clear when Autoconf and Ruby are
14941 needed and when to run `./autogen.sh'.
14942
14943 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14944
14945 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14946 OSes.
14947
14948 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14949
14950 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14951
14952 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14953
14954 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14955 giving it to GNU Mach.
14956
14957 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14958
14959 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14960 GNU partition number to get internal GRUB partition number.
14961
14962 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14963
14964 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14965 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14966
14967 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14968
14969 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14970 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14971 case.
14972
14973 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14974
14975 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14976
14977 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14978
14979 Fix build problem.
14980
14981 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14982 `-isystem=$(srcdir)/include'.
14983
14984 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14985
14986 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14987 checked (grub-install doesn't currently rely on it).
14988
14989 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14990
14991 Revert SVN r2660.
14992
14993 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14994 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14995 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14996 * conf/i386-ieee1275.rmk: Likewise.
14997 * conf/i386-pc.rmk: Likewise.
14998 * conf/powerpc-ieee1275.rmk: Likewise.
14999 * conf/sparc64-ieee1275.rmk: Likewise.
15000 * conf/x86_64-efi.rmk: Likewise.
15001
15002 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15003
15004 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
15005
15006 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15007
15008 * include/grub/misc.h: Stop checking for APPLE_CC.
15009
15010 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15011
15012 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
15013 doesn't cause an infinite call loop.
15014
15015 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
15016
15017 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
15018 strings.
15019
15020 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15021
15022 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
15023 variable.
15024 * Makefile.in: Likewise.
15025
15026 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15027
15028 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
15029
15030 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15031
15032 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
15033
15034 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15035
15036 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
15037
15038 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15039
15040 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
15041 from here ...
15042 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
15043
15044 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15045
15046 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
15047 in $(MAKEINFO) invocation. This makes it clear in output that
15048 errors are being ignored.
15049
15050 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15051
15052 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
15053 from here ...
15054 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15055 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
15056 * conf/i386-ieee1275.rmk: Likewise.
15057 * conf/i386-pc.rmk: Likewise.
15058 * conf/powerpc-ieee1275.rmk: Likewise.
15059 * conf/sparc64-ieee1275.rmk: Likewise.
15060 * conf/x86_64-efi.rmk: Likewise.
15061
15062 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
15063
15064 * util/grub-editenv.c (main): If only a command is given, use
15065 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
15066 (usage): FILENAME is now optional and has a default.
15067
15068 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
15069
15070 Improve grub-mkconfig performance when there are several menu
15071 entries on a single filesystem.
15072
15073 * util/grub.d/10_linux.in (linux_entry): Cache the output of
15074 prepare_grub_to_access_device.
15075 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15076 * util/grub.d/30_os-prober.in: Likewise.
15077
15078 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15079
15080 * util/grub.d/10_freebsd.in: Remove.
15081 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
15082 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
15083
15084 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15085
15086 * docs/grub.cfg: Fix example usage of *BSD loaders.
15087
15088 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15089
15090 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
15091 grub_util_error() call.
15092
15093 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15094
15095 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
15096 `reserved_first_sector' member.
15097 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
15098 `reserved_first_sector' to 1.
15099 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15100 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15101 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15102 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15103 filesystems which begin at first sector.
15104 (options): New option --skip-fs-probe.
15105 (main): Handle --skip-fs-probe and pass it to setup().
15106
15107 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15108
15109 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15110 (memset): Fix function prototype.
15111
15112 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15113 2009-10-25 Vasily Averin <vvs@parallels.com>
15114
15115 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15116 `dirent.direntlen == 0'.
15117
15118 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15119
15120 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15121 `cpio'.
15122 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15123
15124 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15125
15126 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15127 `__trampoline_setup' and `__ucmpdi2'.
15128 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15129 that libgcc provides.
15130
15131 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15132
15133 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15134 * include/grub/sparc64/libgcc.h (memset): Likewise.
15135 * include/grub/misc.h (memset, memcmp): New function prototypes.
15136
15137 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15138
15139 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15140 `cpio'.
15141 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15142
15143 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15144
15145 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15146 * docs/grub.cfg: Compensate for recent change in multiboot
15147 loader (since 2009-08-14 it won't pass filename to payload).
15148 * util/grub.d/10_hurd.in: Likewise.
15149
15150 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
15151
15152 * config.guess: Update to latest version from config git
15153 repository.
15154 * config.sub: Likewise.
15155
15156 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15157
15158 Fix build on sparc64.
15159
15160 * configure.ac: Perform checks for libgcc symbols before
15161 adding `-nostdlib' to LDFLAGS.
15162
15163 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 Let user specify OpenBSD root device.
15166
15167 * loader/i386/bsd.c (openbsd_root): New variable.
15168 (openbsd_opts): New option 'root'.
15169 (OPENBSD_ROOT_ARG): New macro.
15170 (grub_openbsd_boot): Use 'openbsd_root'.
15171 (grub_cmd_openbsd): Fill 'openbsd_root'.
15172
15173 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15174
15175 * NEWS: Misc adjustments.
15176
15177 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15180
15181 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15182
15183 * configure.ac: Bump version to 1.97.
15184
15185 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15188 -mno-3dnow on x86 architectures. Some toolchains enable these
15189 features by default, but they rely on registers that aren't enabled
15190 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15191
15192 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15193
15194 Make entry text a bit more readable.
15195
15196 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15197
15198 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15201
15202 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15205 operations.
15206
15207 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * configure.ac: Add missing dollar.
15210
15211 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15214
15215 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15216 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15217 exports.
15218 * include/grub/sparc64/libgcc.h: Likewise. Use
15219 preprocessor conditionals.
15220
15221 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15222
15223 * conf/common.rmk (grub-dumpbios): Remove rule.
15224 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15225 * util/grub-dumpbios.in: Remove file.
15226
15227 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15228
15229 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15230 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15231
15232 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15233 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15234 users.
15235
15236 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15237 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15238 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15239 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15240 users.
15241
15242 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15243
15244 * term/tparm.c: Switch to GPLv3.
15245
15246 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15247
15248 * include/grub/i386/cpuid.h: Add header protection.
15249
15250 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15251
15252 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15253
15254 * include/grub/i386/cpuid.h: New file.
15255 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15256 (has_longmode): Rename to ...
15257 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15258 `static' attribute.
15259 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15260 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15261 on a CPU that doesn't implement AMD64 instruction set.
15262
15263 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15264
15265 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15266 that version.texi is rebuilt on version number changes.
15267
15268 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15271 Fixes bug #27602.
15272
15273 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
15274
15275 * util/i386/pc/grub-install.in: Source
15276 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15277 that the --grub-probe option will work.
15278 * util/sparc64/ieee1275/grub-install.in: Likewise.
15279
15280 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15281
15282 * configure.ac: Bump version to 1.97~beta4.
15283
15284 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15285
15286 Resync grub-mkdevicemap in x86_64-efi.
15287
15288 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15289 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15290 `util/devicemap.c'.
15291
15292 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15293
15294 * util/grub-editenv.c (create_envblk_file): Write new block with a
15295 .new suffix and then rename it into place, to ensure atomic
15296 creation.
15297
15298 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 Do not automatically install headers.
15301
15302 * Makefile.in (include_DATA): Remove. Update all users.
15303
15304 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15305
15306 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15307 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15308
15309 * util/osdetect.lua: Remove.
15310 * script/lua/lauxlib.c: Likewise.
15311 * script/lua/ldebug.c: Likewise.
15312 * script/lua/grub_main.c: Likewise.
15313 * script/lua/lauxlib.h: Likewise.
15314 * script/lua/ldebug.h: Likewise.
15315 * script/lua/ltablib.c: Likewise.
15316 * script/lua/liolib.c: Likewise.
15317 * script/lua/lstrlib.c: Likewise.
15318 * script/lua/lualib.h: Likewise.
15319 * script/lua/ldo.c: Likewise.
15320 * script/lua/ldump.c: Likewise.
15321 * script/lua/ldo.h: Likewise.
15322 * script/lua/loslib.c: Likewise.
15323 * script/lua/lundump.c: Likewise.
15324 * script/lua/grub_lib.c: Likewise.
15325 * script/lua/ldblib.c: Likewise.
15326 * script/lua/lundump.h: Likewise.
15327 * script/lua/lmem.c: Likewise.
15328 * script/lua/grub_lib.h: Likewise.
15329 * script/lua/lmathlib.c: Likewise.
15330 * script/lua/lstate.c: Likewise.
15331 * script/lua/ltm.c: Likewise.
15332 * script/lua/lvm.c: Likewise.
15333 * script/lua/lmem.h: Likewise.
15334 * script/lua/lstate.h: Likewise.
15335 * script/lua/ltm.h: Likewise.
15336 * script/lua/ltable.c: Likewise.
15337 * script/lua/lvm.h: Likewise.
15338 * script/lua/llex.c: Likewise.
15339 * script/lua/lgc.c: Likewise.
15340 * script/lua/grub_lua.h: Likewise.
15341 * script/lua/loadlib.c: Likewise.
15342 * script/lua/lfunc.c: Likewise.
15343 * script/lua/lopcodes.c: Likewise.
15344 * script/lua/lparser.c: Likewise.
15345 * script/lua/ltable.h: Likewise.
15346 * script/lua/llex.h: Likewise.
15347 * script/lua/lgc.h: Likewise.
15348 * script/lua/lfunc.h: Likewise.
15349 * script/lua/lbaselib.c: Likewise.
15350 * script/lua/lopcodes.h: Likewise.
15351 * script/lua/lparser.h: Likewise.
15352 * script/lua/lzio.c: Likewise.
15353 * script/lua/linit.c: Likewise.
15354 * script/lua/lobject.c: Likewise.
15355 * script/lua/llimits.h: Likewise.
15356 * script/lua/lstring.c: Likewise.
15357 * script/lua/lzio.h: Likewise.
15358 * script/lua/lapi.c: Likewise.
15359 * script/lua/lcode.c: Likewise.
15360 * script/lua/lua.h: Likewise.
15361 * script/lua/lobject.h: Likewise.
15362 * script/lua/lstring.h: Likewise.
15363 * script/lua/lapi.h: Likewise.
15364 * script/lua/lcode.h: Likewise.
15365 * script/lua/luaconf.h: Likewise.
15366
15367 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15368
15369 * docs/grub.texi (Command-line and menu entry commands): Document
15370 date and echo commands.
15371
15372 2009-09-24 Pavel Roskin <proski@gnu.org>
15373
15374 * include/grub/kernel.h (struct grub_module_header): Remove
15375 `grub_module_header_types'. Make `type' unsigned. Make `size'
15376 32-bit on all platforms.
15377 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15378 8-bit field. Use grub_host_to_target32() for `size'.
15379 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15380 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15381 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15382
15383 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15384
15385 Fix "lost keypress" bug in at_keyboard.
15386
15387 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15388 Checks for readyness of input buffer (without flushing it).
15389 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15390 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15391
15392 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15393
15394 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15395 size check within GRUB_MACHINE_PCBIOS section.
15396
15397 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15398
15399 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15400 return value.
15401 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15402 KEYBOARD_ISREADY check.
15403 (grub_at_keyboard_checkkey): Rename to ...
15404 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15405 Remove gratuitous cast.
15406
15407 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * configure.ac: Call AC_PROG_MKDIR_P.
15410 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15411 version.texi in $(builddir) rather than $(srcdir).
15412 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15413 to makeinfo's @include search path.
15414
15415 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15416
15417 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15418
15419 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15420
15421 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15422 for `*.dpkg-new'.
15423
15424 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15425
15426 Build info documentation. Some code borrowed from Automake.
15427
15428 * configure.ac: Check for makeinfo.
15429 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15430 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15431 docs/version.texi.
15432 (MOSTLYCLEANFILES): Add vti.tmp.
15433 (docs/version.texi, docs/stamp-vti): Update automatically.
15434 (docs/grub.info): Build info documentation. Use --force and ignore
15435 errors for now.
15436 (all-local): Add $(INFOS).
15437 (install-local): Install info files.
15438 (uninstall): Uninstall info files.
15439 * docs/version.texi: Remove from revision control. This file is
15440 automatically generated on build now.
15441 * gendistlist.sh: Add `*.info'.
15442
15443 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15444
15445 * kern/term.c: Fix indentation.
15446
15447 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15448
15449 * util/hostdisk.c: Fix a comment.
15450
15451 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15452
15453 Fix regression introduced in r2539.
15454
15455 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15456 to 0xA1.
15457
15458 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15459
15460 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15461 os-prober. Under normal operation, it does not print anything to
15462 stderr; if it does, we need to debug it, and throwing away stderr
15463 makes that excessively difficult.
15464
15465 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15468
15469 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15470
15471 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15472 AC_LANG_PROGRAM from autoconf.
15473 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15474 prototypes (fixes warning).
15475
15476 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15477 `--disable-werror' was used.
15478
15479 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15480
15481 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15482 uninitialized `lastaddr'.
15483
15484 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15487
15488 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15489
15490 * commands/test.c (get_fileinfo): Return immediately if
15491 grub_fs_probe fails.
15492
15493 2009-09-14 José Martínez <xosemp@gmail.com>
15494
15495 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15496
15497 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15498
15499 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15500 output.
15501
15502 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15503
15504 * configure.ac: Remove --enable-grub-pe2elf. Only build
15505 grub-pe2elf when needed by the build system itself.
15506 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15507
15508 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15509
15510 * configure.ac: Bump version to 1.97~beta3.
15511 * docs/version.texi: Likewise.
15512
15513 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15514
15515 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15516 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15517 from here ...
15518 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15519 (grub_linux_setup_video): ... to here (with some adjustments).
15520
15521 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15522
15523 Fix memory corruption issue (spotted by Colin Watson).
15524
15525 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15526 causing returned size to be stored in an incorrect memory location.
15527 Fix use of uninitialized value when storing the returned size.
15528
15529 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15530
15531 Change clean rules to properly remove files
15532
15533 * genmk.rb: add new clean rules
15534 * Makefile.in (clean): add the new targets
15535 (mostlyclean): likewise
15536
15537 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15538
15539 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15540 to grub_uint64_t.
15541 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15542 non-resident files.
15543
15544 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15545
15546 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15547 part of bug #27349.
15548
15549 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15550
15551 * util/grub-mkconfig.in: Make the created config mode 400 and
15552 print a warning if it fails.
15553
15554 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15555
15556 * util/grub.d/40_custom.in: Ask user to type custom entries below
15557 comment, rather than below 'exec tail' line.
15558
15559 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15560
15561 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15562 visible in grub.cfg.
15563
15564 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15567 file.
15568
15569 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15570
15571 * docs/grub.cfg: Add an example menu entry for memtest86+.
15572
15573 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15574
15575 * config.guess: Update to latest version from config git.
15576 * config.sub: Likewise.
15577
15578 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15579
15580 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15581 unknown-command case. Fixes bug #27320.
15582
15583 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15584
15585 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15586 `help' if the command exists.
15587
15588 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15589
15590 * INSTALL: Require GCC 4.1.3 or later.
15591
15592 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15593
15594 * Makefile.in (RMKFILES): add i386-qemu.rmk
15595 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15596 $(srcdir)/stamp-h.in
15597
15598 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15599
15600 * util/grub-probe.c (probe): Comment out buggy codepath, which
15601 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15602 should be re-enabled after 1.97.
15603
15604 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15605
15606 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15607 find searches for.
15608
15609 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15612 unnecessary calls to grub_error.
15613
15614 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15615
15616 * NEWS: Mention `keystatus' and Unicode fonts.
15617
15618 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15619
15620 * configure.ac: Bump version to 1.97~beta2.
15621 * docs/version.texi: Likewise.
15622
15623 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15624
15625 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15626 containing unwind information in some cases where it previously did
15627 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15628 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15629 discussion.
15630
15631 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15632
15633 Embedding loadenv module into grub-emu
15634
15635 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15636 commands/loadenv.c
15637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15638 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15639 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15641 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15642 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15643
15644 2009-09-03 Magnus Granberg <zorry@ume.nu>
15645
15646 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15647 include -fPIE in the default specs.
15648 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15649 to TARGET_CFLAGS.
15650
15651 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15652
15653 * INSTALL: Note that GNU Bison 2.3 or later is required.
15654
15655 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15656
15657 * kern/i386/pc/startup.S: Fix typo.
15658
15659 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15662 according to GCS.
15663
15664 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15665
15666 * docs/grub.texi (Naming convention): Describe one-based partition
15667 numbering.
15668 (Device syntax): Likewise.
15669 (File name syntax): Likewise.
15670 (Block list syntax): Likewise.
15671 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15672 menu.lst.
15673 (File name syntax): Likewise.
15674 (Command-line and menu entry commands): Document acpi, blocklist,
15675 crc, export, insmod, keystatus, ls, set, and unset commands.
15676
15677 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15678
15679 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15680 to avoid implying that only one of --shift, --ctrl, or --alt may be
15681 used.
15682
15683 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15684
15685 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15686 rather than comparing against S_IFREG, which will almost never work.
15687
15688 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15691 (write_blocklists): Likewise.
15692
15693 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15694
15695 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15696 argument to grub_printf.
15697
15698 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15699
15700 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15701 non GNU test.
15702
15703 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * kern/file.c (grub_file_read): Spelling fix
15706
15707 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15710 loading of headers in some cases.
15711
15712 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15713
15714 * configure.ac: Bump version to 1.97~beta1.
15715 * docs/version.texi: Likewise.
15716
15717 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * include/grub/i386/xnu.h: Add license header.
15720 include grub/err.h explicitly.
15721
15722 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15723
15724 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15725 to `ufs' in the vfs.root.mountfrom kernel parameter.
15726
15727 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15728
15729 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15730
15731 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15732 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15733
15734 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15735 `ARRAY_SIZE' macro.
15736
15737 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * kern/file.c (grub_file_read): Check offset.
15740 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15741 * fs/jfs.c (grub_jfs_read_file): Likewise.
15742 * fs/ntfs.c (grub_ntfs_read): Likewise.
15743 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15744 * fs/minix.c (grub_minix_read_file): Correct offset check.
15745 * fs/ufs.c (grub_ufs_read_file): Likewise.
15746
15747 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15748
15749 * term/i386/pc/console.c (bios_data_area): Cast
15750 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15751
15752 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 1-bit optimised blitters.
15755
15756 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15757 prototype.
15758 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15759 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15760 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15761 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15762 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15763 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15764 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15765 function.
15766 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15767 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15768 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15769 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15770 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15771 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15772 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15773 when possible.
15774 * video/video.c (grub_video_get_blit_format): Return
15775 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15776
15777 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15778
15779 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15780 the first argument to grub_printf.
15781
15782 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15783 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15784
15785 Add `getkeystatus' terminal method. Add a new `keystatus' command
15786 to query it.
15787
15788 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15789 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15790 modifier key bitmasks.
15791 (struct grub_term_input): Add `getkeystatus' member.
15792 (grub_getkeystatus): Add prototype.
15793 * kern/term.c (grub_getkeystatus): New function.
15794
15795 * include/grub/i386/pc/memory.h
15796 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15797 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15798 Data Area layout.
15799 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15800 (grub_console_term_input): Set `getkeystatus' member.
15801 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15802 constants.
15803 (grub_usb_keyboard_getreport): Likewise.
15804 (grub_usb_keyboard_checkkey): Likewise.
15805 (grub_usb_keyboard_getkeystatus): New function.
15806 (grub_usb_keyboard_term): Set `getkeystatus' member.
15807
15808 * commands/keystatus.c: New file.
15809 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15810 (keystatus_mod_SOURCES): New variable.
15811 (keystatus_mod_CFLAGS): Likewise.
15812 (keystatus_mod_LDFLAGS): Likewise.
15813 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15814 commands/keystatus.c.
15815 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15816 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15817 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15821
15822 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 Split befs.mod and afs.mod into *_be.mod and *.mod
15825
15826 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15827 (grub_fstest_SOURCES): Likewise.
15828 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15829 (afs_be_mod_SOURCES): New variable.
15830 (afs_be_mod_CFLAGS): Likewise.
15831 (afs_be_mod_LDFLAGS): Likewise.
15832 (befs_be_mod_SOURCES): Likewise.
15833 (befs_be_mod_CFLAGS): Likewise.
15834 (befs_be_mod_LDFLAGS): Likewise.
15835 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15836 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15837 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15838 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15839 (grub_emu_SOURCES): Likewise.
15840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15841 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15842 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15843 * fs/afs_be.c: New file.
15844 * fs/befs_be.c: New file.
15845 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15846 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15847 (U16): Replaced with ...
15848 (grub_afs_to_cpu16): ...this. All users updated.
15849 (U32): Replaced with ...
15850 (grub_afs_to_cpu32): ...this. All users updated.
15851 (U64): Replaced with ...
15852 (grub_afs_to_cpu64): ...this. All users updated.
15853 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15854 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15855 (grub_afs_validate_sblock): Check only one endianness.
15856 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15857 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15858 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15859 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15860 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15861 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15862 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15863 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15864
15865 2009-08-26 Bean <bean123ch@gmail.com>
15866
15867 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15868 64-bit number.
15869 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15870 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15871 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15872
15873 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 NetBSD memory map support.
15876
15877 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15878 (grub_netbsd_btinfo_mmap_header): New structure.
15879 (grub_netbsd_btinfo_mmap_entry): Likewise.
15880 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15881
15882 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 Enable bsd.mod on coreboot.
15885
15886 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15887 (bsd_mod_SOURCES): New variable.
15888 (bsd_mod_CFLAGS): Likewise.
15889 (bsd_mod_LDFLAGS): Likewise.
15890 (bsd_mod_ASFLAGS): Likewise.
15891 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15892 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15893
15894 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 Cleanup NetBSD root support.
15897
15898 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15899 grub_bsd_get_device.
15900 Fix typo.
15901
15902 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15903
15904 * util/grub.d/00_header.in: Move check for the video backend of
15905 gfxterm from here ...
15906 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15907 a suitable video backend.
15908
15909 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 Fix breakage in grub-setup.
15912
15913 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15914 "msdos_partition_map".
15915
15916 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 Fix breakage in normal/auth.c.
15919
15920 * normal/auth.c (grub_iswordseparator): New function.
15921
15922 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 Authentication support.
15925
15926 * commands/password.c: New file.
15927 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15928 (password_mod_SOURCES): New variable.
15929 (password_mod_CFLAGS): Likewise.
15930 (password_mod_LDFLAGS): Likewise.
15931 (normal_mod_SOURCES): Add normal/auth.c.
15932 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15933 normal/auth.c.
15934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15935 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15936 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15939 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15940 * include/grub/auth.h: New file.
15941 * include/grub/err.h (grub_err_t): New enum value
15942 GRUB_ERR_ACCESS_DENIED.
15943 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15944 'users'.
15945 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15946 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15947 users updated.
15948 * normal/auth.c: New file.
15949 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15950 (grub_cmdline_run): Don't allow to go to command line without
15951 authentication.
15952 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15953 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15954 menuentry without superuser rights.
15955 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15956 user isn't a superuser.
15957
15958 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 Save space by inlining misc.c functions.
15961
15962 * kern/misc.c (grub_iswordseparator): Made static.
15963 * kern/misc.c (grub_strcat): Moved from here ...
15964 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15965 * kern/misc.c (grub_strncat): Moved from here ...
15966 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15967 * kern/misc.c (grub_strcasecmp): Moved from here ...
15968 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15969 * kern/misc.c (grub_strncasecmp): Moved from here ...
15970 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15971 * kern/misc.c (grub_isalpha): Moved from here ...
15972 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15973 * kern/misc.c (grub_isdigit): Moved from here ...
15974 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15975 * kern/misc.c (grub_isgraph): Moved from here ...
15976 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15977 * kern/misc.c (grub_tolower): Moved from here ...
15978 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15979
15980 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * script/sh/function.c (grub_script_function_find): Cut error message
15983 not to flood terminal.
15984 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15985 limit.
15986 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15987
15988 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15989
15990 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15991 `report' grub_uint8_t *.
15992 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15993 Use a 50-millisecond timeout rather than just repeating
15994 grub_usb_keyboard_getreport 50 times.
15995 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15996
15997 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 Rename *_partition_map to part_*
16000
16001 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
16002 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
16003 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
16004 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
16005 All users updated.
16006 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
16007 All users updated.
16008 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
16009 * util/grub-probe.c (probe_partmap): Don't transform partition name
16010 to get module name.
16011
16012 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 Fix OpenBSD and NetBSD support.
16015
16016 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
16017 memory address conflict.
16018 (OPENBSD_MMAP_ACPI): New definition.
16019 (OPENBSD_MMAP_NVS): Likewise.
16020 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
16021 and OPENBSD_MMAP_NVS.
16022 Add memory map terminator
16023 Explicit cast when calling grub_unix_real_boot.
16024 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
16025
16026 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Let user specify NetBSD root device.
16029
16030 * loader/i386/bsd.c (netbsd_root): New variable.
16031 (netbsd_opts): New option 'root'.
16032 (NETBSD_ROOT_ARG): New macro.
16033 (grub_netbsd_boot): Use 'netbsd_root'.
16034 (grub_bsd_unload): Free 'netbsd_root'.
16035 (grub_cmd_netbsd): Fill 'netbsd_root'.
16036
16037 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 Support for 64-bit NetBSD.
16040
16041 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
16042 point when booting non-FreeBSD.
16043
16044 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Support --no-smp and --no-acpi for NetBSD.
16047
16048 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
16049 (NETBSD_AB_NOACPI): Likewise.
16050 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
16051 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
16052
16053 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
16056 errors.
16057 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
16058 errors. Call grub_error when needed.
16059
16060 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * commands/search.c (search_fs): Try searching without autoload first.
16063 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16064 filesystem module explicitly for faster booting.
16065
16066 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
16067
16068 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
16069
16070 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
16071
16072 * util/grub.d/30_os-prober.in: Disable os-prober if
16073 `GRUB_DISABLE_OS_PROBER' was set to true.
16074
16075 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
16076
16077 * partmap/pc.c: Rename to ...
16078 * partmap/msdos.c: ... this. Update all users.
16079 (grub_pc_partition_map): Rename to ...
16080 (grub_msdos_partition_map): ... this. Update all users.
16081
16082 * parttool/pcpart.c: Rename to ...
16083 * parttool/msdospart.c: ... this. Update all users.
16084
16085 * include/grub/pc_partition.h: Rename to ...
16086 * include/grub/msdos_partition.h: ... this. Update all users.
16087 (grub_pc_partition_bsd_entry): Rename to ...
16088 (grub_msdos_partition_bsd_entry): ... this. Update all users.
16089 (grub_pc_partition_disk_label): Rename to ...
16090 (grub_msdos_partition_disk_label): ... this. Update all users.
16091 (grub_pc_partition_entry): Rename to ...
16092 (grub_msdos_partition_entry): ... this. Update all users.
16093 (grub_pc_partition_mbr): Rename to ...
16094 (grub_msdos_partition_mbr): ... this. Update all users.
16095 (grub_pc_partition): Rename to ...
16096 (grub_msdos_partition): ... this. Update all users.
16097 (grub_pc_partition_is_empty): Rename to ...
16098 (grub_msdos_partition_is_empty): ... this. Update all users.
16099 (grub_pc_partition_is_extended): Rename to ...
16100 (grub_msdos_partition_is_extended): ... this. Update all users.
16101 (grub_pc_partition_is_bsd): Rename to ...
16102 (grub_msdos_partition_is_bsd): ... this. Update all users.
16103
16104 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16105 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16106 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16107 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16108 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16109 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16110 (gpt_mod_LDFLAGS): Rename to ...
16111 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16112 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16113 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16114 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16115 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16116 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16117 (part_gpt_mod_LDFLAGS): ... this.
16118 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16119 `pcpart.mod' to `msdospart.mod'.
16120 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16121 to ...
16122 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16123 (msdospart_mod_LDFLAGS): ... this.
16124
16125 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16128 (openbsd_opts): Likewise.
16129 (netbsd_opts): Likewise.
16130 (freebsd_flags): Added 0 terminator.
16131 (openbsd_flags): Likewise.
16132 (netbsd_flags): Likewise.
16133 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16134 (grub_cmd_freebsd): Transformed into extended command.
16135 (grub_cmd_openbsd): Likewise.
16136 (grub_cmd_netbsd): Likewise.
16137 (cmd_freebsd): Changed type to grub_extcmd_t.
16138 (cmd_openbsd): Likewise.
16139 (cmd_netbsd): Likewise.
16140 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16141 grub_cmd_openbsd as extended commands.
16142 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16143 cmd_netbsd and cmd_openbsd
16144
16145 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16148
16149 2009-08-21 Pavel Roskin <proski@gnu.org>
16150
16151 * Makefile.in (install-local): When checking if a file is in the
16152 build directory, use "test -e" to detect symlinks.
16153
16154 * Makefile.in (install-local): Remove all files in
16155 $(DESTDIR)$(pkglibdir) before installing new files there.
16156
16157 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16158
16159 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16160 grub-mkelfimage.
16161
16162 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
16163
16164 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16165 explicitly specified by the user.
16166
16167 2009-08-18 Pavel Roskin <proski@gnu.org>
16168
16169 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16170 grub_uint8_t pointer for data.
16171 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16172 Likewise.
16173 * video/fb/fbutil.c: Remove unnecessary casts.
16174
16175 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16176
16177 VBE cleanup.
16178
16179 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16180 (grub_vbe_set_video_mode): Save active mode info
16181 only after setting the mode.
16182 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16183 second argument.
16184
16185 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16186
16187 Rename variables for clarity.
16188
16189 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16190 (active_vbe_mode_info): ... this. All users updated.
16191 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16192 All users updated.
16193 (initial_mode): Rename to ...
16194 (initial_vbe_mode): ... this. All users updated.
16195 (mode_in_use): Rename to ..
16196 (vbe_mode_in_use): ... this. All users updated.
16197 (mode_list): Rename to ..
16198 (vbe_mode_list): ... this. All users updated.
16199 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16200 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16201 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16202 'mode_list_size' to 'vbe_mode_list_size'.
16203 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16204 'best_mode_info' to 'best_vbe_mode_info' and
16205 'best_mode' to 'best_vbe_mode'
16206
16207 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
16208
16209 Remove duplicate grub_video_fb_get_video_ptr.
16210
16211 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16212 (grub_video_fb_get_video_ptr): ... this.
16213 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16214 * video/fb/fbutil.c: Add comment about addressing.
16215 (get_data_ptr): Rename to ...
16216 (grub_video_fb_get_video_ptr): ... this. All users updated.
16217 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16218
16219 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16220
16221 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16222 grub_dprintf() that was just added.
16223
16224 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16225
16226 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16227 (DEFAULT_VIDEO_MODE): Remove macros.
16228 (grub_linux_boot): Remove assumption that Linux has FB support,
16229 and use "text" as default video mode.
16230
16231 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16234 grub_dprintf.
16235 * fs/fat.c (grub_fat_read_data): Likewise.
16236
16237 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16240 payload.
16241 (grub_module): Likewise.
16242
16243 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16246 mbi->cmdline but free playground.
16247
16248 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 Handle group offset on UFS1.
16251
16252 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16253 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16254
16255 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 Split ufs.mod into ufs1.mod and ufs2.mod.
16258
16259 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16260 (grub_fstest_SOURCES): Likewise.
16261 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16262 (ufs_mod_SOURCES): Remove.
16263 (ufs_mod_CFLAGS): Likewise.
16264 (ufs_mod_LDFLAGS): Likewise.
16265 (ufs1_mod_SOURCES): New variable.
16266 (ufs1_mod_CFLAGS): Likewise.
16267 (ufs1_mod_LDFLAGS): Likewise.
16268 (ufs2_mod_SOURCES): New variable.
16269 (ufs2_mod_CFLAGS): Likewise.
16270 (ufs2_mod_LDFLAGS): Likewise.
16271 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16272 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16273 Likewise.
16274 (grub_emu_SOURCES): Likewise.
16275 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16276 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16277 (grub_setup_SOURCES): Likewise.
16278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16279 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16280 (grub_setup_SOURCES): Likewise.
16281 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16282 Likewise.
16283 * fs/ufs2.c: New file.
16284 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16285
16286 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Framebuffer split.
16289
16290 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16291 subsystem at the end.
16292 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16293 (video_fb_mod_SOURCES): New variable.
16294 (video_fb_mod_CFLAGS): Likewise.
16295 (video_fb_mod_LDFLAGS): Likewise.
16296 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16297 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16298 * video/i386/pc/vbeblit.c: Moved from here ...
16299 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16300 * video/i386/pc/vbefill.c: Moved from here ...
16301 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16302 * video/i386/pc/vbeutil.c: Moved from here ...
16303 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16304 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16305 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16306 * include/grub/i386/pc/vbefill.h: Moved from here ...
16307 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16308 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16309 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16310 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16311 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16312 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16313 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16314 (grub_video_adapter): Added 'get_info_and_fini'.
16315 (grub_video_get_info_and_fini): New prototype.
16316 (grub_video_set_mode): make modestring const char *.
16317 * loader/i386/linux.c (grub_linux_setup_video): Use
16318 grub_video_get_info_and_fini.
16319 (grub_linux_boot): Move modesetting just before booting.
16320 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16321 grub_video_get_info_and_fini.
16322 * video/i386/pc/vbe.c: Moved framebuffer part ...
16323 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16324 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16325 grub_video_fbstd_colors and grub_video_fb_set_palette.
16326 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16327 grub_video_fb_init.
16328 (grub_video_vbe_fini): Use grub_video_fb_fini.
16329 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16330 render_target and use grub_video_fb_set_active_render_target and
16331 grub_video_fb_set_palette.
16332 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16333 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16334 (grub_video_vbe_adapter): Use framebuffer.
16335 * video/video.c (grub_video_get_info_and_fini): New function.
16336 (grub_video_set_mode): Make modestring const char *.
16337 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16338 values are already initialised.
16339
16340 2009-08-14 Pavel Roskin <proski@gnu.org>
16341
16342 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16343 ABS and APPLE_CC.
16344 * boot/i386/pc/diskboot.S: Likewise.
16345 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16346 sectors allow compilation on MacOSX.
16347 * conf/i386-pc.rmk: Enable unconditional compilation of
16348 lnxboot.img.
16349
16350 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16351
16352 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16353 * util/grub.d/00_header.in: Enter interruptible sleep if
16354 GRUB_HIDDEN_TIMEOUT is set.
16355
16356 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16357
16358 * include/grub/symbol.h: Add the LOCAL macro.
16359 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16360 starting with "L_".
16361
16362 2009-08-13 Pavel Roskin <proski@gnu.org>
16363
16364 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16365 any modern compilers we support.
16366
16367 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16368 Use local labels starting with "L_" so that Apple assembler
16369 knows they are local.
16370
16371 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16372
16373 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16374 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16375 (bsd_kernel_types): ... this enum.
16376
16377 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16378 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16379 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16380
16381 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16382 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16383 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16384 messages.
16385
16386 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16387
16388 * util/grub-dumpdevtree: Moved from here ...
16389 * util/i386/efi/grub-dumpdevtree: ... to here.
16390 (hexify): New function. Converts a string to its hex version.
16391 Generate hex versions of "efi" and "device-properties" by calling
16392 hexify() on the ASCII strings rather than by hardcoding numbers.
16393
16394 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16395
16396 * fs/jfs.c: Update copyright year.
16397
16398 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16399
16400 * util/grub.d/00_header.in: Fix a comment.
16401 * util/grub.d/10_linux.in: Likewise.
16402 * util/grub.d/10_windows.in: Likewise.
16403 * util/grub.d/10_hurd.in: Likewise.
16404
16405 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16406
16407 * util/grub-mkconfig.in: Allow the user to specify the used font
16408 with GRUB_FONT.
16409
16410 2009-08-08 Pavel Roskin <proski@gnu.org>
16411
16412 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16413 available, xfs.mod needs it now.
16414
16415 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16416 the "g" modifier in sed when the intention is to strip something
16417 once. This fixes comparison of kernels with multiple dashes.
16418
16419 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16420 on it. Add missing space before closing bracket. Fix
16421 misleading formatting.
16422
16423 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16424
16425 * docs/grub.texi: Major overhaul. Remove all sections that are
16426 specific to GRUB Legacy, or mostly composed of Legacy-specific
16427 information.
16428
16429 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16430
16431 * docs/version.texi: New file. Provides version information for
16432 grub.texi.
16433
16434 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16435
16436 * docs/grub.texi: Update CVS information to SVN.
16437 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16438
16439 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16440
16441 * util/grub-mkconfig.in: Remove a wrong `fi'.
16442
16443 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16444
16445 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16446 (grub_jfs_uuid): New function.
16447 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16448
16449 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16450
16451 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16452 of it to ...
16453 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16454 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16455
16456 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16457
16458 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16459 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16460 Update all users.
16461
16462 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16463 not just "vmlinu[zx]".
16464 Moved from here ...
16465 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16466 all users.
16467
16468 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16469 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16470 all users.
16471
16472 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16473
16474 * util/grub.d/10_freebsd.in: Use an absolute device path for
16475 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16476
16477 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16478
16479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16480 handling of multiple abstraction modules.
16481
16482 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16483
16484 Fix a bug resulting in black screen when loading Linux using a
16485 packed video mode.
16486
16487 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16488 function.
16489
16490 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16491 (grub_vbe_bios_getset_dac_palette_width): New function.
16492 (grub_vbe_bios_get_dac_palette_width)
16493 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16494 grub_vbe_bios_getset_dac_palette_width()).
16495
16496 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16497 check for return status.
16498 (grub_vbe_get_video_mode_info): When getting information for a packed
16499 mode (<= 8 bpp), obtain DAC palette width using
16500 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16501 {red,green,blue}_mark_size.
16502
16503 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16504
16505 * commands/search.c (options): Fix help output to match actual code.
16506
16507 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16510 of homegrown code.
16511
16512 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16513
16514 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16515 on XFS or ReiserFS.
16516
16517 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Support Apple partition map with sector size different from 512 bytes.
16520
16521 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16522 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16523 and 'apart.partmap_size'.
16524
16525 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16526 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16527
16528 Fix cpuid command.
16529
16530 * commands/i386/cpuid.c (options): New variable.
16531 (grub_cmd_cpuid): Return real error.
16532 (GRUB_MOD_INIT(cpuid)): Declare options.
16533
16534 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16535
16536 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16537 valid.
16538
16539 2009-07-31 Bean <bean123ch@gmail.com>
16540
16541 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16542 log2_inode.
16543 (grub_fshelp_node): Move inode field to the end.
16544 (grub_xfs_data): Remove inode field.
16545 (grub_xfs_inode_block): Calculate inode size using sblock.
16546 (grub_xfs_inode_offset): Likewise.
16547 (grub_xfs_read_inode): Calculate inode size using sblock.
16548 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16549 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16550 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16551 to match inode size.
16552 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16553 not accessible when data is null.
16554 (grub_xfs_open): Likewise.
16555
16556 2009-07-31 Bean <bean123ch@gmail.com>
16557
16558 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16559 Don't change pv->disk if it's already set.
16560
16561 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16562 (grub_raid_register): ... here.
16563 (grub_raid_rescan): Removed.
16564
16565 * include/grub/raid.h (grub_raid_rescan): Removed.
16566
16567 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16568 (fstest): Replace grub_raid_rescan with module fini function followed
16569 by init function.
16570
16571 * util/grub-probe.c: Add include file <grub/raid.h>.
16572 (probe_raid_level): New function.
16573 (probe): Detect abstraction by walking the disk device, support two
16574 level of abstraction (LVM on RAID) when detecting partition map.
16575
16576 2009-07-31 Pavel Roskin <proski@gnu.org>
16577
16578 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16579 to grub_zalloc(), it was erroneous.
16580 Reported by Bean <bean123ch@gmail.com>
16581
16582 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16585 embedding zone, not only the first one.
16586
16587 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16588
16589 * term/gfxterm.c (clear_char): New function.
16590 (grub_virtual_screen_setup): Use clear_char.
16591 (scroll_up): Likewise.
16592 (grub_virtual_screen_cls): Likewise.
16593
16594 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16595
16596 * util/deviceiter.c (get_acceleraid_disk_name): New static
16597 function.
16598 (grub_util_iterate_devices): Handle Accelraid devices.
16599 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16600
16601 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16602
16603 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16604 separator for the suggested gfxpayload string (';' collides with the
16605 parser and needs escaping).
16606
16607 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16610 Clear direction flag before jumping to OS.
16611 (grub_multiboot2_real_boot): Likewise.
16612
16613 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16614
16615 * util/i386/pc/grub-install: Fix parsing of --disk-module
16616 option.
16617
16618 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16619
16620 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16621 when embedding.
16622
16623 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16624
16625 * util/grub-mkconfig.in (package_version): New variable.
16626 Use it do display the version.
16627
16628 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16629
16630 * kern/file.c (grub_file_open): Revert to previous check with
16631 grub_errno.
16632
16633 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16636 from help line. It's out of sync with code.
16637
16638 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16641 entries on failed boot.
16642
16643 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16644
16645 * kern/file.c (grub_file_open): Fix an error check.
16646
16647 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16650 partition map couldn't be identified.
16651
16652 2009-07-23 Pavel Roskin <proski@gnu.org>
16653
16654 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16655 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16656 case of little endian words becomes just an optimization.
16657 Respect const modifier.
16658 (md5_final): Use code that doesn't depend on endianness.
16659
16660 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16661 to avoid loss of upper bits if align is unsigned and shorter
16662 than addr.
16663
16664 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 UUID support for UFS
16667
16668 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16669 (grub_ufs_uuid): New function.
16670 (grub_ufs_fs): add .uuid
16671
16672 2009-07-21 Pavel Roskin <proski@gnu.org>
16673
16674 * kern/dl.c (grub_dl_check_header): Make static.
16675
16676 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16677
16678 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16679 add drivemap for Vista. It breaks Windows 7.
16680
16681 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16684 128 bytes
16685
16686 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 Add BFS support
16689
16690 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16691 (grub_fstest_SOURCES): Likewise.
16692 (pkglib_MODULES): Add befs.mod.
16693 (befs_mod_SOURCES): New variable.
16694 (befs_mod_CFLAGS): Likewise.
16695 (befs_mod_LDFLAGS): Likewise.
16696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16697 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16698 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16699 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16700 (grub_setup_SOURCES): Likewise.
16701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16703 (grub_setup_SOURCES): Likewise.
16704 * fs/befs.c: New file.
16705 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16706 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16707 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16708 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16709 (B_KEY_INDEX_ALIGN): New declaration.
16710 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16711 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16712 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16713 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16714 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16715 (grub_afs_mount) [MODE_BFS]: Likewise.
16716 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16717 (grub_afs_fs): Use GRUB_AFS_FSNAME
16718 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16719 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16720 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16721 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16722
16723 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16724
16725 * util/getroot.c (find_root_device): Add support for MacOSX.
16726 * util/hostdisk.c: Likewise.
16727
16728 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 * font/font.c (find_glyph): Check whether a font is present to avoid
16731 segmentation fault.
16732
16733 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16734
16735 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16736
16737 2009-07-20 Pavel Roskin <proski@gnu.org>
16738
16739 * configure.ac: Trim excessively wordy excuses.
16740
16741 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16742
16743 Add symlink, mtime and label support to AtheFS.
16744
16745 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16746 (grub_afs_iterate_dir): Handle symlinks.
16747 (grub_afs_open): Use grub_afs_read_symlink.
16748 (grub_afs_dir): Likewise.
16749 Pass mtime.
16750 (grub_afs_label): New function.
16751 (grub_afs_fs): Add grub_afs_label.
16752 (grub_afs_read_symlink): New function.
16753
16754 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 Fix AtheFS support.
16757
16758 * fs/afs.c: Fix comments style.
16759 (grub_afs_blockrun): Declare as packed.
16760 (grub_afs_datastream): Likewise.
16761 (grub_afs_bnode): Likewise.
16762 (grub_afs_btree): Likewise.
16763 (grub_afs_sblock): Likewise.
16764 Declare `name' as char.
16765 (grub_afs_inode): Declare as packed.
16766 Change void *vnode to grub_uint32_t unused.
16767 (grub_afs_iterate_dir): Check that key_size is positive.
16768 (grub_afs_mount): Don't read superblock twice.
16769 (grub_afs_dir): Don't free node in case of error,
16770 grub_fshelp_find_file already handles this.
16771 (grub_afs_open): Likewise.
16772
16773 2009-07-19 Pavel Roskin <proski@gnu.org>
16774
16775 * Makefile.in: Remove LIBLZO and enable_lzo.
16776 * conf/i386-pc.rmk: Remove lzo support.
16777 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16778 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16779 support.
16780 * kern/i386/pc/lzo1x.S: Remove.
16781 * kern/i386/pc/startup.S: Remove lzo support.
16782 * util/i386/pc/grub-mkimage.c: Likewise.
16783
16784 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16787 * fs/xfs.c (grub_xfs_dir): Likewise.
16788 * fs/afs.c (grub_afs_dir): Likewise.
16789 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16790 (grub_iso9660_open): Likewise.
16791 * fs/jfs.c (grub_jfs_open): Likewise.
16792 * fs/ext2.c (grub_ext2_dir): Likewise.
16793 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16794 * script/sh/lexer.c (grub_script_yylex): Likewise.
16795
16796 2009-07-16 Pavel Roskin <proski@gnu.org>
16797
16798 * configure.ac: Never add "-c" to CFLAGS.
16799
16800 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16801
16802 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16803 grub_cv_cc_efiemu should be used.
16804
16805 * configure.ac: Typo fixes.
16806
16807 * kern/mm.c (grub_zalloc): New function.
16808 (grub_debug_zalloc): Likewise.
16809 * include/grub/mm.h: Declare grub_zalloc() and
16810 grub_debug_zalloc().
16811 * util/misc.c (grub_zalloc): New function.
16812 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16813 instead of grub_malloc(), remove unneeded initializations.
16814 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16815 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16816 * commands/parttool.c (grub_cmd_parttool): Likewise.
16817 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16818 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16819 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16820 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16821 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16822 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16823 (grub_cmd_efiemu_pnvram): Likewise.
16824 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16825 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16826 (grub_iso9660_iterate_dir): Likewise.
16827 * fs/jfs.c (grub_jfs_opendir): Likewise.
16828 * fs/ntfs.c (list_file): Likewise.
16829 (grub_ntfs_mount): Likewise.
16830 * kern/disk.c (grub_disk_open): Likewise.
16831 * kern/dl.c (grub_dl_load_core): Likewise.
16832 * kern/elf.c (grub_elf_file): Likewise.
16833 * kern/env.c (grub_env_context_open): Likewise.
16834 (grub_env_set): Likewise.
16835 (grub_env_set_data_slot): Likewise.
16836 * kern/file.c (grub_file_open): Likewise.
16837 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16838 * loader/i386/multiboot.c (grub_module): Likewise.
16839 * loader/xnu.c (grub_xnu_create_key): Likewise.
16840 (grub_xnu_create_value): Likewise.
16841 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16842 (read_config_file): Likewise.
16843 * normal/menu_entry.c (make_screen): Likewise.
16844 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16845 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16846 * script/sh/script.c (grub_script_parse): Likewise.
16847 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16848 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16849 * video/readers/png.c (grub_png_output_byte): Likewise.
16850 (grub_video_reader_png): Likewise.
16851
16852 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 Enable all targets that can be built by default
16855
16856 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16857 grub-mkfont and grub-fstest if they can be built
16858
16859 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 Fix hang and segmentation fault in grub-emu-usb
16862
16863 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16864 * util/usb.c (grub_libusb_devices): likewise
16865 (grub_libusb_init): rename to ...
16866 (GRUB_MOD_INIT (libusb)):...this
16867 (grub_libusb_fini): rename to ..
16868 (GRUB_MOD_FINI (libusb)):...this
16869 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16870 * include/grub/disk.h (grub_raid_init): removed, it's useless
16871 (grub_raid_fini): likewise
16872 (grub_lvm_init): likewise
16873 (grub_lvm_fini): likewise
16874 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16875 by grub_init_all
16876
16877 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 Fix libusb
16880
16881 * Makefile.in (LIBUSB): new macro
16882 * genmk.rb (Utility/print_tail): new method
16883 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16884 (top level): call util.print_tail at the end.
16885
16886 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 Make FreeBSD accept zpool.cache
16889
16890 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16891 type is /boot/zfs/zpool.cache
16892
16893 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Fix 64-bit efiemu
16896
16897 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16898 correct wrong typedef
16899 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16900
16901 2009-07-15 Pavel Roskin <proski@gnu.org>
16902
16903 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16904 * kern/disk.c (struct grub_disk_cache): Likewise.
16905
16906 * commands/probe.c (options): Typo fix.
16907
16908 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16909 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16910 accordingly.
16911 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16912
16913 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16914 the end of "Error" to make the message more readable.
16915
16916 * boot/i386/pc/boot.S (kernel_segment): Remove.
16917 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16918 for destination.
16919
16920 * boot/i386/pc/boot.S (boot_version): Remove.
16921 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16922 Remove.
16923
16924 * include/grub/i386/pc/boot.h: Sort all offsets.
16925 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16926 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16927 * boot/i386/pc/boot.S: Assert location of every offset listed in
16928 include/grub/i386/pc/boot.h.
16929
16930 2009-07-13 Pavel Roskin <proski@gnu.org>
16931
16932 * include/grub/i386/coreboot/machine.h: Rename
16933 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16934 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16935 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16936
16937 * kern/dl.c: Force native word size to suppress warnings when
16938 compiling grub-emu.
16939
16940 * kern/device.c (grub_device_iterate): Change struct part_ent to
16941 hold the name, not a pointer to it. Use one grub_malloc() per
16942 partition, not two. Free partition_name if grub_malloc() fails.
16943 Set ents to NULL only before grub_partition_iterate() is called.
16944
16945 2009-07-11 Bean <bean123ch@gmail.com>
16946
16947 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16948 childname.
16949
16950 2009-07-10 Bean <bean123ch@gmail.com>
16951 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16952
16953 * kern/ieee1275/openfw.c (grub_children_iterate)
16954 (grub_devalias_iterate): Fix size evaluation for property or path
16955 strings, which was broken since r2132.
16956
16957 2009-07-07 Pavel Roskin <proski@gnu.org>
16958
16959 * commands/search.c (search_file): Merge into ...
16960 (search_fs): ... this. Accept search type as argument.
16961 (grub_cmd_search): Pass search type to search_fs().
16962
16963 * include/grub/util/console.h: New file.
16964 * util/console.c: Use it instead of grub/machine/console.h.
16965 * util/grub-emu.c: Likewise.
16966
16967 * lib/arg.c (find_long_option): Remove.
16968 (find_long): Add `len' argument, make `s' const char *.
16969 (grub_arg_parse): Parse long options in place, not in a
16970 temporary buffer.
16971
16972 2009-07-06 Pavel Roskin <proski@gnu.org>
16973
16974 * commands/search.c (search_fs): Fix potential NULL pointer
16975 dereference.
16976
16977 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16978 function pointer.
16979
16980 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16981
16982 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16983 comparison.
16984
16985 2009-07-05 Pavel Roskin <proski@gnu.org>
16986
16987 * include/grub/i386/linux.h (struct linux_kernel_params):
16988 Restore padding3, it's still needed.
16989
16990 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16991 FreeBSD.
16992 * util/osdetect.lua: Likewise.
16993
16994 2009-07-05 Bean <bean123ch@gmail.com>
16995
16996 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16997
16998 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16999 (grub_lua_getenv): Likewise.
17000 (grub_lua_setenv): Likewise.
17001 (save_errno): New function.
17002 (push_result): Likewise.
17003 (grub_lua_enum_device): Likewise.
17004 (grub_lua_enum_file): Likewise.
17005 (grub_lua_file_open): Likewise.
17006 (grub_lua_file_close): Likewise.
17007 (grub_lua_file_seek): Likewise.
17008 (grub_lua_file_read): Likewise.
17009 (grub_lua_file_getline): Likewise.
17010 (grub_lua_file_getsize): Likewise.
17011 (grub_lua_file_getpos): Likewise.
17012 (grub_lua_file_eof): Likewise.
17013 (grub_lua_file_exist): Likewise.
17014 (grub_lua_add_menu): Likewise.
17015
17016 * script/lua/grub_lua.h (isupper): New inline function.
17017 (islower): Likewise.
17018 (ispunct): Likewise.
17019 (isxdigit): Likewise.
17020 (strcspn): Change to normal function.
17021 (strpbkr): New function declaration.
17022 (memchr): Likewise.
17023
17024 * script/lua/grub_main.c (scan_str): New function.
17025 (strcspn): Likewise.
17026 (strpbrk): Likewise.
17027 (memchr): Likewise.
17028
17029 * script/lua/linit.c (lualibs): Enable the string library.
17030
17031 * util/osdetect.lua: New file.
17032
17033 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
17034
17035 * include/grub/i386/linux.h (struct linux_kernel_params): Add
17036 `capabilities' member.
17037
17038 2009-07-02 Pavel Roskin <proski@gnu.org>
17039
17040 * genparttoollist.sh: Add missing newline at the end.
17041
17042 2009-07-01 Pavel Roskin <proski@gnu.org>
17043
17044 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
17045
17046 * util/hostdisk.c (open_device): Remove `const' from
17047 `sysctl_size', as sysctlbyname() can change it (in this case it
17048 doesn't actually happen).
17049
17050 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
17051 using signed long int constants.
17052
17053 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
17054 constant to avoid a warning on FreeBSD.
17055
17056 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
17057 where it's needed.
17058
17059 * Makefile.in: Install include/grub/machine symlink.
17060
17061 * Makefile.in: When installing symlinks, use "cp -fR", which
17062 works on FreeBSD and MacOSX.
17063 From Yves Blusseau <cl7m42e02@sneakemail.com>
17064
17065 * kern/dl.c (grub_dl_resolve_symbol): Make static.
17066 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
17067
17068 * util/misc.c: Move grub_reboot() and grub_halt() ...
17069 * util/grub-emu.c: ... here. Make main_env static.
17070 * include/grub/util/misc.h: Remove main_env.
17071
17072 * kern/mm.c: Use correct format to print size_t.
17073
17074 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
17075 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
17076 * kern/powerpc/dl.c: Likewise.
17077 * kern/sparc64/dl.c: Likewise.
17078 * kern/x86_64/dl.c: Likewise.
17079
17080 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17081
17082 Fix grub-emu build on sparc64-ieee1275.
17083
17084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
17085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
17086
17087 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17088
17089 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
17090 (grub_reboot, grub_halt): New functions.
17091
17092 * util/i386/pc/misc.c: Delete. Update all users.
17093 * util/sparc64/ieee1275/misc.c: Likewise.
17094 * util/powerpc/ieee1275/misc.c: Likewise.
17095
17096 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17097
17098 * conf/i386.rmk (setjmp_mod_SOURCES)
17099 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17100 * conf/common.rmk (setjmp_mod_SOURCES)
17101 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17102 to use $(target_cpu).
17103 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17104 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17105 * conf/powerpc-ieee1275.rmk: Likewise.
17106 * conf/sparc64-ieee1275.rmk: Likewise.
17107
17108 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17109 $(target_cpu) for kern/$(target_cpu)/dl.c.
17110 * conf/i386-efi.rmk: Likewise.
17111 * conf/i386-ieee1275.rmk: Likewise.
17112 * conf/x86_64-efi.rmk: Likewise.
17113 * conf/i386-coreboot.rmk: Likewise.
17114 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17115 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17116 kern/$(target_cpu)/cache.S.
17117 * conf/sparc64-ieee1275.rmk: Likewise.
17118
17119 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17120
17121 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17122 type to `grub_uint8_t', and adjust `padding9' accordingly.
17123
17124 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17125
17126 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17127
17128 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17129 assembly in final jump, using register constraints.
17130
17131 (grub_linux_boot): For text mode, initialize `have_vga' using
17132 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17133
17134 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17135 right before the final jump.
17136
17137 Set `video_mode' to 0x3.
17138
17139 Document initialization of `video_page', `video_mode' and
17140 `video_ega_bx'.
17141
17142 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17143
17144 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17145 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
17146 and set GRUB_LINUX_FLAG_QUIET appropriately.
17147
17148 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17149
17150 Fix build on Debian / sparc.
17151
17152 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17153
17154 2009-06-28 Pavel Roskin <proski@gnu.org>
17155
17156 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17157 fix a warning.
17158
17159 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17160
17161 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17162
17163 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17164 `err'.
17165
17166 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17167
17168 Revert r2338.
17169
17170 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17171 file can't be opened. grub_file_open() is already supposed to set
17172 grub_errno / grub_errmsg appropriately.
17173 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17174
17175 2009-06-27 Pavel Roskin <proski@gnu.org>
17176 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17177
17178 * include/grub/dl.h: Include grub/elf.h.
17179 (struct grub_dl): Add symtab field.
17180 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17181 GRUB_MODULES_MACHINE_READONLY.
17182 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17183 of the header for read-only modules.
17184 (grub_dl_unload): Free mod->symtab for read-only modules.
17185 * kern/i386/dl.c: Use mod->symtab.
17186 * kern/powerpc/dl.c: Likewise.
17187 * kern/sparc64/dl.c: Likewise.
17188 * kern/x86_64/dl.c: Likewise.
17189
17190 * conf/i386-qemu.rmk: New file.
17191 * kern/i386/qemu/startup.S: Likewise.
17192 * kern/i386/qemu/mmap.c: Likewise.
17193 * boot/i386/qemu/boot.S: Likewise.
17194 * include/grub/i386/qemu/time.h: Likewise.
17195 * include/grub/i386/qemu/serial.h: Likewise.
17196 * include/grub/i386/qemu/kernel.h: Likewise.
17197 * include/grub/i386/qemu/console.h: Likewise.
17198 * include/grub/i386/qemu/boot.h: Likewise.
17199 * include/grub/i386/qemu/init.h: Likewise.
17200 * include/grub/i386/qemu/machine.h: Likewise.
17201 * include/grub/i386/qemu/loader.h: Likewise.
17202 * include/grub/i386/qemu/memory.h: Likewise.
17203
17204 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17205 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17206 [qemu] (pkglib_IMAGES): Add `boot.img'.
17207 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17208 [qemu] (boot_img_FORMAT): New variables.
17209 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17210 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17211 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17212 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17213 [qemu] (kernel_img_FORMAT): New variables.
17214
17215 * configure.ac: Recognise `i386-qemu'.
17216
17217 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17218 (for no compression).
17219 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17220 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17221 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17222 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17223 ifdefs).
17224
17225 2009-06-27 Pavel Roskin <proski@gnu.org>
17226
17227 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17228 read.
17229 * efiemu/prepare32.c: Likewise.
17230 * efiemu/prepare64.c: Likewise.
17231
17232 2009-06-26 Pavel Roskin <proski@gnu.org>
17233
17234 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17235 * include/grub/elf.h: Define symbols without "32" or "64" based
17236 on GRUB_TARGET_WORDSIZE.
17237 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17238 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17239 ELF definitions.
17240 * efiemu/loadcore64.c: Likewise.
17241 * loader/i386/bsd32.c: Likewise.
17242 * loader/i386/bsd64.c: Likewise.
17243 * kern/dl.c: Remove own ELF definitions.
17244 * util/i386/efi/grub-mkimage.c: Likewise.
17245
17246 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17247
17248 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17249 segment 0x0 unconditionally, because the reference generated by
17250 GAS is an absolute address.
17251
17252 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17253
17254 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17255 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17256
17257 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17258
17259 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17260 indexes. Check for -f explicitly.
17261 (search_file): Improve error message.
17262 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
17263
17264 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17265
17266 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17267 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17268
17269 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17270
17271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17272 * conf/i386-ieee1275.rmk: Likewise.
17273 * conf/i386-coreboot.rmk: Likewise.
17274
17275 * kern/i386/pc/startup.S (grub_stop): Remove function.
17276 * kern/i386/ieee1275/startup.S: Likewise.
17277 * kern/i386/coreboot/startup.S: Likewise.
17278 * kern/i386/misc.S (grub_stop): New function.
17279
17280 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17281
17282 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17283 * kern/i386/realmode.S (real_to_prot): ... to here.
17284
17285 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17286
17287 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17288 with `kernel.img'.
17289 (kernel_elf_SOURCES): Rename to ...
17290 (kernel_img_SOURCES): ... this.
17291 (kernel_elf_HEADERS): Rename to ...
17292 (kernel_img_HEADERS): ... this. Update all users.
17293 (kernel_elf_ASFLAGS): Rename to ...
17294 (kernel_img_ASFLAGS): ... this.
17295 (kernel_elf_CFLAGS): Rename to ...
17296 (kernel_img_CFLAGS): ... this.
17297 (kernel_elf_LDFLAGS): Rename to ...
17298 (kernel_img_LDFLAGS): ... this.
17299 * conf/i386-coreboot.rmk: Likewise.
17300 * conf/powerpc-ieee1275.rmk: Likewise.
17301
17302 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17303 with "kernel.img".
17304
17305 2009-06-21 Pavel Roskin <proski@gnu.org>
17306
17307 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17308 to match nested functions.
17309 * loader/sparc64/ieee1275/linux.c: Likewise.
17310
17311 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17312
17313 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17314
17315 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17316 all i386 platforms.
17317
17318 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17319
17320 Fix asm file handling on ELF, and remove workarounds.
17321
17322 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17323 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17324 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17325 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17326
17327 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 Load BSD ELF modules
17330
17331 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17332 and loader/i386/bsd64.c
17333 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17334 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17335 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17336 (grub_freebsd_load_elfmodule32): New declaration
17337 (grub_freebsd_load_elfmoduleobj64): Likewise
17338 (grub_freebsd_load_elf_meta32): Likewise
17339 (grub_freebsd_load_elf_meta64): Likewise
17340 (grub_freebsd_add_meta): Likewise
17341 (grub_freebsd_add_meta_module): Likewise
17342 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17343 (grub_freebsd_add_meta_module): Likewise and move module-specific
17344 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17345 (grub_cmd_freebsd): Add elf-kernel specific parts
17346 based on grub_freebsd_add_meta_module
17347 (grub_cmd_freebsd_module): Add type parsing moved from
17348 grub_freebsd_add_meta_module
17349 (grub_cmd_freebsd_module_elf): New function
17350 (cmd_freebsd_module_elf): New variable
17351 (GRUB_MOD_INIT): Register freebsd_module_elf
17352 * loader/i386/bsd32.c: New file
17353 * loader/i386/bsd64.c: Likewise
17354 * loader/i386/bsdXX.c: Likewise
17355 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17356 (grub_elf64_load): Likewise
17357 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17358 All users updated
17359 (grub_elf64_load_hook_t): Likewise
17360
17361 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17362
17363 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17364 variable.
17365 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17366 don't write a menu entry for recovery mode.
17367
17368 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17369
17370 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17371 after it's no longer needed.
17372
17373 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17374
17375 * include/grub/i386/loader.h (grub_linux_prot_size)
17376 (grub_linux_tmp_addr, grub_linux_real_addr)
17377 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17378 GRUB_MACHINE_PCBIOS.
17379 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17380 common grub_util_info() call to ...
17381 (generate_image): ... here.
17382 Fix use of uninitialized memory, comparison of signed with
17383 unsigned integers and memory leak.
17384 Remove bogus module address message.
17385
17386 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17389 grub_raid_register
17390 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17391
17392 2009-06-19 Pavel Roskin <proski@gnu.org>
17393
17394 * configure.ac: Remove stray AC_MSG_CHECKING.
17395
17396 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17399
17400 2009-06-18 Pavel Roskin <proski@gnu.org>
17401
17402 * conf/common.rmk: Add fs_file.mod.
17403 * disk/fs_file.c: New file.
17404 * include/grub/disk.h (enum grub_disk_dev_id): Add
17405 GRUB_DISK_DEVICE_FILE_ID.
17406
17407 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Fix build with Apple's toolchain. Part 2
17410
17411 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17412 a fake start
17413
17414 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 Fix build with Apple's toolchain. Part 1
17417
17418 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17419 for long calls
17420 * configure.ac: remove a leftover AC_MSG_RESULT
17421 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17422 Apple's toolchain
17423
17424 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Fix warnings
17427
17428 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17429 (decomp_block): initialize ch
17430 use grub_memcpy instead of memcpy
17431
17432 2009-06-17 Pavel Roskin <proski@gnu.org>
17433
17434 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17435 version, use declarations needed to use vga_text as the startup
17436 console.
17437
17438 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17439 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17440 the kernel.
17441 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17442 and grub_at_keyboard_fini(), it's done on module load and
17443 unload.
17444
17445 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17446
17447 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17448 file can't be found.
17449 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17450
17451 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 Fix newline handling
17454
17455 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17456 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17457 (grub_script_yylex): don't segfault on unterminated script
17458 newline terminates command and variable
17459
17460 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 avoid double grub_adjust_range call. Bug reported by David Simner
17463
17464 * kern/disk.c (grub_disk_write): change to raw disk access before
17465 calling disk_read
17466
17467 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17468
17469 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17470 spaces, for the benefit of help2man.
17471 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17472
17473 2009-06-16 Pavel Roskin <proski@gnu.org>
17474
17475 * kern/i386/halt.c: Include grub/machine/init.h.
17476 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17477
17478 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17479
17480 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17481 drivemap menuentry.
17482
17483 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17484
17485 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17486 `echo' command.
17487
17488 2009-06-16 Pavel Roskin <proski@gnu.org>
17489
17490 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17491 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17492 save %dx, we only need %dl and we never change it.
17493 * boot/i386/pc/cdboot.S: Don't set the root drive.
17494 * boot/i386/pc/pxeboot.S: Likewise.
17495 * include/grub/i386/pc/boot.h: Remove
17496 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17497 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17498 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17499 * kern/i386/pc/init.c (make_install_device): Remove references
17500 to grub_root_drive.
17501 * kern/i386/pc/startup.S: Likewise.
17502 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17503
17504 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 xnu_uuid command
17507
17508 * commands/xnu_uuid.c: new file
17509 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17510 (xnu_uuid_mod_SOURCES): new variable
17511 (xnu_uuid_mod_CFLAGS): likewise
17512 (xnu_uuid_mod_LDFLAGS): likewise
17513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17514 * conf/i386-ieee1275.rmk: likewise
17515 * conf/i386-pc.rmk: likewise
17516 * conf/powerpc-ieee1275.rmk: likewise
17517 * conf/sparc64-ieee1275.rmk: likewise
17518 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17519
17520 2009-06-16 Pavel Roskin <proski@gnu.org>
17521
17522 * configure.ac: Avoid '==' in test command, it's not portable.
17523
17524 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 Probe command
17527
17528 * commands/probe.c: new file
17529 * conf/common.rmk (pkglib_MODULES): add probe.mod
17530 (probe_mod_SOURCES): new variable
17531 (probe_mod_CFLAGS): likewise
17532 (probe_mod_LDFLAGS): likewise
17533 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17534 * conf/i386-ieee1275.rmk: likewise
17535 * conf/i386-pc.rmk: likewise
17536 * conf/powerpc-ieee1275.rmk: likewise
17537 * conf/sparc64-ieee1275.rmk: likewise
17538
17539 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 Fix handling of string like \"hello\" and "a
17542 b"
17543
17544 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17545 (grub_script_yylex): fix parsing of quoting, escaping and newline
17546
17547 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17550 handling
17551
17552 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17553
17554 * util/grub-mkconfig.in: Fix parsing of --output option.
17555
17556 2009-06-12 Pavel Roskin <proski@gnu.org>
17557
17558 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17559 genmk.rb don't need to be generated or installed.
17560
17561 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * commands/i386/pc/drivemap_int13h.S: add more comments
17564
17565 2009-06-11 Pavel Roskin <proski@gnu.org>
17566
17567 * Makefile.in (uninstall): Uninstall manuals.
17568
17569 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17570 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17571 and update-grub_lib in two places.
17572 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17573
17574 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17575 a compiler warning.
17576
17577 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17578 `entry_lo' to fix variable shadowing.
17579
17580 2009-06-11 Christian Franke <franke@computer.org>
17581
17582 * kern/misc.c (__enable_execute_stack): Add missing return type
17583 to prevent gcc warning.
17584
17585 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17586
17587 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17588
17589 2009-06-11 Pavel Roskin <proski@gnu.org>
17590
17591 * Makefile.in: Don't rely on any scripts being executable.
17592 Always use $(SHELL) to run shell scripts.
17593
17594 * configure.ac: Always define ___main if using -nostdlib. This
17595 fixes tests on Cygwin.
17596
17597 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17598
17599 UDF fix
17600
17601 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17602 is in bytes and not in blocks
17603
17604 2009-06-11 Pavel Roskin <proski@gnu.org>
17605
17606 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17607 warning.
17608
17609 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17610
17611 * util/grub.d/30_os-prober.in: Fix a comment. Source
17612 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17613 to set the root device. Place drivemap command in the generated
17614 chain entry.
17615
17616 2009-06-11 Pavel Roskin <proski@gnu.org>
17617
17618 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17619 have long been resolved.
17620
17621 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17622
17623 * util/grub.d/10_linux.in: Capitalise "Linux".
17624
17625 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17626
17627 2009-06-11 Pavel Roskin <proski@gnu.org>
17628
17629 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17630 fix a gcc warning and ensure that the function won't ever exit.
17631
17632 * kern/i386/ieee1275/init.c: Add missing prototype for
17633 grub_stop_floppy().
17634
17635 * loader/ieee1275/multiboot2.c [__i386__]: Include
17636 grub/cpu/multiboot.h.
17637
17638 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17639 casts to short - they are not portable and cause warnings. Fix
17640 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17641
17642 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 Drivemap fixes
17645
17646 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17647 new function
17648 (grub_get_root_biosnumber_saved): new variable
17649 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17650 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17651 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17652 %dx after the call if necessary
17653 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17654 (boot_mod_SOURCES): remove
17655 (boot_mod_CFLAGS): remove
17656 (boot_mod_LDFLAGS): remove
17657 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17658 (boot_mod_SOURCES): new variable
17659 (boot_mod_CFLAGS): likewise
17660 (boot_mod_LDFLAGS): likewise
17661 * conf/i386-efi.rmk: likewise
17662 * conf/i386-ieee1275.rmk: likewise
17663 * conf/i386-pc.rmk: likewise
17664 * conf/powerpc-ieee1275.rmk: likewise
17665 * conf/sparc64-ieee1275.rmk: likewise
17666 * conf/x86_64-efi.rmk: likewise
17667 * include/grub/i386/pc/biosnum.h: new file
17668 * lib/i386/pc/biosnum.c: likewise
17669 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17670 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17671 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17672
17673 2009-06-10 Pavel Roskin <proski@gnu.org>
17674
17675 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17676 Use separate variables. Read only the file size at the end, but
17677 not the checksum that we don't use.
17678
17679 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17680 Adjust all callers.
17681
17682 * kern/ieee1275/openfw.c: Remove libc includes.
17683 * kern/ieee1275/cmain.c: Likewise.
17684 * include/grub/ieee1275/ieee1275.h: Likewise.
17685
17686 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17687 compiler warnings.
17688
17689 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17690
17691 * Makefile.in: Remove all trailing whitespace.
17692 * conf/i386-pc.rmk: Likewise.
17693 * conf/powerpc-ieee1275.rmk: Likewise.
17694 * conf/sparc64-ieee1275.rmk: Likewise.
17695 * docs/grub.texi: Likewise.
17696 * docs/texinfo.tex: Likewise.
17697 * disk/fs_uuid.c: Likewise.
17698 * disk/lvm.c: Likewise.
17699 * disk/scsi.c: Likewise.
17700 * disk/ata.c: Likewise.
17701 * disk/ieee1275/ofdisk.c: Likewise.
17702 * disk/i386/pc/biosdisk.c: Likewise.
17703 * disk/host.c: Likewise.
17704 * disk/raid.c: Likewise.
17705 * disk/efi/efidisk.c: Likewise.
17706 * disk/usbms.c: Likewise.
17707 * disk/memdisk.c: Likewise.
17708 * disk/loopback.c: Likewise.
17709 * kern/powerpc/dl.c: Likewise.
17710 * kern/device.c: Likewise.
17711 * kern/dl.c: Likewise.
17712 * kern/sparc64/dl.c: Likewise.
17713 * kern/ieee1275/ieee1275.c: Likewise.
17714 * kern/term.c: Likewise.
17715 * kern/fs.c: Likewise.
17716 * kern/i386/dl.c: Likewise.
17717 * kern/i386/pc/startup.S: Likewise.
17718 * kern/i386/pc/init.c: Likewise.
17719 * kern/i386/pc/mmap.c: Likewise.
17720 * kern/i386/pc/lzo1x.S: Likewise.
17721 * kern/i386/ieee1275/init.c: Likewise.
17722 * kern/i386/realmode.S: Likewise.
17723 * kern/i386/tsc.c: Likewise.
17724 * kern/partition.c: Likewise.
17725 * kern/corecmd.c: Likewise.
17726 * kern/file.c: Likewise.
17727 * kern/efi/efi.c: Likewise.
17728 * kern/efi/init.c: Likewise.
17729 * kern/efi/mm.c: Likewise.
17730 * kern/main.c: Likewise.
17731 * kern/err.c: Likewise.
17732 * kern/env.c: Likewise.
17733 * kern/disk.c: Likewise.
17734 * kern/generic/millisleep.c: Likewise.
17735 * kern/generic/rtc_get_time_ms.c: Likewise.
17736 * kern/misc.c: Likewise.
17737 * kern/parser.c: Likewise.
17738 * genmk.rb: Likewise.
17739 * configure.ac: Likewise.
17740 * boot/i386/pc/diskboot.S: Likewise.
17741 * boot/i386/pc/pxeboot.S: Likewise.
17742 * boot/i386/pc/boot.S: Likewise.
17743 * boot/i386/pc/lnxboot.S: Likewise.
17744 * boot/i386/pc/cdboot.S: Likewise.
17745 * parttool/pcpart.c: Likewise.
17746 * video/readers/tga.c: Likewise.
17747 * video/video.c: Likewise.
17748 * video/bitmap.c: Likewise.
17749 * lib/envblk.c: Likewise.
17750 * lib/i386/setjmp.S: Likewise.
17751 * fs/xfs.c: Likewise.
17752 * fs/afs.c: Likewise.
17753 * fs/fat.c: Likewise.
17754 * fs/ntfs.c: Likewise.
17755 * fs/udf.c: Likewise.
17756 * fs/affs.c: Likewise.
17757 * fs/iso9660.c: Likewise.
17758 * fs/hfs.c: Likewise.
17759 * fs/fshelp.c: Likewise.
17760 * fs/ext2.c: Likewise.
17761 * fs/jfs.c: Likewise.
17762 * fs/reiserfs.c: Likewise.
17763 * fs/hfsplus.c: Likewise.
17764 * fs/minix.c: Likewise.
17765 * fs/cpio.c: Likewise.
17766 * fs/sfs.c: Likewise.
17767 * fs/ufs.c: Likewise.
17768 * efiemu/prepare.c: Likewise.
17769 * efiemu/loadcore_common.c: Likewise.
17770 * efiemu/runtime/efiemu.sh: Likewise.
17771 * efiemu/runtime/efiemu.S: Likewise.
17772 * efiemu/runtime/efiemu.c: Likewise.
17773 * efiemu/pnvram.c: Likewise.
17774 * efiemu/main.c: Likewise.
17775 * efiemu/i386/pc/cfgtables.c: Likewise.
17776 * efiemu/i386/loadcore64.c: Likewise.
17777 * efiemu/i386/loadcore32.c: Likewise.
17778 * efiemu/loadcore.c: Likewise.
17779 * efiemu/symbols.c: Likewise.
17780 * efiemu/mm.c: Likewise.
17781 * include/grub/autoefi.h: Likewise.
17782 * include/grub/datetime.h: Likewise.
17783 * include/grub/term.h: Likewise.
17784 * include/grub/hfs.h: Likewise.
17785 * include/grub/lvm.h: Likewise.
17786 * include/grub/i386/tsc.h: Likewise.
17787 * include/grub/i386/linux.h: Likewise.
17788 * include/grub/i386/xnu.h: Likewise.
17789 * include/grub/i386/efiemu.h: Likewise.
17790 * include/grub/i386/pc/biosdisk.h: Likewise.
17791 * include/grub/i386/pc/memory.h: Likewise.
17792 * include/grub/i386/pc/vbe.h: Likewise.
17793 * include/grub/parttool.h: Likewise.
17794 * include/grub/video.h: Likewise.
17795 * include/grub/memory.h: Likewise.
17796 * include/grub/fs.h: Likewise.
17797 * include/grub/partition.h: Likewise.
17798 * include/grub/xnu.h: Likewise.
17799 * include/grub/efi/api.h: Likewise.
17800 * include/grub/efi/pe32.h: Likewise.
17801 * include/grub/efi/memory.h: Likewise.
17802 * include/grub/multiboot.h: Likewise.
17803 * include/grub/usbdesc.h: Likewise.
17804 * include/grub/multiboot2.h: Likewise.
17805 * include/grub/acpi.h: Likewise.
17806 * include/grub/efiemu/efiemu.h: Likewise.
17807 * include/grub/disk.h: Likewise.
17808 * include/grub/ieee1275/ieee1275.h: Likewise.
17809 * include/grub/net.h: Likewise.
17810 * include/grub/machoload.h: Likewise.
17811 * include/grub/macho.h: Likewise.
17812 * include/multiboot.h: Likewise.
17813 * genmoddep.awk: Likewise.
17814 * normal/main.c: Likewise.
17815 * normal/menu_entry.c: Likewise.
17816 * normal/menu_viewer.c: Likewise.
17817 * normal/completion.c: Likewise.
17818 * normal/cmdline.c: Likewise.
17819 * normal/misc.c: Likewise.
17820 * normal/datetime.c: Likewise.
17821 * bus/usb/usbtrans.c: Likewise.
17822 * bus/usb/ohci.c: Likewise.
17823 * bus/usb/uhci.c: Likewise.
17824 * bus/usb/usb.c: Likewise.
17825 * mmap/efi/mmap.c: Likewise.
17826 * mmap/i386/pc/mmap_helper.S: Likewise.
17827 * mmap/i386/pc/mmap.c: Likewise.
17828 * mmap/i386/mmap.c: Likewise.
17829 * mmap/i386/uppermem.c: Likewise.
17830 * mmap/mmap.c: Likewise.
17831 * commands/acpi.c: Likewise.
17832 * commands/echo.c: Likewise.
17833 * commands/blocklist.c: Likewise.
17834 * commands/loadenv.c: Likewise.
17835 * commands/usbtest.c: Likewise.
17836 * commands/boot.c: Likewise.
17837 * commands/parttool.c: Likewise.
17838 * commands/search.c: Likewise.
17839 * commands/cat.c: Likewise.
17840 * commands/i386/pc/play.c: Likewise.
17841 * commands/i386/pc/drivemap.c: Likewise.
17842 * commands/i386/pc/vbeinfo.c: Likewise.
17843 * commands/i386/pc/acpi.c: Likewise.
17844 * commands/i386/pc/vbetest.c: Likewise.
17845 * commands/ls.c: Likewise.
17846 * commands/cmp.c: Likewise.
17847 * commands/test.c: Likewise.
17848 * commands/efi/acpi.c: Likewise.
17849 * commands/gptsync.c: Likewise.
17850 * commands/help.c: Likewise.
17851 * partmap/amiga.c: Likewise.
17852 * partmap/apple.c: Likewise.
17853 * partmap/acorn.c: Likewise.
17854 * partmap/pc.c: Likewise.
17855 * partmap/sun.c: Likewise.
17856 * partmap/gpt.c: Likewise.
17857 * script/sh/lexer.c: Likewise.
17858 * script/sh/function.c: Likewise.
17859 * font/font.c: Likewise.
17860 * font/font_cmd.c: Likewise.
17861 * loader/powerpc/ieee1275/linux.c: Likewise.
17862 * loader/efi/chainloader.c: Likewise.
17863 * loader/multiboot_loader.c: Likewise.
17864 * loader/macho.c: Likewise.
17865 * loader/i386/multiboot.c: Likewise.
17866 * loader/i386/linux.c: Likewise.
17867 * loader/i386/pc/linux.c: Likewise.
17868 * loader/i386/pc/multiboot2.c: Likewise.
17869 * loader/i386/pc/chainloader.c: Likewise.
17870 * loader/i386/pc/xnu.c: Likewise.
17871 * loader/i386/bsd_trampoline.S: Likewise.
17872 * loader/i386/efi/linux.c: Likewise.
17873 * loader/i386/multiboot_elfxx.c: Likewise.
17874 * loader/i386/bsd_helper.S: Likewise.
17875 * loader/i386/bsd.c: Likewise.
17876 * loader/i386/linux_trampoline.S: Likewise.
17877 * loader/i386/xnu_helper.S: Likewise.
17878 * loader/i386/xnu.c: Likewise.
17879 * loader/i386/bsd_pagetable.c: Likewise.
17880 * loader/i386/multiboot_helper.S: Likewise.
17881 * loader/xnu.c: Likewise.
17882 * loader/xnu_resume.c: Likewise.
17883 * io/gzio.c: Likewise.
17884 * term/efi/console.c: Likewise.
17885 * term/terminfo.c: Likewise.
17886 * term/ieee1275/ofconsole.c: Likewise.
17887 * term/i386/pc/serial.c: Likewise.
17888 * term/i386/pc/vesafb.c: Likewise.
17889 * term/i386/pc/vga.c: Likewise.
17890 * term/usb_keyboard.c: Likewise.
17891 * term/gfxterm.c: Likewise.
17892 * aclocal.m4: Likewise.
17893 * util/lvm.c: Likewise.
17894 * util/grub.d/30_os-prober.in: Likewise.
17895 * util/grub.d/10_hurd.in: Likewise.
17896 * util/console.c: Likewise.
17897 * util/grub-macho2img.c: Likewise.
17898 * util/grub-probe.c: Likewise.
17899 * util/hostfs.c: Likewise.
17900 * util/i386/pc/grub-mkimage.c: Likewise.
17901 * util/i386/pc/grub-setup.c: Likewise.
17902 * util/i386/efi/grub-mkimage.c: Likewise.
17903 * util/grub-mkconfig.in: Likewise.
17904 * util/raid.c: Likewise.
17905 * util/resolve.c: Likewise.
17906 * util/grub-mkdevicemap.c: Likewise.
17907 * util/grub-emu.c: Likewise.
17908 * util/getroot.c: Likewise.
17909 * util/hostdisk.c: Likewise.
17910 * util/usb.c: Likewise.
17911 * util/grub-editenv.c: Likewise.
17912 * util/misc.c: Likewise.
17913
17914 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17915
17916 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17917 `genparttoollist.sh'.
17918 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17919 Add `*.sh' to the list find searches for and change `mdate.sh'
17920 to `mdate-sh'.
17921
17922 2009-06-10 Pavel Roskin <proski@gnu.org>
17923
17924 * include/grub/multiboot2.h: Provide compatibility defines for
17925 multiboot2.h.
17926 * include/multiboot2.h: Include stdint.h only if needed, using
17927 angle brackets.
17928 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17929 grub/multiboot2.h.
17930 * loader/ieee1275/multiboot2.c: Likewise.
17931 * loader/multiboot2.c: Likewise.
17932 * loader/multiboot_loader.c: Likewise.
17933
17934 * configure.ac: Use -nostdlib when probing for the target. It
17935 should not be required to have libc for the target.
17936
17937 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17938 they fail without libc headers for the target.
17939 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17940 exports.
17941 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17942 preprocessor conditionals.
17943
17944 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17945 build system doesn't need to be aware of the tar.c internals.
17946
17947 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17948
17949 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17950
17951 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17952
17953 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17954 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17955
17956 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17957
17958 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17959 aren't available if ata.mod gets used.
17960
17961 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17962
17963 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17964 initialising controller.
17965 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17966
17967 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17968
17969 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17970 to choose between ata and biosdisk module on i386-pc.
17971
17972 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17973
17974 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17975 Subclass and Programming Interface fields in terms of the 3 byte
17976 Class Code register.
17977 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17978
17979 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17980 interface is OHCI. Add grub_dprintf for symmetry with
17981 bus/usb/uhci.c.
17982 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17983 interface is UHCI. Add interf variable for programming
17984 interface. Print interface with class/subclass.
17985
17986 * bus/usb/ohci.c: Set interf with correct field.
17987
17988 * bus/usb/uhci.c: Remove unneeded doubled lines.
17989 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17990 Remove whitespace inside comment.
17991
17992 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17993
17994 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17995 as fallback an equivalent option without depth.
17996
17997 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Not fail if unable to retrieve C/H/S on LBA disks
18000
18001 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
18002 if unable to retrieve C/H/S on LBA disks
18003
18004 2009-06-08 Pavel Roskin <proski@gnu.org>
18005
18006 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
18007 about aliasing.
18008
18009 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
18010
18011 * Makefile.in (uninstall): Remove all $lib_DATA files.
18012
18013 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 Bugfix: install on partitionless device
18016
18017 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
18018 is a whole disk
18019
18020 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
18021
18022 * Makefile.in (uninstall): Remove all $include_DATA files.
18023
18024 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
18025
18026 * commands/true.c: New file. Implement the true and false commands.
18027 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
18028 (true_mod_SOURCES): New variable.
18029 (true_mod_CFLAGS): Likewise.
18030 (true_mod_LDFLAGS): Likewise.
18031
18032 2009-06-05 Colin D Bennett <colin@gibibit.com>
18033
18034 Optimized font character lookup using binary search instead of linear
18035 search. Fonts now are required to have the character index ordered by
18036 code point.
18037
18038 * font/font.c (load_font_index): Verify that fonts have ordered
18039 character indices.
18040 (find_glyph): Use binary search instead of linear search to find a
18041 character in a font.
18042
18043 2009-06-05 Michael Scherer <misc@mandriva.org>
18044
18045 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
18046 uses case sensitive btree.
18047 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
18048 only for case insensitive filesystems.
18049
18050 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
18053 * conf/common.rmk (search_mod_CFLAGS): likewise
18054
18055 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
18058 compensate a compiler bug
18059
18060 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
18063 instead of '\b'
18064
18065 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Definitions for creating asm symbols with Apple's CC
18068
18069 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
18070 [APPLE_CC] (VARIABLE): likewise
18071
18072 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18073
18074 Disable lnxboot.img when compiled
18075 with Apple's CC
18076
18077 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
18078 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
18079 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
18080 [! APPLE_CC] (CODE_LENG): skip
18081 [! APPLE_CC] (setup_sects): likewise
18082 [! APPLE_CC]: skip filling
18083
18084 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 Address in trampolines based on 32-bit registers when compiled
18087 with Apple's CC
18088
18089 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
18090 for addresses
18091 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
18092
18093 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 Avoid aliases when compiling with Apple's CC for PCBIOS machine
18096
18097 * kern/misc.c [APPLE_CC] (memcpy): new function
18098 [APPLE_CC] (memmove): likewise
18099 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
18100 (memcpy): define alias conditionally on !APPLE_CC
18101 (memset): likewise
18102 (abort): likewise
18103 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18104 APPLE_CC are defined
18105 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18106 (grub_assert_fail): make prototype conditional
18107
18108 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18111
18112 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18113 grub-macho2img
18114 (CLEANFILES): add grub-macho2img
18115 (grub_macho2img_SOURCES): new variable
18116 * kern/i386/pc/startup.S (bss_start): new variable
18117 (bss_end): likewise
18118 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18119 * util/grub-macho2img.c: new file
18120
18121 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 Use objconv when compiling with Apple's CC
18124
18125 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18126 (efiemu64.o): likewise
18127 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18128 when compiling with Apple's CC
18129 (efiemu64_s.o): likewise
18130 * configure.ac: check for objconv when compiling with Apple's CC
18131 * genmk.rb: use objconv for modules when compiled with Apple's CC
18132
18133 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 Define segment as well as section when compiling with
18136 Apple's CC
18137
18138 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18139 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18140 (efiemu_convert_pointer): likewise
18141 (efiemu_set_virtual_address_map): likewise
18142 (efiemu_convert_pointer): likewise
18143 (efiemu_getcrc32): likewise
18144 (init_crc32_table): likewise
18145 (reflect): likewise
18146 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18147 (GRUB_MOD_DEP): likewise
18148
18149 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 Allow a compilation without -mcmodel=large
18152
18153 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18154 when compiled without -mcmodel=large
18155 (filter_memory_map): remove memory post 4 GiB when compiled
18156 without -mcmodel=large
18157 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
18158 TARGET_CFLAGS when -mcmodel=large isn't supported
18159
18160 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 Remove nested functions in efiemu core
18163
18164 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
18165
18166 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18169
18170 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18171 temporary storage
18172 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18173 using Apple's CC
18174 (grub_cpu_is_tsc_supported): likewise
18175 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
18176
18177 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 Absolute addressing through constant with Apple's cc
18180
18181 * kern/i386/pc/startup.S: Define necessary constants
18182 and address through it when using ABS with Apple's CC
18183 * boot/i386/pc/diskboot.S: likewise
18184 * boot/i386/pc/boot.S: likewise
18185 * boot/i386/pc/lnxboot.S: likewise
18186 * boot/i386/pc/cdboot.S: likewise
18187 * mmap/i386/pc/mmap_helper.S: likewise
18188 * commands/i386/pc/drivemap_int13h.S: likewise
18189
18190 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 Check if compiler is apple cc
18193
18194 * Makefile.in (ASFLAGS): new variable
18195 (TARGET_ASFLAGS): likewise
18196 (TARGET_MODULE_FORMAT): likewise
18197 (TARGET_APPLE_CC): likewise
18198 (OBJCONV): likewise
18199 (TARGET_IMG_CFLAGS): likewise
18200 (TARGET_CPPFLAGS): add includedir
18201 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18202 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18203 Check for linker script only if compiler isn't Apple's CC
18204 (TARGET_MODULE_FORMAT): set
18205 (TARGET_APPLE_CC): likewise
18206 (TARGET_ASFLAGS): likewise
18207 (ASFLAGS): likewise
18208 Check for objcopy only if compiler isn't Apple's CC
18209 Check for BSS symbol only if compiler isn't Apple's CC
18210 * genmk.rb: adapt nm options if we use Apple's utils
18211 * aclocal.m4 (grub_apple_cc): new test
18212 (grub_apple_target_cc): likewise
18213
18214 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 Simplify sed expressions and improve awk
18217
18218 * Makefile.in (install-local): simplify sed expression
18219 * gencmdlist.sh: likewise
18220 * genmoddep.awk: avoid adding module as a dependency of itself
18221
18222 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 Add missing start symbols
18225
18226 * boot/i386/pc/boot.S: add start
18227 * boot/i386/pc/pxeboot.S: likewise
18228
18229 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 Fix wrong assumptions with grub-mkimage on EFI
18232
18233 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
18234 (relocate_addresses): consider both r_addend and value at offset
18235 (make_mods_section): zerofill modinfo and header
18236 (convert_elf): write prefix here
18237
18238 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18239
18240 Use .asciz instead of .string
18241
18242 * i386/pc/diskboot.S: use .asciz instead of .string
18243 * i386/pc/boot.S: likewise
18244 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18245 (GRUB_MOD_NAME): likewise
18246
18247 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18248
18249 gfxpayload support
18250
18251 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18252 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18253 (grub_video_setup): remove
18254 (grub_video_set_mode): new prototype
18255 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18256 (vid_mode): remove
18257 (linux_vesafb_res): compile only on PCBIOS
18258 (grub_linux_boot): support gfxpayload
18259 * loader/i386/pc/xnu.c (video_hook): new function
18260 (grub_xnu_set_video): support gfxpayload
18261 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18262 (DEFAULT_VIDEO_HEIGHT): likewise
18263 (DEFAULT_VIDEO_FLAGS): likewise
18264 (DEFAULT_VIDEO_MODE): new definition
18265 (video_hook): new function
18266 (grub_gfxterm_init): use grub_video_set_mode
18267 * util/grub.d/30_os-prober.in: remove explicit modesetting before
18268 loading xnu
18269 * video/video.c (grub_video_setup): removed
18270 (grub_video_set_mode): new function based on grub_gfxterm_init and
18271 grub_video_setup
18272
18273 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 Avoid calling biosdisk in drivemap
18276
18277 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18278 (revparse_biosdisk): likewise
18279 (list_mappings): derive name from id directly
18280 (grub_cmd_drivemap): use tryparse_diskstring
18281
18282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 Script fixes
18285
18286 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18287 (grub_lexer_param): add tokenonhold
18288 (grub_script_create_cmdline): remove cmdline. All callers updated
18289 (grub_script_function_create): make functionname
18290 grub_script_arg. All callers updated
18291 (grub_script_execute_argument_to_string): new prototype
18292 * kern/parser.c (state_transitions): reorder
18293 (grub_parser_cmdline_state): fix a bug and make more compact
18294 * script/sh/execute.c (grub_script_execute_argument_to_string):
18295 make global
18296 (grub_script_execute_cmdline): use new format
18297 * script/sh/function.c (grub_script_function_create): make functionname
18298 grub_script_arg. All callers updated
18299 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18300 (grub_script_yylex): remove
18301 (grub_script_yylex2): renamed to ...
18302 (grub_script_yylex): ...renamed
18303 parse the expressions like a${b}c
18304 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18305 (GRUB_PARSER_TOKEN_VAR): remove
18306 (GRUB_PARSER_TOKEN_NAME): likewise
18307 ("if"): declare as typeless
18308 ("while"): likewise
18309 ("function"): likewise
18310 ("else"): likewise
18311 ("then"): likewise
18312 ("fi"): likewise
18313 (text): remove
18314 (argument): likewise
18315 (script): accept empty scripts and make exit on error
18316 (arguments): use GRUB_PARSER_TOKEN_ARG
18317 (function): likewise
18318 (command): move error handling to script
18319 (menuentry): move grub_script_lexer_ref before
18320 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18321 argument. All callers updated
18322
18323 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18324
18325 Prevent GRUB from probing floppies during boot.
18326
18327 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18328 * commands/search.c (options): Add --no-floppy.
18329 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18330 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18331 --no-floppy when searching for UUIDs.
18332
18333 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18334
18335 Simplify the code duplication in commands/search.c.
18336
18337 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18338 (search_fs): ... this. Update all users.
18339
18340 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18341
18342 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18343
18344 2009-05-28 Pavel Roskin <proski@gnu.org>
18345
18346 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18347 Remove the original symlink explicitly.
18348
18349 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18350 just one slash. That's how grub_fshelp_find_file() does it.
18351
18352 2009-05-26 Pavel Roskin <proski@gnu.org>
18353
18354 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18355 to `str'.
18356
18357 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18358 possibly unused.
18359
18360 2009-05-25 Christian Franke <franke@computer.org>
18361
18362 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18363 register.
18364 (grub_atapi_identify): Add wait after drive select.
18365 (grub_ata_identify): Do more strict status register check before
18366 calling grub_atapi_identify (). Suppress error message if status
18367 register is 0x00 after command failure. Add status register
18368 check after PIO read to avoid bogus identify due to stuck DRQ.
18369 Thanks to Pavel Roskin for testing.
18370 (grub_device_initialize): Remove unsafe status register check.
18371 Thanks to 'phcoder' for problem report and patch.
18372 Prevent sign extension in debug message.
18373
18374 2009-05-23 Colin D Bennett <colin@gibibit.com>
18375
18376 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18377 definition file, and functions defined in `normal/menu.c' have had
18378 their prototypes moved to `include/grub/menu.h' for consistency.
18379
18380 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18381 from normal.h.
18382 (grub_menu_get_entry): Likewise.
18383 (grub_menu_get_timeout): Likewise.
18384 (grub_menu_set_timeout): Likewise.
18385 (grub_menu_execute_entry): Likewise.
18386 (grub_menu_execute_with_fallback): Likewise.
18387 (grub_menu_entry_run): Likewise.
18388
18389 * include/grub/normal.h: Re-ordered and grouped function
18390 prototypes by file that the function is defined in.
18391 (grub_menu_execute_callback): Removed; moved to menu.h.
18392 (grub_menu_get_entry): Likewise.
18393 (grub_menu_get_timeout): Likewise.
18394 (grub_menu_set_timeout): Likewise.
18395 (grub_menu_execute_entry): Likewise.
18396 (grub_menu_execute_with_fallback): Likewise.
18397 (grub_menu_entry_run): Likewise.
18398 (grub_menu_addentry): Renamed from this ...
18399 (grub_normal_add_menu_entry): ... to this.
18400
18401 * normal/main.c (grub_menu_addentry): Renamed from this ...
18402 (grub_normal_add_menu_entry): ... to this.
18403
18404 * script/sh/execute.c (grub_script_execute_menuentry): Update
18405 reference to renamed grub_menu_addentry function.
18406
18407 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18408
18409 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18410
18411 2009-05-22 Pavel Roskin <proski@gnu.org>
18412
18413 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18414 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18415 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18416 compiling for the i386 targets, but not for the utilities.
18417
18418 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18419 to grub_uint8_t.
18420 (grub_root_drive): Likewise.
18421 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18422 remove alignment.
18423 (grub_root_drive): Change size to byte.
18424 (grub_start_addr): Remove.
18425 (grub_end_addr): Likewise.
18426 (grub_apm_bios_info): Likewise.
18427
18428 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18429
18430 * normal/i386: Remove.
18431 * normal/powerpc: Likewise.
18432 * normal/sparc64: Likewise.
18433 * normal/x86_64: Likewise.
18434
18435 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18438 * loader/i386/linux_trampoline.S: Fix indentation
18439 * loader/i386/xnu_helper.S: Likewise
18440
18441 2009-05-18 Colin D Bennett <colin@gibibit.com>
18442
18443 Display error messages when parsing a Lua statement fails.
18444 Previously, executing a syntactically invalid statement like
18445 ")foo" or "bar;" would silently fail.
18446
18447 * script/lua/grub_main.c (handle_lua_error): New function.
18448 (grub_lua_parse_line): Improved reporting of Lua parser and
18449 execution errors.
18450
18451 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18452
18453 Remove -Werror which causes build to fail on some systems
18454
18455 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18456 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18457 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18458
18459 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 trampoline for linux on 64-bit platform
18462
18463 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18464 loader/i386/efi/linux_trampoline.S
18465 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18466 declaration
18467 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18468 here
18469 * loader/i386/linux_trampoline.S: moved here
18470 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18471 trampoline
18472 (jumpvector): removed
18473 (grub_linux_trampoline_start): new declaration
18474 (grub_linux_trampoline_end): likewise
18475 (grub_linux_boot): use trampoline when on 64-bit platform
18476 * loader/i386/linux.c: likewise
18477
18478 2009-05-16 Pavel Roskin <proski@gnu.org>
18479
18480 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18481 const to avoid a warning.
18482 (grub_lua_setenv): Likewise.
18483 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18484 lmsg to fix a warning.
18485
18486 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18487
18488 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18489 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18490 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18491 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18492 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18493 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18494 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18495 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18496
18497 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18498
18499 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18500
18501 2009-05-16 Bean <bean123ch@gmail.com>
18502
18503 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18504 (lua_mod_SOURCES): New variable.
18505 (lua_mod_CFLAGS): Likewise.
18506 (lua_mod_LDFLAGS): Likewise.
18507
18508 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18509 (setjmp_mod_SOURCES): New variable.
18510 (setjmp_mod_CFLAGS): Likewise.
18511 (setjmp_LDFLAGS): Likewise.
18512
18513 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18514 (setjmp_mod_SOURCES): New variable.
18515 (setjmp_mod_CFLAGS): Likewise.
18516 (setjmp_LDFLAGS): Likewise.
18517
18518 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18519 (setjmp_mod_SOURCES): New variable.
18520 (setjmp_mod_CFLAGS): Likewise.
18521 (setjmp_LDFLAGS): Likewise.
18522
18523 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18524 (setjmp_mod_SOURCES): New variable.
18525 (setjmp_mod_CFLAGS): Likewise.
18526 (setjmp_LDFLAGS): Likewise.
18527
18528 * normal/i386/setjmp.S: Moved from here ...
18529 * lib/i386/setjmp.S: ... Moved here
18530 * normal/x86_64/setjmp.S: Moved from here ...
18531 * lib/x86_64/setjmp.S: ... Moved here
18532 * normal/powerpc/setjmp.S: Moved from here ...
18533 * lib/powerpc/setjmp.S: ... Moved here
18534 * normal/sparc64/setjmp.S: Moved from here ...
18535 * lib/sparc64/setjmp.S: ... Moved here
18536
18537 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18538 returns_twice in mingw.
18539
18540 * script/lua/grub_lib.c: New file.
18541 * script/lua/grub_lib.h: Likewise.
18542 * script/lua/grub_lua.h: Likewise.
18543 * script/lua/grub_main.c: Likewise.
18544 * script/lua/lapi.c: Likewise.
18545 * script/lua/lapi.h: Likewise.
18546 * script/lua/lauxlib.c: Likewise.
18547 * script/lua/lauxlib.h: Likewise.
18548 * script/lua/lbaselib.c: Likewise.
18549 * script/lua/lcode.c: Likewise.
18550 * script/lua/lcode.h: Likewise.
18551 * script/lua/ldblib.c: Likewise.
18552 * script/lua/ldebug.c: Likewise.
18553 * script/lua/ldebug.h: Likewise.
18554 * script/lua/ldo.c: Likewise.
18555 * script/lua/ldo.h: Likewise.
18556 * script/lua/ldump.c: Likewise.
18557 * script/lua/lfunc.c: Likewise.
18558 * script/lua/lfunc.h: Likewise.
18559 * script/lua/lgc.c: Likewise.
18560 * script/lua/lgc.h: Likewise.
18561 * script/lua/linit.c: Likewise.
18562 * script/lua/liolib.c: Likewise.
18563 * script/lua/llex.c: Likewise.
18564 * script/lua/llex.h: Likewise.
18565 * script/lua/llimits.h: Likewise.
18566 * script/lua/lmathlib.c: Likewise.
18567 * script/lua/lmem.c: Likewise.
18568 * script/lua/lmem.h: Likewise.
18569 * script/lua/loadlib.c: Likewise.
18570 * script/lua/lobject.c: Likewise.
18571 * script/lua/lobject.h: Likewise.
18572 * script/lua/lopcodes.c: Likewise.
18573 * script/lua/lopcodes.h: Likewise.
18574 * script/lua/loslib.c: Likewise.
18575 * script/lua/lparser.c: Likewise.
18576 * script/lua/lparser.h: Likewise.
18577 * script/lua/lstate.c: Likewise.
18578 * script/lua/lstate.h: Likewise.
18579 * script/lua/lstring.c: Likewise.
18580 * script/lua/lstring.h: Likewise.
18581 * script/lua/lstrlib.c: Likewise.
18582 * script/lua/ltable.c: Likewise.
18583 * script/lua/ltable.h: Likewise.
18584 * script/lua/ltablib.c: Likewise.
18585 * script/lua/ltm.c: Likewise.
18586 * script/lua/ltm.h: Likewise.
18587 * script/lua/lua.h: Likewise.
18588 * script/lua/luaconf.h: Likewise.
18589 * script/lua/lualib.h: Likewise.
18590 * script/lua/lundump.c: Likewise.
18591 * script/lua/lundump.h: Likewise.
18592 * script/lua/lvm.c: Likewise.
18593 * script/lua/lvm.h: Likewise.
18594 * script/lua/lzio.c: Likewise.
18595 * script/lua/lzio.h: Likewise.
18596
18597 2009-05-16 Bean <bean123ch@gmail.com>
18598
18599 * include/grub/kernel.h (grub_module_header_types): Add type
18600 OBJ_TYPE_CONFIG.
18601
18602 * kern/main.c (grub_load_config): New function.
18603 (grub_main): Call grub_load_config to read boot config.
18604
18605 * grub-mkimage (generate_image): New parameter config_path.
18606 (options): New option --config.
18607 (main): Parse --config option, and pass it to generate_image.
18608
18609 2009-05-14 Christian Franke <franke@computer.org>
18610
18611 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18612 This fixes build on Cygwin.
18613
18614 2009-05-14 Pavel Roskin <proski@gnu.org>
18615
18616 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18617 jump. This saves two bytes, so the typical case of 2 swapped
18618 drives would fit 32 bytes.
18619
18620 2009-05-13 Pavel Roskin <proski@gnu.org>
18621
18622 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18623 grub_uint32_t to avoid a warning.
18624
18625 * loader/i386/linux.c (allocate_pages): When assigning
18626 real_mode_mem, cast through grub_size_t to fix a warning. The
18627 code already makes sure that the value would fit a pointer.
18628 (grub_linux_setup_video): Cast render_target->data to
18629 grub_size_t to fix a warning.
18630
18631 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18632
18633 * commands/i386/pc/drivemap.c: New file - implement drivemap
18634 command.
18635 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18636 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18637
18638 2009-05-13 Pavel Roskin <proski@gnu.org>
18639
18640 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18641 embedding_area_exists.
18642
18643 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18644
18645 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18646 it easier to understand / work with.
18647 Improve warning messages for cases where there's no embedding area,
18648 or when it is too small (or core.img too large).
18649
18650 2009-05-13 Pavel Roskin <proski@gnu.org>
18651
18652 * loader/i386/pc/multiboot2.c: Add necessary includes for
18653 grub_multiboot2_real_boot().
18654
18655 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18656 PX record is always little-endian. We only need the lower 2
18657 bytes of the mode.
18658
18659 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18660 facilitate code reuse.
18661 (grub_cpio_mount): Use "struct head", not a char buffer. This
18662 fixes a warning reported by gcc 4.4.
18663
18664 * kernel/disk.c (grub_disk_read): Use void pointer for the
18665 buffer.
18666 (grub_disk_write): Use const void pointer for the buffer.
18667 Adjust all callers. Remove unnecessary casts.
18668
18669 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18670
18671 * util/i386/pc/grub-install.in: Update copyright year.
18672
18673 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18674
18675 gptsync
18676
18677 * commands/gptsync.c: new file
18678 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18679 (gptsync_mod_SOURCES): new variable
18680 (gptsync_mod_CFLAGS): likewise
18681 (gptsync_mod_LDFLAGS): likewise
18682 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18683 new definition
18684 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18686 * conf/i386-ieee1275.rmk: likewise
18687 * conf/i386-pc.rmk: likewise
18688 * conf/powerpc-ieee1275.rmk: likewise
18689
18690 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 Fixed grub-emu
18693
18694 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18695 (grub_dl_ref): likewise
18696
18697 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18698
18699 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18700 split in two functions (one for msdos and one for gpt).
18701
18702 2009-05-08 Pavel Roskin <proski@gnu.org>
18703
18704 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18705 not modified.
18706
18707 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18708 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18709 Initialize them with -1. Add sanity check for bad1. Eliminate
18710 nerr variable.
18711
18712 2009-05-08 David S. Miller <davem@davemloft.net>
18713
18714 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18715
18716 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18717
18718 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18719 existence.
18720
18721 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18722
18723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18724 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18725
18726 2009-05-05 David S. Miller <davem@davemloft.net>
18727
18728 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18729
18730 2009-05-05 Pavel Roskin <proski@gnu.org>
18731
18732 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18733 of grub_dl_ref() and grub_dl_unref().
18734 * commands/parttool.c: Remove preprocessor conditionals around
18735 grub_dl_ref() and grub_dl_unref().
18736 * fs/affs.c: Likewise.
18737 * fs/afs.c: Likewise.
18738 * fs/cpio.c: Likewise.
18739 * fs/ext2.c: Likewise.
18740 * fs/fat.c: Likewise.
18741 * fs/hfs.c: Likewise.
18742 * fs/hfsplus.c: Likewise.
18743 * fs/iso9660.c: Likewise.
18744 * fs/jfs.c: Likewise.
18745 * fs/minix.c: Likewise.
18746 * fs/ntfs.c: Likewise.
18747 * fs/reiserfs.c: Likewise.
18748 * fs/sfs.c: Likewise.
18749 * fs/udf.c: Likewise.
18750 * fs/ufs.c: Likewise.
18751 * fs/xfs.c: Likewise.
18752 * include/grub/dl.h: Likewise.
18753 * loader/xnu.c: Likewise.
18754
18755 2009-05-04 Pavel Roskin <proski@gnu.org>
18756
18757 * commands/acpi.c: Remove unused variable my_mod.
18758 * partmap/amiga.c: Likewise.
18759 * partmap/apple.c: Likewise.
18760 * partmap/gpt.c: Likewise.
18761 * partmap/pc.c: Likewise.
18762 * partmap/sun.c: Likewise.
18763 * term/gfxterm.c: Likewise.
18764 * term/i386/pc/vesafb.c: Likewise.
18765 * term/i386/pc/vga.c: Likewise.
18766
18767 2009-05-04 David S. Miller <davem@davemloft.net>
18768
18769 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18770 pointer args to grub_ieee1275_get_property().
18771
18772 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18773
18774 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18775 devices, and do not traverse down under controller nodes.
18776
18777 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18778 (grub_ofdisk_open): Use it to un-escape "," characters.
18779 * kern/disk.c (find_part_sep): New.
18780 (grub_disk_open): Use it to find the first non-escaped ','
18781 character in the disk name.
18782 * util/ieee1275/devicemap.c (escape_of_path): New.
18783 (grub_util_emit_devicemap_entry): Use it.
18784 * util/sparc64/ieee1275/grub-install.in: Update script to
18785 strip partition specifiers properly by not triggering on
18786 '\' escaped ',' characters.
18787
18788 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18789
18790 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18791 to 0x300.
18792 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18793 resolutions.
18794 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18795 on documentation from Wikipedia).
18796
18797 2009-05-04 Pavel Roskin <proski@gnu.org>
18798
18799 * disk/ata.c: Spelling fixes.
18800 * disk/raid.c: Likewise.
18801 * disk/usbms.c: Likewise.
18802 * disk/dmraid_nvidia.c: Likewise.
18803 * kern/ieee1275/openfw.c: Likewise.
18804 * kern/ieee1275/init.c: Likewise.
18805 * kern/ieee1275/cmain.c: Likewise.
18806 * boot/i386/pc/cdboot.S: Likewise.
18807 * video/readers/png.c: Likewise.
18808 * video/i386/pc/vbe.c: Likewise.
18809 * fs/udf.c: Likewise.
18810 * fs/hfs.c: Likewise.
18811 * fs/reiserfs.c: Likewise.
18812 * efiemu/runtime/efiemu.c: Likewise.
18813 * efiemu/main.c: Likewise.
18814 * efiemu/mm.c: Likewise.
18815 * include/grub/elf.h: Likewise.
18816 * include/grub/xnu.h: Likewise.
18817 * include/grub/usbdesc.h: Likewise.
18818 * include/grub/usb.h: Likewise.
18819 * include/grub/script_sh.h: Likewise.
18820 * include/grub/lib/LzmaEnc.h: Likewise.
18821 * include/grub/efiemu/efiemu.h: Likewise.
18822 * include/grub/command.h: Likewise.
18823 * normal/menu.c: Likewise.
18824 * normal/main.c: Likewise.
18825 * normal/datetime.c: Likewise.
18826 * bus/usb/uhci.c: Likewise.
18827 * mmap/i386/uppermem.c: Likewise.
18828 * mmap/mmap.c: Likewise.
18829 * commands/acpi.c: Likewise.
18830 * commands/test.c: Likewise.
18831 * partmap/apple.c: Likewise.
18832 * font/font.c: Likewise.
18833 * loader/sparc64/ieee1275/linux.c: Likewise.
18834 * loader/macho.c: Likewise.
18835 * loader/i386/bsd_trampoline.S: Likewise.
18836 * loader/i386/bsd.c: Likewise.
18837 * loader/xnu.c: Likewise.
18838 * term/i386/pc/vesafb.c: Likewise.
18839 * term/usb_keyboard.c: Likewise.
18840 * util/resolve.c: Likewise.
18841 * util/getroot.c: Likewise.
18842
18843 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18844
18845 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18846
18847 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18848
18849 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18850 build error.
18851
18852 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18853
18854 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18855 parameter only available on BIOS.
18856
18857 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 Removed wrong semicolon in declaration
18860
18861 * grub/misc.h (grub_dprintf): remove semicolon
18862
18863 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18864
18865 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18866 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18867 is done by grub_cmd_linux() now).
18868 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18869 restore video to text mode.
18870 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18871 indicates lack of "vga=" parameter. "vga=0" is mapped to
18872 `GRUB_LINUX_VID_MODE_NORMAL'.
18873
18874 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18875
18876 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18877 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18878 and `normal/script.c'. Add `kern/rescue_reader.c',
18879 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18880 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18881 `grub_script.tab.c'.
18882
18883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18884 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18886 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18888
18889 * Makefile.in: Remove duplicated 2008 in Copyright line.
18890
18891 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18892
18893 * util/misc.c (grub_util_warn): New function. Emits a warning
18894 unconditionally.
18895 * include/grub/util/misc.h (grub_util_warn): New declaration.
18896
18897 * util/i386/pc/grub-install.in: Understand --force and pass it down
18898 to grub-setup.
18899
18900 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18901 down to setup().
18902 (setup): Improve error messages and add warnings when requested to
18903 install in odd layouts. Refuse to install using blocklists unless
18904 --force was set.
18905
18906 2009-05-04 martin f. krafft <madduck@madduck.net>
18907
18908 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18909
18910 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 Updated copyright year
18913
18914 * fs/hfsplus.c: updated copyright year
18915
18916 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 HFS+ UUID
18919
18920 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18921 in the space previously used by unused3
18922 (grub_hfsplus_uuid): new function
18923 (grub_hfsplus_fs): added uuid field
18924
18925 2009-05-03 Pavel Roskin <proski@gnu.org>
18926
18927 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18928 suppress warnings. It's no longer needed.
18929 * disk/host.c: Likewise.
18930 * disk/ata_pthru.c: Likewise.
18931 * disk/loopback.c: Likewise.
18932 * hook/datehook.c: Likewise.
18933 * parttool/pcpart.c: Likewise.
18934 * fs/i386/pc/pxe.c: Likewise.
18935 * fs/ntfscomp.c: Likewise.
18936 * efiemu/main.c: Likewise.
18937 * mmap/mmap.c: Likewise.
18938 * commands/crc.c: Likewise.
18939 * commands/hexdump.c: Likewise.
18940 * commands/hdparm.c: Likewise.
18941 * commands/acpi.c: Likewise.
18942 * commands/echo.c: Likewise.
18943 * commands/minicmd.c: Likewise.
18944 * commands/blocklist.c: Likewise.
18945 * commands/memrw.c: Likewise.
18946 * commands/loadenv.c: Likewise.
18947 * commands/usbtest.c: Likewise.
18948 * commands/lsmmap.c: Likewise.
18949 * commands/boot.c: Likewise.
18950 * commands/parttool.c: Likewise.
18951 * commands/configfile.c: Likewise.
18952 * commands/search.c: Likewise.
18953 * commands/ieee1275/suspend.c: Likewise.
18954 * commands/cat.c: Likewise.
18955 * commands/i386/pc/pxecmd.c: Likewise.
18956 * commands/i386/pc/play.c: Likewise.
18957 * commands/i386/pc/halt.c: Likewise.
18958 * commands/i386/pc/vbeinfo.c: Likewise.
18959 * commands/i386/pc/vbetest.c: Likewise.
18960 * commands/lspci.c: Likewise.
18961 * commands/date.c: Likewise.
18962 * commands/handler.c: Likewise.
18963 * commands/ls.c: Likewise.
18964 * commands/test.c: Likewise.
18965 * commands/cmp.c: Likewise.
18966 * commands/efi/loadbios.c: Likewise.
18967 * commands/efi/fixvideo.c: Likewise.
18968 * commands/halt.c: Likewise.
18969 * commands/help.c: Likewise.
18970 * commands/reboot.c: Likewise.
18971 * hello/hello.c: Likewise.
18972 * script/sh/main.c: Likewise.
18973 * loader/xnu.c: Likewise.
18974 * term/terminfo.c: Likewise.
18975 * term/i386/pc/serial.c: Likewise.
18976 * term/usb_keyboard.c: Likewise.
18977
18978 2009-05-03 David S. Miller <davem@davemloft.net>
18979
18980 * normal/menu.c: Include grub/parser.h
18981
18982 2009-05-03 Pavel Roskin <proski@gnu.org>
18983
18984 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18985 not char*.
18986 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18987 Suggested by Javier Martín <lordhabbit@gmail.com>
18988
18989 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18990 efiemu??.o doesn't exist.
18991 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18992 copying.
18993
18994 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 FreeBSD 64-bit support
18997
18998 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18999 and loader/i386/bsd_trampoline.S
19000 (bsd_mod_ASFLAGS): new variable
19001 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
19002 (FREEBSD_MODTYPE_KERNEL64): likewise
19003 (grub_bsd64_trampoline_start): likewise
19004 (grub_bsd64_trampoline_end): likewise
19005 (grub_bsd64_trampoline_selfjump): likewise
19006 (grub_bsd64_trampoline_gdt): likewise
19007 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
19008 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
19009 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
19010 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
19011 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19012 of "attrib" member
19013 * loader/i386/bsd_pagetable.c: new file
19014 * loader/i386/bsd_trampoline.S: likewise
19015 * loader/i386/bsd.c (ALIGN_QWORD): new macro
19016 (ALIGN_VAR): likewise
19017 (entry_hi): new variable
19018 (kern_end_mdofs): likewise
19019 (is_64bit): likewise
19020 (grub_freebsd_add_meta): use ALIGN_VAR
19021 (grub_e820_mmap): new declaration
19022 (grub_freebsd_add_mmap): new function
19023 (grub_freebsd_add_meta_module): support 64 bit kernels
19024 (grub_freebsd_list_modules): use ALIGN_VAR
19025 (gdt_descriptor): new declaration
19026 (grub_freebsd_boot): support 64 bit kernels
19027 (grub_bsd_elf64_hook): new function
19028 (grub_bsd_load_elf): support elf64
19029
19030 2009-05-03 Bean <bean123ch@gmail.com>
19031
19032 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
19033 after we get the result of if statement.
19034
19035 2009-05-03 Bean <bean123ch@gmail.com>
19036
19037 * Makefile.in (enable_efiemu): New variable.
19038
19039 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
19040 set.
19041 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
19042 path.
19043 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
19044 path, add -mno-red-zone option.
19045 (efiemu64_s.o): Likewise.
19046 (efiemu64.o): Use macro $^ for source file.
19047
19048 * configure.ac (--enable-efiemu): New option.
19049
19050 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 xnu support
19053
19054 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
19055 (pkglib_MODULES): add xnu.mod
19056 (xnu_mod_SOURCES): new variable
19057 (xnu_mod_CFLAGS): likewise
19058 (xnu_mod_LDFLAGS): likewise
19059 (xnu_mod_ASFLAGS): likewise
19060 * conf/i386-pc.rmk: likewise
19061 * conf/x86_64-efi.rmk: likewise
19062 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
19063 new declaration
19064 * include/grub/i386/macho.h: new file
19065 * include/grub/i386/xnu.h: likewise
19066 * include/grub/macho.h: likewise
19067 * include/grub/machoload.h: likewise
19068 * include/grub/x86_64/macho.h: likewise
19069 * include/grub/x86_64/xnu.h: likewise
19070 * include/grub/xnu.h: likewise
19071 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
19072 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
19073 * loader/i386/efi/xnu.c: new file
19074 * loader/i386/pc/xnu.c: likewise
19075 * loader/i386/xnu.c: likewise
19076 * loader/i386/xnu_helper.S: likewise
19077 * loader/macho.c: likewise
19078 * loader/xnu.c: likewise
19079 * loader/xnu_resume.c: likewise
19080 * util/grub-dumpdevtree: likewise
19081 * include/grub/i386/pit.h: include grub/err.h
19082 (grub_pit_wait): export
19083 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
19084
19085 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19086
19087 Efiemu
19088
19089 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
19090 _linux_efi, linux_efi.
19091 new files in grub-emu
19092 new targets efiemu32.o and efiemu64.o
19093 * loader/linux_normal_efiemu.c: likewise
19094 * loader/i386/efi/linux.c: added preliminary efiemu support
19095 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
19096 files to copy
19097 * include/grub/autoefi.h: new file
19098 * include/grub/i386/efiemu.h: likewise
19099 * include/grub/i386/pc/efiemu.h: likewise
19100 * include/grub/efi/api.h: add LL suffix when necessary
19101 new definitions relating to tables
19102 * include/grub/efiemu/efiemu.h: new file
19103 * include/grub/efiemu/runtime.h: likewise
19104 * efiemu/prepare.c: likewise
19105 * efiemu/loadcore_common.c: likewise
19106 * efiemu/loadcore64.c: likewise
19107 * efiemu/runtime/efiemu.sh: likewise
19108 * efiemu/runtime/efiemu.S: likewise
19109 * efiemu/runtime/efiemu.c: likewise
19110 * efiemu/runtime/config.h: likewise
19111 * efiemu/prepare32.c: likewise
19112 * efiemu/main.c: likewise
19113 * efiemu/modules/pnvram.c: likewise
19114 * efiemu/modules/i386: likewise
19115 * efiemu/modules/i386/pc: likewise
19116 * efiemu/modules/acpi.c: likewise
19117 * efiemu/i386/pc/cfgtables.c: likewise
19118 * efiemu/i386/loadcore64.c: likewise
19119 * efiemu/i386/loadcore32.c: likewise
19120 * efiemu/prepare64.c: likewise
19121 * efiemu/loadcore.c: likewise
19122 * efiemu/symbols.c: likewise
19123 * efiemu/mm.c: likewise
19124 * efiemu/loadcore32.c: likewise
19125
19126 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 ACPI spoofing
19129
19130 * commands/acpi.c: new file
19131 * commands/i386/pc/acpi.c: likewise
19132 * commands/efi/acpi.c: likewise
19133 * include/grub/acpi.h: likewise
19134 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19135 (acpi_mod_SOURCES): new variable
19136 (acpi_mod_CFLAGS): likewise
19137 (acpi_mod_LDFLAGS): likewise
19138 * conf/i386-efi.rmk: likewise
19139 * conf/x86_64-efi.rmk: likewise
19140
19141 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Missing part from mmap patch
19144
19145 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19146 (grub_mmap_unregister)
19147 (grub_mmap_free_and_unregister): use grub_mmap_register
19148
19149 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Mmap services
19152
19153 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19154 * loader/i386/linux.c (find_mmap_size): likewise
19155 (allocate_pages): likewise
19156 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19157 (grub_fill_multiboot_mmap): likewise
19158 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19159 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19160 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19161 (OPENBSD_MMAP_RESERVED): likewise
19162 * include/grub/i386/pc/memory.h: include grub/memory.h
19163 (grub_lower_mem): removed
19164 (grub_upper_mem): likewise
19165 (GRUB_MACHINE_MEMORY_ACPI): new definition
19166 (GRUB_MACHINE_MEMORY_NVS): likewise
19167 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19168 (GRUB_MACHINE_MEMORY_HOLE): likewise
19169 (grub_machine_mmap_register): likewise
19170 (grub_machine_mmap_unregister): likewise
19171 (grub_machine_get_upper): likewise
19172 (grub_machine_get_lower): likewise
19173 (grub_machine_get_post64): likewise
19174 * include/grub/i386/efi/memory.h: new file
19175 * include/grub/x86_64/efi/memory.h: likewise
19176 * include/grub/efi/memory.h: likewise
19177 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19178 (mmap_mod_SOURCES): new variable
19179 (mmap_mod_LDFLAGS): likewise
19180 (mmap_mod_ASFLAGS): likewise
19181 * conf/i386-coreboot.rmk: likewise
19182 * conf/i386-ieee1275.rmk: likewise
19183 * conf/i386-efi.rmk: likewise
19184 * conf/x86_64-efi.rmk: likewise
19185 * include/grub/types.h (UINT_TO_PTR): new macro
19186 (PTR_TO_UINT32): likewise
19187 (PTR_TO_UINT64): likewise
19188 * include/grub/memory.h: new file
19189 * mmap/i386/pc/mmap.c: likewise
19190 * mmap/i386/pc/mmap_helper.S: likewise
19191 * mmap/i386/uppermem.c: likewise
19192 * mmap/mmap.c: likewise
19193 * mmap/efi/mmap.c: likewise
19194 * kern/i386/coreboot/init.c (grub_machine_init): don't use
19195 grub_upper_mem
19196 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19197 (grub_upper_mem): likewise
19198 (grub_machine_init): don't use grub_upper_mem,
19199 make grub_lower_mem local
19200 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19201 grub_mmap_iterate and grub_mmap_get_upper
19202 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19203
19204 2009-05-02 Bean <bean123ch@gmail.com>
19205
19206 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19207 script/sh/parser.y.
19208 (pkglib_MODULES): Add normal.mod and sh.mod.
19209 (normal_SOURCES): New variable.
19210 (normal_mod_CFLAGS): Likewise.
19211 (normal_mod_LDFLAGS): Likewise.
19212 (sh_mod_SOURCES): Likewise.
19213 (sh_mod_CFLAGS): Likewise.
19214 (sh_mod_LDFLAGS): Likewise.
19215
19216 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19217 script/sh/lexer.c_DEPENDENCIES.
19218 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19219 kern/rescue_reader.c and kern/rescue_parser.c.
19220 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19221 (grub_emu_SOURCES): Change source files.
19222 (pkglib_MODULES): Remove normal.mod.
19223 (normal_SOURCES): Removed.
19224 (normal_mod_CFLAGS): Likewise.
19225 (normal_mod_LDFLAGS): Likewise.
19226 * conf/i386-coreboot.rmk: Likewise.
19227 * conf/i386-efi.rmk: Likewise.
19228 * conf/i386-ieee1276.rmk: Likewise.
19229 * conf/powerpc-ieee1275.rmk: Likewise.
19230 * conf/sparc64-ieee1275.rmk: Likewise.
19231 * conf/x86_64-efi.rmk: Likewise.
19232
19233 * include/grub/command.h (grub_command_execute): New inline function.
19234
19235 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19236
19237 * include/grub/normal.h: Remove <grub/setjmp.h>.
19238 (grub_fs_module_list): Moved to normal/autofs.c.
19239 (grub_exit_env): Removed.
19240 (grub_command_execute): Likewise.
19241 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19242 parameter script.
19243 (read_command_list): New function declaration.
19244 (read_fs_list): Likewise.
19245
19246 * include/parser.h: Include <grub/reader.h>.
19247 (grub_parser_split_cmdline): Change type of getline parameter.
19248 (grub_parser): New structure.
19249 (grub_parser_class): New variable.
19250 (grub_parser_execute): New function declaration.
19251 (grub_register_rescue_parser): Likewise.
19252 (grub_parser_register): New inline function.
19253 (grub_parser_unregister): Likewise.
19254 (grub_parser_get_current): Likewise.
19255 (grub_parser_set_current): Likewise.
19256
19257 * include/grub/reader.h: New file.
19258 * kern/reader.c: Likewise.
19259 * kern/rescue_parser.c: Likewise.
19260 * kern/rescue_reader.c: Likewise.
19261 * normal/autofs.c: Likewise.
19262 * normal/dyncmd.c: Likewise.
19263
19264 * include/grub/rescue.h: Removed.
19265 * normal/command.h: Likewise.
19266
19267 * include/grub/script.h: Moved to ...
19268 * include/grub/script_sh.h: ... Moved here.
19269 * normal/execute.c: Moved to ...
19270 * script/sh/execute.c: ... Moved here.
19271 * normal/function.c: Moved to ...
19272 * script/sh/function.c: ... Moved here.
19273 * normal/lexer.c: Moved to ...
19274 * script/sh/lexer.c: ... Moved here.
19275 * normal/parser.y: Moved to ...
19276 * script/sh/parser.y: ... Moved here.
19277 * normal/script.c: Moved to ...
19278 * script/sh/script.c: ... Moved here.
19279
19280 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19281 <grub/reader.h>.
19282 (grub_exit_env): Removed.
19283 (fs_module_list): Moved to normal/autofs.c.
19284 (grub_file_getline): Don't handle comment here.
19285 (free_menu): Skip removed field entry->commands.
19286 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19287 script parameter.
19288 (read_config_file): Removed nested parameter, change getline function.
19289 (grub_enter_normal_mode): Removed.
19290 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19291 (read_command_list): Likewise.
19292 (autoload_fs_module): Moved to normal/autofs.c.
19293 (read_fs_list): Likewise.
19294 (reader_nested): New variable.
19295 (grub_normal_execute): Run parser.sh to switch to sh parser.
19296 (grub_cmd_rescue): Removed.
19297 (cmd_normal): Removed.
19298 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19299 rescue command.
19300 (grub_cmdline_run): New function.
19301 (grub_normal_reader_init): Likewise.
19302 (grub_normal_read_line): Likewise.
19303 (grub_env_write_pager): Likewise.
19304 (cmdline): New variable.
19305 (grub_normal_reader): Likewise.
19306 (GRUB_MOD_INIT): Register normal reader and set as current, register
19307 pager hook, register normal command with grub_register_command_prio,
19308 so that it won't show up in command.lst.
19309 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19310 grub_fs_autoload_hook.
19311
19312 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19313 (grub_menu_execute_entry): Replace grub_script_execute with
19314 grub_parser_execute, change parameter to grub_command_execute.
19315
19316 * normal/menu_text.c: Remove <grub/script.h>.
19317
19318 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19319 and <grub/parser.h>.
19320 (run): Change editor_getline to use new parser interface. Change
19321 parameter to grub_command_execute.
19322
19323 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19324 <grub/reader.h> and <grub/parser.h>.
19325 (grub_load_normal_mode): Execute normal command.
19326 (grub_main): Call grub_register_core_commands,
19327 grub_register_rescue_parser and grub_register_rescue_reader, use
19328 grub_reader_loop to enter input loop.
19329
19330 * kern/parser.c (grub_parser_split_cmdline): Change type of
19331 getline parameter.
19332 (grub_parser_class): New variable.
19333 (grub_parser_execute): New function.
19334
19335 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19336 * loader/multiboot2.c: Likewise.
19337 * loader/sparc64/ieee1275/linux.c: Likewise.
19338
19339 * util/grub-emu.c (read_command_list): New dummy function.
19340
19341 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19342
19343 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19344 count to 16 for CCISS and IDA.
19345
19346 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19347
19348 * normal/menu_text.c (grub_wait_after_message): Print a newline
19349 after waiting for user input.
19350
19351 * loader/i386/linux.c: Include `<grub/normal.h>'.
19352 (grub_cmd_linux): Improve the error message about `ask' mode, by
19353 waiting for user input so it's not missed (we can do this, since
19354 user requested interaction).
19355
19356 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 Added missing lst to grub-mkrescue
19359
19360 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19361 and ${input_dir}/parttool.lst
19362
19363 2009-04-30 David S. Miller <davem@davemloft.net>
19364
19365 * util/hostdisk.c (device_is_wholedisk): New function.
19366 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19367 zero only if device_is_wholedisk() returns true.
19368
19369 * util/hostdisk.c (convert_system_partition_to_system_disk):
19370 Handle virtual disk devices named /dev/vdiskX as found on sparc
19371 and powerpc.
19372
19373 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19374 lettered partition specifier is found, convert to numbered.
19375
19376 2009-04-29 David S. Miller <davem@davemloft.net>
19377
19378 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19379 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19380
19381 * normal/command.c: Add missing newline at end of file.
19382
19383 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19384 warnings.
19385 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19386 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19387 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19388 ihandles have a 32-bit type but need to be stored in a "void *".
19389
19390 2009-04-28 Pavel Roskin <proski@gnu.org>
19391
19392 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19393 not disk. Adjust all dependencies.
19394 (grub_fs_uuid_close): Use grub_device_close(), not
19395 grub_disk_close().
19396
19397 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19398 parent's partition, don't copy it by reference, as it gets freed
19399 on close.
19400
19401 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 Preboot hooks support
19404
19405 * commands/boot.c (struct grub_preboot_t): new declaration
19406 (preboots_head): new variable
19407 (preboots_tail): likewise
19408 (grub_loader_register_preboot_hook): new function
19409 (grub_loader_unregister_preboot_hook): likewise
19410 (grub_loader_set): launch preboot hooks
19411 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19412 (grub_loader_register_preboot_hook): new declaration
19413 (grub_loader_unregister_preboot_hook): likewise
19414
19415 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 Warning fix
19418
19419 * disk/scsi.c (grub_scsi_open): added missing cast when
19420 calling grub_dprintf
19421
19422 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 Bug and warning fixes
19425
19426 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19427 declaration
19428 * commands/test.c (test_parse): fixed bug with file tests and corrected
19429 declaration of find_file
19430
19431 2009-04-26 Pavel Roskin <proski@gnu.org>
19432
19433 * Makefile.in: Don't install empty manual pages if help2man is
19434 missing. Use help2man option for output, not shell redirection.
19435
19436 2009-04-26 David S. Miller <davem@davemloft.net>
19437
19438 * util/grub-mkdevicemap.c (make_device_map): Add missing
19439 NESTED_FUNC_ATTR to process_device().
19440
19441 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 Test command
19444
19445 * commands/test.c: rewritten to use bash-like test
19446
19447 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 Parttool autoloading and improvements
19450
19451 * Makefile.in (pkglib_DATA): add parttool.lst
19452 (parttool.lst): new target
19453 * genmk.rb: generate parttool-*
19454 (CLEANFILES): add #{parttool}
19455 (PARTTOOLFILES): new variable
19456 * genparttoollist.sh: new file
19457 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19458 (grub_pcpart_type): likewise
19459 * commands/parttool.c (helpmsg): new variable
19460 (grub_cmd_parttool): output help if not enough arguments are supplied
19461 autoload modules
19462 (GRUB_MOD_INIT(parttool)): use helpmsg
19463
19464 2009-04-24 David S. Miller <davem@davemloft.net>
19465
19466 Avoiding opening same device multiple times in device iterator.
19467
19468 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19469 and use it to build a list of partitions in iterate_disk() and
19470 iterate_partition().
19471
19472 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19473 on disk->data.
19474
19475 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19476 grub_devalias_iterate() result instead of unconditional 0.
19477 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19478 Also, capture hook return value, either directly or via
19479 grub_children_iterate(), and propagate to caller.
19480 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19481 grub_children_iterate): Return value is now 'int' instead of
19482 'grub_err_t'.
19483 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19484 like a proper iterator, stopping when hooks return non-zero.
19485 (grub_devalias_iterate): Likewise.
19486
19487 2009-04-23 David S. Miller <davem@davemloft.net>
19488
19489 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19490
19491 2009-04-22 David S. Miller <davem@davemloft.net>
19492
19493 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19494 is larger than address_cells, use that value for address_cells too.
19495
19496 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19497 IEEE1275_MAX_PATH_LEN): Define.
19498 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19499 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19500 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19501 'devtype'. Explicitly NULL terminate devalias expansion.
19502
19503 * util/sparc64/ieee1275/misc.c: New file.
19504 * util/sparc64/ieee1275/grub-setup.c: New file.
19505 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19506 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19507 * util/sparc64/ieee1275/grub-install.in: New file.
19508 * util/ieee1275/ofpath.c: New file.
19509 * util/ieee1275/devicemap.c: New file.
19510 * util/devicemap.c: New file.
19511 * util/deviceiter.c: New file.
19512 * kern/sparc64/ieee1275/init.c: New file.
19513 * include/grub/util/ofpath.h: New file.
19514 * include/grub/util/deviceiter.h: New file.
19515 * util/grub-mkdevicemap.c: Include deviceiter.h.
19516 Implement using grub_util_emit_devicemap_entry and
19517 grub_util_iterate_devices.
19518 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19519 util/devicemap.c into grub-mkdevicemap
19520 * conf/i386-efi.rmk: Likewise.
19521 * conf/i386-ieee1275.rmk: Likewise.
19522 * conf/i386-pc.rmk: Likewise.
19523 * conf/powerpc-ieee1275.rmk: Likewise.
19524 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19525 images and installation utilities. Build kernel as image
19526 instead of as elf binary. Use common rules as much as possible.
19527
19528 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 Correct GPT definition
19531
19532 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19533 of "attrib" member
19534
19535 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19536
19537 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19538
19539 2009-04-19 David S. Miller <davem@davemloft.net>
19540
19541 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19542 (grub_rescue_cmd_linux): Rename to...
19543 (grub_cmd_linux): and fix prototype.
19544 (grub_rescue_cmd_initrd): Rename to...
19545 (grub_cmd_initrd): and fix prototype.
19546 (cmd_linux, cmd_initrd): New.
19547 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19548 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19549
19550 2009-04-17 Pavel Roskin <proski@gnu.org>
19551
19552 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19553 format.
19554 (grub_ohci_transfer): Likewise.
19555
19556 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19557
19558 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19559 return without a value. Fix inconsistent indentation.
19560
19561 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19562 match struct grub_fs.
19563
19564 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19565 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19566 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19567 * commands/lspci.c (grub_lspci_iter): Likewise.
19568
19569 2009-04-16 Bean <bean123ch@gmail.com>
19570
19571 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19572 value.
19573
19574 2009-04-15 Pavel Roskin <proski@gnu.org>
19575
19576 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19577 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19578 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19579 definitions.
19580
19581 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19582
19583 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19584 that no multiple data or metadata areas are supported and `Unknown
19585 metadata header'.
19586
19587 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19588
19589 Move loader out of the kernel
19590
19591 * kern/loader.c: moved to ...
19592 * commands/boot.c: ... moved here
19593 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19594 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19595 * include/grub/kernel.h (grub_machine_fini): export
19596 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19597 (grub_loader_set): likewise
19598 (grub_loader_unset): likewise
19599 (grub_loader_boot): likewise
19600 * conf/common.rmk: new module boot.mod
19601 (pkglib_MODULES): add boot.mod
19602 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19603 (grub_emu_SOURCES): likewise
19604 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19605 (grub_emu_SOURCES): likewise
19606 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19607 (grub_emu_SOURCES): likewise
19608 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19609 (grub_emu_SOURCES): likewise
19610 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19611 (grub_emu_SOURCES): likewise
19612 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19613 (grub_emu_SOURCES): likewise
19614 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19615 (grub_emu_SOURCES): likewise
19616
19617 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19620
19621 * kern/misc.c (grub_itoa): Removed function
19622 (grub_ltoa): likewise
19623 (grub_vsprintf): use grub_lltoa
19624
19625 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19626
19627 Restore grub-emu
19628
19629 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19630 * conf/i386-coreboot.rmk: likewise
19631 * conf/i386-ieee1275.rmk: likewise
19632 * conf/powerpc-ieee1275.rmk: likewise
19633
19634 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19635
19636 * INSTALL: Add that `./autogen.sh' needs to be run before
19637 `./configure.'.
19638
19639 2009-04-14 Bean <bean123ch@gmail.com>
19640
19641 * Makefile.in (pkglib_DATA): Add handler.lst.
19642 (handler.lst): New rule.
19643
19644 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19645 * conf/i386-coreboot.rmk: Likewise.
19646 * conf/i386-ieee1275.rmk: Likewise.
19647 * conf/i386-efi.rmk: Likewise.
19648 * conf/x86_64-efi.rmk: Likewise.
19649 * conf/powerpc-ieee1275.rmk: Likewise.
19650 * conf/sparc64-ieee1275.rmk: Likewise.
19651
19652 * genhandlerlist.sh: New file.
19653
19654 * genmk.rb: Add rules to generate handler.lst.
19655
19656 * include/grub/normal.h (grub_file_getline): New function definition.
19657 (read_handler_list): Likewise.
19658 (free_handler_list): Likewise.
19659
19660 * include/grub/term.h (grub_term_register_input): Add name parameter
19661 for auto generation of handler.lst.
19662 (grub_term_register_output): Likewise.
19663
19664 * normal/handler.c: New file.
19665
19666 * normal/main.c (get_line): Renamed to grub_file_getline.
19667 (read_config_file): Use the newly renamed grub_file_getline.
19668 (read_command_list): Likewise.
19669 (read_fs_list): Likewise.
19670 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19671 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19672
19673 * term/efi/console.c (grub_console_init): Add name parameter for auto
19674 generation of handler.lst.
19675 * term/gfxterm.c: Likewise.
19676 * term/i386/pc/at_keyboard.c: Likewise.
19677 * term/i386/pc/console.c: Likewise.
19678 * term/i386/pc/serial.c: Likewise.
19679 * term/i386/pc/vesafb.c: Likewise.
19680 * term/i386/pc/vga.c: Likewise.
19681 * term/i386/pc/vga_text.c: Likewise.
19682 * term/ieee1275/ofconsole.c: Likewise.
19683 * term/usb_keyboard.c: Likewise.
19684
19685 2009-04-14 Bean <bean123ch@gmail.com>
19686
19687 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19688 properly with null character.
19689
19690 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19691
19692 * configure: Remove.
19693 * config.h.in: Likewise.
19694 * stamp-h.in: Likewise.
19695 * DISTLIST: Likewise.
19696 * conf/common.mk: Likewise.
19697 * conf/i386-coreboot.mk: Likewise.
19698 * conf/i386-efi.mk: Likewise.
19699 * conf/i386-ieee1275.mk: Likewise.
19700 * conf/i386.mk: Likewise.
19701 * conf/i386-pc.mk: Likewise.
19702 * conf/powerpc-ieee1275.mk: Likewise.
19703 * conf/sparc64-ieee1275.mk: Likewise.
19704 * conf/x86_64-efi.mk: Likewise.
19705
19706 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19707 develop on GRUB.
19708
19709 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19710 David S. Miller <davem@davemloft.net>
19711
19712 * util/hostdisk.c (make_device_name): Fix buffer length
19713 calculations.
19714
19715 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19716
19717 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19718 <sys/param.h> and <sys/sysctl.h>.
19719 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19720 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19721 opening the device and reset them afterwards.
19722
19723 2009-04-13 Pavel Roskin <proski@gnu.org>
19724
19725 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19726 Reported by John Stanley <jpsinthemix@verizon.net>
19727
19728 2009-04-13 Robert Millan <rmh@aybabtu.com>
19729
19730 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19731 that name for menuentries when appropriate.
19732
19733 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19734
19735 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19736
19737 2009-04-13 Robert Millan <rmh@aybabtu.com>
19738
19739 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19740 to Linux, simply abort telling the user it's no longer supported.
19741
19742 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19743
19744 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19745 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19746 `freebsd_loadenv' only when devices.hints exist.
19747
19748 2009-04-13 Pavel Roskin <proski@gnu.org>
19749
19750 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19751
19752 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19753
19754 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19755 partition number.
19756 (grub_drive): Likewise.
19757
19758 2009-04-13 David S. Miller <davem@davemloft.net>
19759
19760 * kern/sparc64/ieee1275/ieee1275.c: New file.
19761 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19762 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19763 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19764 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19765 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19766 grub_ieee1275_alloc_physmem): Declare new exported functions.
19767
19768 * include/grub/sparc64/ieee1275/loader.h: New file.
19769 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19770 * include/grub/sparc64/kernel.h: Likewise.
19771 * loader/sparc64/ieee1275/linux.c: Likewise.
19772
19773 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19774 (grub_fstest_SOURCES): Likewise.
19775
19776 * util/hostdisk.c (make_device_name): Do not make any assumptions
19777 about the length of drive names.
19778
19779 * kern/dl.c (grub_dl_load_file): Close file immediately when
19780 we are done using it.
19781
19782 2009-04-12 David S. Miller <davem@davemloft.net>
19783
19784 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19785 values. Noticed by Pavel Roskin.
19786
19787 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19788 target compiler.
19789
19790 * genmk.rb: Add more flexible image type specification, also
19791 pass --strip-unneeded to objcopy.
19792 * conf/i386-pc.rmk: Use *_FORMAT.
19793 * conf/i386-pc.mk: Rebuilt.
19794
19795 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19796 (OFDISK_HASH_SZ): Define.
19797 (ofdisk_hash): New hash table.
19798 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19799 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19800 instead of device phandle which is not unique.
19801
19802 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19803 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19804 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19805 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19806 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19807 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19808 GRUB_KERNEL_MACHINE_DATA_END): Define.
19809 (grub_kernel_image_size, grub_total_module_size): Declare.
19810
19811 2009-04-12 Pavel Roskin <proski@gnu.org>
19812
19813 * configure.ac: Change the logic when we check for target tools.
19814 Do it when the target is specified and it's different from the
19815 specified value of the host.
19816
19817 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19818
19819 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19820 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19821 GNU/kFreeBSD. Check if a device is a character device. Use
19822 DIOCGMEDIASIZE to get the size.
19823 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19824 support for GNU/kFreeBSD.
19825 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19826 is a character device instead of a block device. Add support for
19827 FreeBSD device names.
19828
19829 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19830 is a character device instead of a block device.
19831
19832 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19833 is a character device instead of a block device.
19834
19835 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19836
19837 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19838 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19839 FreeBSD. Check if a device is a character device. Use
19840 DIOCGMEDIASIZE to get the size.
19841 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19842 support for FreeBSD.
19843 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19844 is a character device instead of a block device. Add support for
19845 FreeBSD device names.
19846
19847 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19848 a character device instead of a block device.
19849 (grub_util_check_char_device): New function.
19850
19851 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19852 a character device instead of a block device.
19853
19854 * include/grub/util/getroot.h (grub_util_check_char_device): New
19855 prototype.
19856
19857 2009-04-11 David S. Miller <davem@davemloft.net>
19858
19859 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19860 static libgcc.
19861 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19862 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19863 function, if present.
19864 (__bswapdi2): Likewise.
19865
19866 * include/grub/sparc64/ieee1275/boot.h: New file.
19867 * boot/sparc64/ieee1275/boot.S: Likewise.
19868 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19869
19870 * kern/misc.c (grub_ltoa): New function.
19871 (grub_vsprintf): Use it to format 'long' integers.
19872
19873 2009-04-10 David S. Miller <davem@davemloft.net>
19874
19875 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19876 slots are of type grub_ieee1275_cell_t.
19877 (grub_nand_read): Likewise.
19878 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19879 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19880 macros are used to compare values in arg/ret block of the call.
19881 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19882 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19883 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19884 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19885 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19886 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19887 grub_ieee1275_close, grub_ieee1275_set_property,
19888 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19889 grub_ieee1275_cell_t.
19890 * kern/ieee1275/openfw.c (grub_map): Likewise.
19891 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19892 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19893
19894 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19895 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19896 (grub_devalias_iterate): Likewise.
19897
19898 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 UFS improvements
19901
19902 * fs/ufs.c (INODE_NBLOCKS): new definition
19903 (struct grub_ufs_dirent): added fields for non-BSD dirents
19904 (grub_ufs_get_file_block): fixed double indirect handling
19905 (grub_ufs_lookup_symlink): use more robust way to determine whether
19906 symlink is inline
19907 (grub_ufs_find_file): support for non-BSD dirents
19908 (grub_ufs_dir): support for non-BSD dirents
19909
19910 2009-04-10 Bean <bean123ch@gnail.com>
19911
19912 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19913 attribute, otherwise the size would be wrong for i386 platform.
19914
19915 * include/grub/pci.h (grub_pci_read_word): New inline function.
19916 (grub_pci_read_byte): Likewise.
19917 (grub_pci_write): Likewise.
19918 (grub_pci_write_word): Likewise.
19919 (grub_pci_write_byte): Likewise.
19920
19921 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19922
19923 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19924 (find_framebuf): Scan pci to locate the frame buffer address.
19925
19926 * commands/efi/fixvideo.c: New file.
19927
19928 * commands/efi/loadbios.c: Likewise.
19929
19930 * commands/memrw.c: Likewise.
19931
19932 * util/grub-dumpbios.in: Likewise.
19933
19934 * conf/common.rmk (grub-dumpbios): New utility.
19935 (pkglib_MODULES): New module memrw.mod.
19936 (memrw_mod_SOURCE): New macro.
19937 (memrw_mod_CFLAGS): Likewise.
19938 (memrw_mod_LDFLAGS): Likewise.
19939
19940 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19941 fixvideo.mod.
19942 (loadbios_mod_SOURCE): New macro.
19943 (loadbios_mod_CFLAGS): Likewise.
19944 (loadbios_mod_LDFLAGS): Likewise.
19945 (fixvideo_mod_SOURCE): Likewise.
19946 (fixvideo_mod_CFLAGS): Likewise.
19947 (fixvideo_mod_LDFLAGS): Likewise.
19948
19949 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19950 fixvideo.mod.
19951 (loadbios_mod_SOURCE): New macro.
19952 (loadbios_mod_CFLAGS): Likewise.
19953 (loadbios_mod_LDFLAGS): Likewise.
19954 (fixvideo_mod_SOURCE): Likewise.
19955 (fixvideo_mod_CFLAGS): Likewise.
19956 (fixvideo_mod_LDFLAGS): Likewise.
19957
19958 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19959
19960 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19961
19962 2009-04-07 David S. Miller <davem@davemloft.net>
19963
19964 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19965 support for R_SPARC_OLO10 relocations. Fix compile warning for
19966 R_SPARC_WDISP30 case.
19967 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19968
19969 2009-04-06 Pavel Roskin <proski@gnu.org>
19970
19971 * include/grub/misc.h (ARRAY_SIZE): New macro.
19972 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19973 New macro.
19974 * loader/i386/linux.c (allocate_pages): Use free_pages().
19975 (grub_linux_unload): Don't use free_pages().
19976 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19977 wrong index. Treat all other modes as text modes.
19978 (grub_cmd_linux): Initialize vid_mode unconditionally to
19979 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19980
19981 * commands/help.c (print_command_help): Use cmd->prio, not
19982 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19983
19984 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 Parttool
19987
19988 * parttool/pcpart.c: new file
19989 * commands/parttool.c: likewise
19990 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19991 (parttool_mod_SOURCES): new variable
19992 (parttool_mod_CFLAGS): likewise
19993 (parttool_mod_LDFLAGS): likewise
19994 (pcpart_mod_SOURCES): likewise
19995 (pcpart_mod_CFLAGS): likewise
19996 (pcpart_mod_LDFLAGS): likewise
19997 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19998 and parttool/pcpart.c
19999 * conf/i386-efi.rmk: likewise
20000 * conf/i386-ieee1275.rmk: likewise
20001 * conf/i386-pc.rmk: likewise
20002 * conf/powerpc-ieee1275.rmk: likewise
20003 * conf/sparc64-ieee1275.rmk: likewise
20004 * conf/x86_64-ieee1275.rmk: likewise
20005
20006 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 Support for mtime and further expandability of dir command
20009
20010 * include/grub/lib/datetime.h: moved to ...
20011 * include/grub/datetime.h: ... moved here and added
20012 declaration of grub_unixtime2datetime. All users updated
20013 * include/grub/fs.h: new syntax for dir and mtime functions in
20014 struct grub_fs
20015 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
20016 and GRUB_FSHELP_FLAGS_MASK
20017 * commands/ls.c (grub_ls_list_files): Write mtime in long format
20018 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
20019 (grub_ext2_mtime): new function
20020 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
20021 (grub_hfsplus_mtime): new function
20022 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
20023 (GRUB_UFS_ATTR_FILE): likewise
20024 (GRUB_UFS_ATTR_LNK): likewise
20025 (struct grub_ufs_sblock): new fields mtime
20026 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
20027 all users updated
20028 (grub_ufs_dir): mtime support
20029 (grub_ufs_mtime): new function
20030 * fs/affs.c (grub_affs_dir): use new dir syntax
20031 * fs/afs.c (grub_afs_dir): likewise
20032 * fs/cpio.c (grub_cpio_dir): likewise
20033 * fs/fat.c (grub_fat_find_dir): likewise
20034 * fs/hfs.c (grub_hfs_dir): likewise
20035 * fs/iso9660.c (grub_iso9660_dir): likewise
20036 * fs/jfs.c (grub_jfs_dir): likewise
20037 * fs/minix.c (grub_minix_dir): likewise
20038 * fs/ntfs.c (grub_ntfs_dir): likewise
20039 * fs/reiserfs.c (grub_reiserfs_dir): likewise
20040 * fs/sfs.c (grub_sfs_dir): likewise
20041 * fs/xfs.c (grub_xfs_dir): likewise
20042 * util/hostfs.c (grub_hostfs_dir): likewise
20043 * lib/datetime.c: moved to ...
20044 * normal/datetime.c: ... moved here
20045 (grub_unixtime2datetime): new function
20046 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
20047 * normal/completion.c (iterate_dir): use new dir syntax
20048 * normal/misc.c (grub_normal_print_device_info): tell the
20049 last modification time of a volume
20050 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
20051 * conf/common.rmk: added lib/datetime.c to ls.mod
20052 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
20053 (normal_mod_SOURCES): likewise
20054 (datetime_mod_SOURCES): Removed lib/datetime.c
20055 * conf/i386-efi.rmk: likewise
20056 * conf/i386-ieee1275.rmk: likewise
20057 * conf/i386-pc.rmk: likewise
20058 * conf/powerpc-ieee1275.rmk: likewise
20059 * conf/sparc64-ieee1275.rmk: likewise
20060 * conf/x86_64-efi.rmk: likewise
20061
20062 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 Trim trailing spaces in FAT label and support mtools-like labels
20065
20066 * fs/fat.c (grub_fat_iterate_dir): New function based
20067 on grub_fat_find_dir
20068 (grub_fat_find_dir): use grub_fat_iterate_dir
20069 (grub_fat_label): likewise
20070
20071 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
20074 and command.h
20075 remove extraneous kernel_elf_HEADERS
20076
20077 2009-04-04 Bean <bean123ch@gnail.com>
20078
20079 * include/grub/util/misc.h: Add dummy function fsync for mingw.
20080
20081 * util/misc.c: Likewise.
20082
20083 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20084
20085 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
20086 instead of grub_printf.
20087
20088 2009-04-03 Robert Millan <rmh@aybabtu.com>
20089
20090 * loader/i386/linux.c (grub_linux_setup_video): Fill
20091 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
20092 values from `mode info' structure instead of hardcoded
20093 values.
20094
20095 2009-04-01 Pavel Roskin <proski@gnu.org>
20096
20097 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
20098 unused now.
20099 * genmk.rb: Likewise.
20100 * configure.ac: Likewise.
20101
20102 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20103
20104 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20105 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20106
20107 2009-04-01 David S. Miller <davem@davemloft.net>
20108
20109 * normal/sparc64/setjmp.S: Fix setjmp implementation.
20110 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
20111 (grub_setjmp): Mark with 'returns_twice' attribute.
20112 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20113 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20114 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20115
20116 2009-04-01 Robert Millan <rmh@aybabtu.com>
20117
20118 Reapply fix from 2008-07-28 which was accidentally reverted; also
20119 perform the same fix to a similar check in same function.
20120
20121 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20122 with the same number are found, just use issue a warning with
20123 grub_dprintf(), as this error has been reported to be non-fatal.
20124
20125 2009-03-31 Pavel Roskin <proski@gnu.org>
20126
20127 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20128 for cross-compilation.
20129
20130 2009-03-30 Robert Millan <rmh@aybabtu.com>
20131
20132 Fix i386-ieee1275 build.
20133
20134 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20135 Remove declaration.
20136
20137 2009-03-30 Pavel Roskin <proski@gnu.org>
20138
20139 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20140 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20141 zero-terminated, rely only on the strlen value. Fix comparison
20142 of strings differing in length.
20143
20144 2009-03-30 Robert Millan <rmh@aybabtu.com>
20145
20146 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20147 checking for abi version. Improve error messages on BIOS to notify
20148 user about `linux16' command.
20149
20150 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 Leak fixes
20153
20154 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20155 in case of collision
20156 * disk/scsi.c (grub_scsi_open): free scsi in case of error
20157
20158 2009-03-29 Robert Millan <rmh@aybabtu.com>
20159
20160 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20161 set `vid_mode' accordingly.
20162 (grub_linux_boot): Process `vid_mode' and set video mode.
20163
20164 2009-03-29 Robert Millan <rmh@aybabtu.com>
20165
20166 * util/grub.d/10_linux.in (linux_entry): New function.
20167 Factorize generation of Linux boot entries.
20168
20169 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20170
20171 Make the format of Environment Block plain text. The boot loader
20172 part is not tested well yet.
20173
20174 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20175 (buffer): Removed.
20176 (envblk): Likewise.
20177 (usage): Remove "info" and "clear". Add "unset". Update the
20178 description of "set", as this does not delete variables any
20179 longer.
20180 (create_envblk_file): Complete rewrite.
20181 (open_envblk_file): Likewise.
20182 (cmd_info): Removed.
20183 (cmd_list): Likewise.
20184 (cmd_set): Likewise.
20185 (cmd_clear): Likewise.
20186 (list_variables): New function.
20187 (write_envblk): Likewise.
20188 (set_variables): Likewise.
20189 (unset_variables): Likewise.
20190 (main): Complete rewrite.
20191
20192 * commands/loadenv.c (buffer): Removed.
20193 (envblk): Likewise.
20194 (open_envblk_file): New function.
20195 (read_envblk_file): Complete rewrite.
20196 (grub_cmd_load_env): Likewise.
20197 (grub_cmd_list_env): Likewise.
20198 (struct blocklist): New struct.
20199 (free_blocklists): New function.
20200 (check_blocklists): Likewise.
20201 (write_blocklists): Likewise.
20202 (grub_cmd_save_env): Complete rewrite.
20203
20204 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20205 a plain text signature.
20206 (GRUB_ENVBLK_MAXLEN): Removed.
20207 (struct grub_envblk): Complete rewrite.
20208 (grub_envblk_find): Removed.
20209 (grub_envblk_insert): Likewise.
20210 (grub_envblk_open): New prototype.
20211 (grub_envblk_set): Likewise.
20212 (grub_envblk_delete): Put const to VALUE.
20213 (grub_envblk_iterate): Put const to NAME and VALUE.
20214 (grub_envblk_close): New prototype.
20215 (grub_envblk_buffer): New inline function.
20216 (grub_envblk_size): Likewise.
20217
20218 * lib/envblk.c: Include grub/mm.h.
20219 (grub_env_find): Removed.
20220 (grub_envblk_open): New function.
20221 (grub_envblk_close): Likewise.
20222 (escaped_value_len): Likewise.
20223 (find_next_line): Likewise.
20224 (grub_envblk_insert): Removed.
20225 (grub_envblk_set): New function.
20226 (grub_envblk_delete): Complete rewrite.
20227 (grub_envblk_iterate): Likewise.
20228
20229 2009-03-28 Robert Millan <rmh@aybabtu.com>
20230
20231 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20232 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20233 variables. Use 16-bit loader.
20234 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20235 loader.
20236 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20237 (grub_linux16_boot): ... this. Update all users.
20238 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20239 (grub_linux_boot): ... this. Update all users.
20240
20241 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20242 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20243 commands to `linux16' and `initrd16'.
20244 (GRUB_MOD_FINI(linux)): Rename to ...
20245 (GRUB_MOD_FINI(linux16)): ... this.
20246
20247 2009-03-24 Pavel Roskin <proski@gnu.org>
20248
20249 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20250 not just for compilation.
20251
20252 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 Move multiboot helper out of kernel
20255
20256 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20257 `loader/i386/multiboot_helper.S'.
20258 * conf/i386-coreboot.rmk: Likewise
20259 * conf/i386-ieee1275.rmk: Likewise
20260
20261 * kern/i386/loader.S: Move multiboot helpers from here...
20262 * loader/i386/multiboot_helper.S: ...moved here
20263 * include/grub/i386/loader.h: Move declarations of multiboot
20264 helpers from here...
20265 * include/grub/i386/multiboot.h: ...moved here
20266 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20267
20268 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20269
20270 * kern/env.c (grub_env_context_open): Added an argument to specify
20271 whether a new context inherits exported variables from current
20272 one. This is useful when making a sandbox to interpret a config
20273 file.
20274 All callers updated.
20275
20276 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20277
20278 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20279
20280 * kern/env.c (grub_env_context_close): Fix memory leaks.
20281
20282 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20283
20284 * normal/main.c (grub_normal_execute): Added an argument
20285 BATCH to specify if an interactive interface should be provided
20286 after reading a config file.
20287 All callers updated.
20288 (read_command_list): Prevent being executed twice.
20289 (read_fs_list): Likewise.
20290
20291 * include/grub/normal.h (grub_normal_execute): Updated the
20292 prototype.
20293
20294 2009-03-22 Pavel Roskin <proski@gno.org>
20295
20296 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20297 _start.
20298 * kern/i386/pc/startup.S: Likewise.
20299 * kern/i386/efi/startup.S: Likewise.
20300 * kern/i386/ieee1275/startup.S: Likewise.
20301 * kern/i386/coreboot/startup.S: Likewise.
20302 * kern/x86_64/efi/startup.S: Likewise.
20303
20304 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20305 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20306 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20307
20308 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20311
20312 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20313 limit detection.
20314 Use vaddr of correct segment for entry_point.
20315
20316 2009-03-21 Bean <bean123ch@gmail.com>
20317
20318 * commands/blocklist.c: Add include file <grub/command.h>, remove
20319 <grub/normal.h> and <grub/arg.h>.
20320 (grub_cmd_blocklist): Use the new command interface.
20321 (GRUB_MOD_INIT): Likewise.
20322 (GRUB_MOD_FINI): Likewise.
20323 * commands/boot.c: Likewise.
20324 * commands/cat.c: Likewise.
20325 * commands/cmp.c: Likewise.
20326 * commands/configfile.c: Likewise.
20327 * commands/crc.c: Likewise.
20328 * commands/echo.c: Likewise.
20329 * commands/halt.c: Likewise.
20330 * commands/handler.c: Likewise.
20331 * commands/hdparm.c: Likewise.
20332 * commands/help.c: Likewise.
20333 * commands/hexdump.c: Likewise.
20334 * commands/loadenv.c: Likewise.
20335 * commands/ls.c: Likewise.
20336 * commands/lsmmap.c: Likewise.
20337 * commands/lspci.c: Likewise.
20338 * commands/loadenv.c: Likewise.
20339 * commands/read.c: Likewise.
20340 * commands/reboot.c: Likewise.
20341 * commands/search.c: Likewise.
20342 * commands/sleep.c: Likewise.
20343 * commands/test.c: Likewise.
20344 * commands/usbtest.c: Likewise.
20345 * commands/videotest.c: Likewise.
20346 * commands/i386/cpuid.c: Likewise.
20347 * commands/i386/pc/halt.c: Likewise.
20348 * commands/i386/pc/play.c: Likewise.
20349 * commands/i386/pc/pxecmd.c: Likewise.
20350 * commands/i386/pc/vbeinfo.c: Likewise.
20351 * commands/i386/pc/vbetest.c: Likewise.
20352 * commands/ieee1275/suspend.c: Likewise.
20353 * disk/loopback.c: Likewise.
20354 * font/font_cmd.c: Likewise.
20355 * hello/hello.c: Likewise.
20356 * loader/efi/appleloader.c: Likewise.
20357 * loader/efi/chainloader.c: Likewise.
20358 * loader/i386/bsd.c: Likewise.
20359 * loader/i386/efi/linux.c: Likewise.
20360 * loader/i386/ieee1275/linux.c: Likewise.
20361 * loader/i386/linux.c: Likewise.
20362 * loader/i386/pc/chainloader.c: Likewise.
20363 * loader/i386/pc/linux.c: Likewise.
20364 * loader/powerpc/ieee1275/linux.c: Likewise.
20365 * loader/multiboot_loader.c: Likewise.
20366 * term/gfxterm.c: Likewise.
20367 * term/i386/pc/serial.c: Likewise.
20368 * term/terminfo.c: Likewise.
20369
20370 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20371 * term/i386/pc/vga.c: Likewise.
20372 * video/readers/jpeg.c: Likewise.
20373 * video/readers/png.c: Likewise.
20374 * video/readers/tga.c: Likewise.
20375
20376 * util/grub-fstest (cmd_loopback): Removed.
20377 (cmd_blocklist): Likewise.
20378 (cmd_ls): Likewise.
20379 (grub_register_command): Likewise.
20380 (grub_unregister_command): Likewise.
20381 (execute_command): Use grub_command_find to locate command and execute
20382 it.
20383
20384 * include/grub/efi/chainloader.h: Removed.
20385 * loader/efi/chainloader_normal.c: Likewise.
20386 * loader/i386/bsd_normal.c: Likewise.
20387 * loader/i386/pc/chainloader_normal.c: Likewise.
20388 * loader/i386/pc/multiboot_normal.c: Likewise.
20389 * loader/linux_normal.c: Likewise.
20390 * loader/multiboot_loader_normal.c: Likewise.
20391 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20392
20393 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20394 and grub_register_command_p1.
20395
20396 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20397 kern/command.c, lib/arg.c and commands/extcmd.c.
20398 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20399 (minicmd_mod_SOURCES): New variable.
20400 (minicmd_mod_CFLAGS): Likewise.
20401 (minicmd_mod_LDFLAGS): Likewise.
20402 (extcmd_mod_SOURCES): Likewise.
20403 (extcmd_mod_CFLAGS): Likewise.
20404 (extcmd_mod_LDFLAGS): Likewise.
20405 (boot_mod_SOURCES): Removed.
20406 (boot_mod_CFLAGS): Likewise.
20407 (boot_mod_LDFLAGS): Likewise.
20408
20409 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20410 kern/corecmd.c.
20411 (kernel_img_HEADERS): Add command.h.
20412 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20413 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20414 and lib/arg.c.
20415 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20416 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20417 remove the corresponding normal mode command.
20418 (normal_mod_SOURCES): Remove normal/arg.c.
20419 * conf/i386-coreboot.rmk: Likewise.
20420 * conf/i386-efi.rmk: Likewise.
20421 * conf/i386-ieee1275.rmk: Likewise.
20422 * conf/powerpc-ieee1275.rmk: Likewise.
20423 * conf/x86_64-efi.rmk: Likewise.
20424
20425 * include/grub/arg.h: Move from here ...
20426 * include/grub/lib/arg.h: ... to here.
20427
20428 * normal/arg.c: Move from here ...
20429 * lib/arg.c: ... to here.
20430
20431 * commands/extcmd.c: New file.
20432 * commands/minicmd.c: Likewise.
20433 * include/grub/command.h: Likewise.
20434 * include/grub/extcmd.h: Likewise.
20435 * kern/command.c: Likewise.
20436 * kern/corecmd.c: Likewise.
20437
20438 * kern/list.c (grub_list_iterate): Return int instead of void.
20439 (grub_list_insert): New function.
20440 (grub_prio_list_insert): Likewise.
20441
20442 * kern/rescue.c (grub_rescue_command): Removed.
20443 (grub_rescue_command_list): Likewise.
20444 (grub_rescue_register_command): Likewise.
20445 (grub_rescue_unregister_command): Likewise.
20446 (grub_rescue_cmd_boot): Move to minicmd.c
20447 (grub_rescue_cmd_help): Likewise.
20448 (grub_rescue_cmd_info): Likewise.
20449 (grub_rescue_cmd_boot): Likewise.
20450 (grub_rescue_cmd_testload): Likewise.
20451 (grub_rescue_cmd_dump): Likewise.
20452 (grub_rescue_cmd_rmmod): Likewise.
20453 (grub_rescue_cmd_lsmod): Likewise.
20454 (grub_rescue_cmd_exit): Likewise.
20455 (grub_rescue_print_devices): Moved to corecmd.c.
20456 (grub_rescue_print_files): Likewise.
20457 (grub_rescue_cmd_ls): Likewise.
20458 (grub_rescue_cmd_insmod): Likewise.
20459 (grub_rescue_cmd_set): Likewise.
20460 (grub_rescue_cmd_unset): Likewise.
20461 (attempt_normal_mode): Use grub_command_find to get normal module.
20462 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20463 commands, remove grub_rescue_register_command calls.
20464
20465 * normal/command.c (grub_register_command): Removed.
20466 (grub_unregister_command): Likewise.
20467 (grub_command_find): Likewise.
20468 (grub_iterate_commands): Likewise.
20469 (rescue_command): Likewise.
20470 (export_command): Moved to corecmd.c.
20471 (set_command): Removed.
20472 (unset_command): Likewise.
20473 (insmod_command): Likewise.
20474 (rmmod_command): Likewise.
20475 (lsmod_command): Likewise.
20476 (grub_command_init): Likewise.
20477
20478 * normal/completion.c (iterate_command): Use cmd->prio to check for
20479 active command.
20480 (complete_arguments): Use grub_extcmd_t structure to find options.
20481 (grub_normal_do_completion): Change function grub_iterate_commands to
20482 grub_command_iterate.
20483
20484 * normal/execute.c (grub_script_execute_cmd): No need to parse
20485 argument here.
20486
20487 * normal/main.c (grub_dyncmd_dispatcher): New function.
20488 (read_command_list): Register unload commands as dyncmd.
20489 (grub_cmd_normal): Use new command interface, register rescue,
20490 unregister normal at entry, register normal, unregister rescue at exit.
20491
20492 * include/grub/list.h (grub_list_test_t): New type.
20493 (grub_list_iterate): Return int instead of void.
20494 (grub_list_insert): New function.
20495 (GRUB_AS_NAMED_LIST_P): New macro.
20496 (GRUB_AS_PRIO_LIST): Likewise.
20497 (GRUB_AS_PRIO_LIST_P): Likewise.
20498 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20499 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20500 (grub_prio_list): New structure.
20501 (grub_prio_list_insert): New function.
20502 (grub_prio_list_remove): New inline function.
20503
20504 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20505 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20506 (GRUB_COMMAND_FLAG_MENU): Likewise.
20507 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20508 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20509 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20510 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20511 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20512 (grub_command): Likewise.
20513 (grub_register_command): Likewise.
20514 (grub_command_find): Likewise.
20515 (grub_iterate_commands): Likewise.
20516 (grub_command_init): Likewise.
20517 (grub_arg_parse): Likewise.
20518 (grub_arg_show_help): Likewise.
20519
20520 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20521 (grub_rescue_unregister_command): Likewise.
20522
20523 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20524 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20525 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20526
20527 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20528 grub_rescue_cmd_initrd.
20529 * include/grub/i386/loader.h: Likewise.
20530 * include/grub/x86_64/loader.h: Likewise.
20531
20532 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20533
20534 2009-03-21 Bean <bean123ch@gmail.com>
20535
20536 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20537 instead of stat in mingw environment.
20538
20539 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20540
20541 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20542
20543 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20544 AC_CONFIG_LINKS.
20545
20546 2009-03-21 Bean <bean123ch@gmail.com>
20547
20548 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20549 out of range error.
20550
20551 2009-03-18 Michel Dänzer <michel@daenzer.net>
20552
20553 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20554 checking inode flags for EXT4_EXTENTS_FLAG.
20555
20556 2009-03-18 Robert Millan <rmh@aybabtu.com>
20557
20558 * loader/i386/linux.c: Include `<grub/video.h>' and
20559 `<grub/i386/pc/vbe.h>'..
20560 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20561 (grub_linux32_boot): Attempt to configure video settings with
20562 grub_linux_setup_video().
20563 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20564 to avoid grub_console_fini() which would step out of graphical mode
20565 unconditionally.
20566
20567 2009-03-14 Robert Millan <rmh@aybabtu.com>
20568
20569 Fix build on powerpc.
20570 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20571
20572 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20575 background image command.
20576
20577 2009-03-12 Colin D Bennett <colin@gibibit.com>
20578
20579 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20580 (grub_gfxterm_putchar): Extract pairs of identical calls to
20581 draw_cursor out of conditional blocks.
20582
20583 2009-03-11 Pavel Roskin <proski@gnu.org>
20584
20585 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20586 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20587
20588 2009-03-11 Robert Millan <rmh@aybabtu.com>
20589
20590 * loader/i386/multiboot_elfxx.c
20591 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20592
20593 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20594
20595 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20596 `kern/handler.c'.
20597
20598 2009-03-11 Robert Millan <rmh@aybabtu.com>
20599
20600 * loader/i386/multiboot.c (code_size): New variable.
20601 (grub_multiboot): Define offsets by adding to `code_size' rather
20602 than subtracting from `grub_multiboot_payload_size'. Provide
20603 4-byte alignment to MBI and others by increasing
20604 `boot_loader_name_length' appropriately.
20605
20606 * loader/i386/multiboot_elfxx.c
20607 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20608
20609 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20610
20611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20612 `fs/ext2.c'.
20613
20614 2009-03-08 Robert Millan <rmh@aybabtu.com>
20615
20616 Make loader/i386/linux.c usable on i386-pc again.
20617
20618 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20619 memory to heap.
20620 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20621 `#error' stanza.
20622
20623 2009-03-07 Bean <bean123ch@gmail.com>
20624
20625 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20626 allocation.
20627
20628 2009-03-06 Robert Millan <rmh@aybabtu.com>
20629
20630 Fix display issue on terminals with screen size other than 80x25
20631 (e.g. gfxterm with resolution higher than 640x480).
20632
20633 * normal/main.c (grub_normal_init_page): Display title text in a
20634 position relative to the center of the terminal instead of relying
20635 on a hardcoded offset.
20636
20637 2009-03-04 Robert Millan <rmh@aybabtu.com>
20638
20639 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20640 installed.
20641
20642 * Makefile.in (host_kernel): New variable.
20643 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20644 scripts instead of just the windows one.
20645 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20646
20647 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20648
20649 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20650 `kern/handler.c'.
20651 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20652 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20655 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20656 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20657
20658 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20659
20660 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20661 or if there's no space for the disk label and print the partition number on a
20662 invalid magic.
20663
20664 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20665
20666 * util/misc.c: Include <time.h>.
20667 (grub_millisleep): New function.
20668
20669 2009-03-04 Bean <bean123ch@gmail.com>
20670
20671 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20672 another option -mno-red-zone.
20673
20674 * commands/handler.c: Change module description.
20675
20676 * kern/handler.c: Add missing space at the end of description line.
20677
20678 * kern/list.c: Likewise.
20679
20680 2009-03-03 Robert Millan <rmh@aybabtu.com>
20681
20682 Move more components to the relocation area, and fix mbi pointer
20683 handling to use the destination rather than the origin (thanks to
20684 Vladimir Serbinenko for spotting).
20685
20686 * loader/i386/multiboot.c (mbi_dest): New variable.
20687 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20688 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20689 relocation area.
20690
20691 2009-03-01 Bean <bean123ch@gmail.com>
20692
20693 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20694 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20695 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20696 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20697
20698 * loader/i386/efi/linux.c (acpi_guid): New variable.
20699 (acpi_guid): Likewise.
20700 (EBDA_SEG_ADDR): New constant.
20701 (LOW_MEM_ADDR): Likewise.
20702 (FAKE_EBDA_SEG): Likewise.
20703 (fake_bios_data): New function.
20704 (grub_linux_boot): Call fake_bios_data.
20705
20706 2009-03-01 Bean <bean123ch@gmail.com>
20707
20708 * commands/terminal.c: Removed.
20709
20710 * commands/handler.c: New file.
20711
20712 * include/grub/list.h: Likewise.
20713
20714 * include/grub/handler.h: Likewise.
20715
20716 * kern/list.c: Likewise.
20717
20718 * kern/handler.c: Likewise.
20719
20720 * kern/term.h: Include header file <grub/handler.h>.
20721 (grub_term_input): Move next field to the beginning.
20722 (grub_term_output): Likewise.
20723 (grub_term_input_class): New variable.
20724 (grub_term_output_class): Likewise.
20725 (grub_term_register_input): Changed to inline function.
20726 (grub_term_register_output): Likewise.
20727 (grub_term_unregister_input): Likewise.
20728 (grub_term_unregister_output): Likewise.
20729 (grub_term_set_current_input): Likewise.
20730 (grub_term_set_current_output): Likewise.
20731 (grub_term_get_current_input): Likewise.
20732 (grub_term_get_current_output): Likewise.
20733 (grub_term_iterate_input): Removed.
20734 (grub_term_iterate_output): Likewise.
20735
20736 * kern/term.c (grub_term_list_input): Removed.
20737 (grub_term_list_output): Likewise.
20738 (grub_term_input_class): New variable.
20739 (grub_term_output_class): Likewise.
20740 (grub_cur_term_input): Change variable as macro.
20741 (grub_cur_term_output): Likewise.
20742 (grub_term_register_input): Removed.
20743 (grub_term_register_output): Likewise.
20744 (grub_term_unregister_input): Likewise.
20745 (grub_term_unregister_output): Likewise.
20746 (grub_term_set_current_input): Likewise.
20747 (grub_term_set_current_output): Likewise.
20748 (grub_term_iterate_input): Likewise.
20749 (grub_term_iterate_output): Likewise.
20750 (grub_term_get_current_input): Likewise.
20751 (grub_term_get_current_output): Likewise.
20752
20753 * util/grub-editenv.c: Include header file <grub/handler.h>.
20754 (grub_term_get_current_input): Removed.
20755 (grub_term_get_current_output): Likewise.
20756 (grub_term_input_class): New variable.
20757 (grub_term_output_class): Likewise.
20758
20759 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20760 (grub_term_get_current_output): Likewise.
20761 (grub_term_input_class): New variable.
20762 (grub_term_output_class): Likewise.
20763
20764 * util/grub-probe.c (grub_term_get_current_input): Removed.
20765 (grub_term_get_current_output): Likewise.
20766 (grub_term_input_class): New variable.
20767 (grub_term_output_class): Likewise.
20768
20769 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20770 (grub_term_get_current_output): Likewise.
20771 (grub_term_input_class): New variable.
20772 (grub_term_output_class): Likewise.
20773
20774 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20775 (terminal_mod_SOURCES): Likewise.
20776 (terminal_mod_CFLAGS): Likewise.
20777 (terminal_mod_LDFLAGS): Likewise.
20778
20779 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20780 handler.c.
20781 (kernel_img_SOURCES): Add list.c and handler.c.
20782 (kernel_img_HEADERS): Add list.h and handler.h.
20783
20784 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20785 handler.c.
20786 (kernel_mod_SOURCES): Add list.c and handler.c.
20787 (kernel_mod_HEADERS): Add list.h and handler.h.
20788
20789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20790 handler.c.
20791 (kernel_elf_SOURCES): Add list.c and handler.c.
20792 (kernel_elf_HEADERS): Add list.h and handler.h.
20793
20794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20795 handler.c.
20796 (kernel_elf_SOURCES): Add list.c and handler.c.
20797 (kernel_elf_HEADERS): Add list.h and handler.h.
20798
20799 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20800 handler.c.
20801 (kernel_mod_SOURCES): Add list.c and handler.c.
20802 (kernel_mod_HEADERS): Add list.h and handler.h.
20803
20804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20805 handler.c.
20806 (kernel_elf_SOURCES): Add list.c and handler.c.
20807 (kernel_elf_HEADERS): Add list.h and handler.h.
20808
20809 2009-02-27 Robert Millan <rmh@aybabtu.com>
20810
20811 Factorize elf32 / elf64 code in Multiboot loader. This will
20812 prevent it from getting out of sync again.
20813
20814 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20815 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20816 grub_multiboot_load_elf64): Move from here ...
20817 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20818 grub_multiboot_load_elf): ... to here (new file).
20819
20820 2009-02-27 Robert Millan <rmh@aybabtu.com>
20821
20822 * util/grub.d/10_linux.in: Rename "single-user mode" to
20823 "recovery mode".
20824
20825 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 Don't leak in SCSI code.
20828 * disk/scsi.c (grub_scsi_close): free `scsi'.
20829
20830 2009-02-27 Robert Millan <rmh@aybabtu.com>
20831
20832 * loader/i386/pc/multiboot.c: Move from here ...
20833 * loader/i386/multiboot.c: ... to here. Update all users.
20834
20835 2009-02-27 Robert Millan <rmh@aybabtu.com>
20836
20837 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20838 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20839
20840 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20841
20842 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20843 b-tree.
20844
20845 2009-02-27 Robert Millan <rmh@aybabtu.com>
20846
20847 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20848 `0x' qualifier as 0 when base is specified as parameter).
20849
20850 2009-02-24 Bean <bean123ch@gmail.com>
20851
20852 * configure.ac: Check for -mcmodel=large in x86_64 target.
20853
20854 * include/grub/efi/api.h (efi_call_10): New macro.
20855 (efi_wrap_10): New function.
20856
20857 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20858 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20859 (GRUB_PE32_REL_BASED_LOW): Likewise.
20860 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20861 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20862 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20863 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20864 (GRUB_PE32_REL_BASED_REL): Likewise.
20865 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20866 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20867 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20868
20869 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20870 issue.
20871
20872 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20873 (efi_wrap_10): New function.
20874
20875 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20876
20877 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20878 MB/MBP model (NV chipset).
20879 (devdata_devs): Add devpath_5 to the list.
20880
20881 * load/i386/efi/linux.c (video_base): Remove variable.
20882 (RGB_MASK): New macro.
20883 (RGB_MAGIC): Likewise.
20884 (LINE_MIN): Likewise.
20885 (LINE_MAX): Likewise.
20886 (FBTEST_STEP): Likewise.
20887 (FBTEST_COUNT): Likewise.
20888 (fb_list): New variable.
20889 (grub_find_video_card): Remove function.
20890 (find_framebuf): New function.
20891 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20892 line length.
20893
20894 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20895 problem for x86_64.
20896
20897 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20898
20899 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20900
20901 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20902 coding tool name.
20903
20904 2009-02-22 Robert Millan <rmh@aybabtu.com>
20905
20906 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20907 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20908 in our relocation, instead of using it directly from heap. Also
20909 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20910
20911 2009-02-21 Robert Millan <rmh@aybabtu.com>
20912
20913 Implement USB keyboard support (based on patch by Marco Gerards)
20914
20915 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20916 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20917 (usb_keyboard_mod_LDFLAGS): New variables.
20918
20919 * term/usb_keyboard.c: New file.
20920
20921 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 Corrected wrong declaration
20924
20925 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20926
20927 2009-02-14 Christian Franke <franke@computer.org>
20928
20929 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20930 (grub_lspci_iter): Print class code and programming interface byte.
20931
20932 2009-02-14 Christian Franke <franke@computer.org>
20933
20934 * gendistlist.sh: Ignore `.svn' directories.
20935
20936 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20937
20938 * fs/fat.c: Add 2009 to Copyright line.
20939
20940 2009-02-14 Christian Franke <franke@computer.org>
20941
20942 * commands/hdparm.c: New file. Provides `hdparm' command
20943 which sends ATA commands via grub_disk_ata_pass_through ().
20944
20945 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20946
20947 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20948 and <grub/cpu/io.h> to include/grub/ata.h.
20949 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20950 (GRUB_CDROM_SECTOR_SIZE): Remove.
20951 (GRUB_ATA_*): Move to include/grub/ata.h.
20952 (GRUB_ATAPI_*): Likewise.
20953 (enum grub_ata_commands): Likewise.
20954 (enum grub_ata_timeout_milliseconds): Likewise.
20955 (struct grub_ata_device): Likewise.
20956 (grub_ata_regset): Likewise.
20957 (grub_ata_regget): Likewise.
20958 (grub_ata_regset2): Likewise.
20959 (grub_ata_regget2): Likewise.
20960 (grub_ata_check_ready): Likewise.
20961 (grub_ata_wait_not_busy): Remove static, exported in
20962 include/grub/ata.h.
20963 (grub_ata_wait_drq): Likewise.
20964 (grub_ata_pio_read): Likewise.
20965
20966 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20967 function for hdparm.mod.
20968
20969 * include/grub/ata.h: New file, contains declarations from
20970 disk/ata.c.
20971 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20972
20973 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20974 (grub_disk_ata_pass_through): New exported variable.
20975
20976 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20977
20978 2009-02-13 Colin D Bennett <colin@gibibit.com>
20979
20980 Support multiple fallback entries, and provide an API to support
20981 executing default+fallback menu entries. Renamed the `terminal' menu
20982 viewer to `text'.
20983
20984 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20985 variable declaration.
20986 (grub_menu_execute_callback): New structure declaration.
20987 (grub_menu_execute_callback_t): New typedef.
20988 (grub_menu_execute_with_fallback): New function declaration.
20989 (grub_menu_get_entry): Likewise.
20990 (grub_menu_get_timeout): Likewise.
20991 (grub_menu_set_timeout): Likewise.
20992
20993 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20994
20995 * normal/menu.c (grub_wait_after_message): Moved to
20996 `normal/menu_text.c'.
20997 (draw_border): Likewise.
20998 (print_message): Likewise.
20999 (print_entry): Likewise.
21000 (print_entries): Likewise.
21001 (grub_menu_init_page): Likewise.
21002 (get_entry_number): Likewise.
21003 (print_timeout): Likewise.
21004 (run_menu): Likewise.
21005 (grub_menu_execute_entry): Likewise.
21006 (show_text_menu): Likewise.
21007 (get_and_remove_first_entry_number): New function.
21008 (grub_menu_execute_with_fallback): Likewise.
21009 (get_entry): Renamed to ...
21010 (grub_menu_get_entry): .. this and made it global.
21011 (get_timeout): Renamed to ...
21012 (grub_menu_get_timeout): ... this and made it global.
21013 (set_timeout): Renamed to ...
21014 (grub_menu_set_timeout): ... this and made it global.
21015 (grub_normal_terminal_menu_viewer): Renamed to ...
21016 (grub_normal_text_menu_viewer): ... this.
21017
21018 * normal/menu_text.c: New file. Extracted text-menu-specific code
21019 from normal/menu.c.
21020
21021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
21022 (normal_mod_SOURCES): Likewise.
21023
21024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21025 (normal_mod_SOURCES): Likewise.
21026
21027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21028 (normal_mod_SOURCES): Likewise.
21029
21030 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
21031 (normal_mod_SOURCES): Likewise.
21032
21033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21034 (normal_mod_SOURCES): Likewise.
21035
21036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21037 (normal_mod_SOURCES): Likewise.
21038
21039 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21040 (normal_mod_SOURCES): Likewise.
21041
21042 2009-02-11 Robert Millan <rmh@aybabtu.com>
21043
21044 * util/grub.d/00_header.in: Update old reference to `font' command.
21045
21046 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
21047
21048 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
21049
21050 Based on patch from Javier Martín.
21051
21052 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
21053
21054 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
21055 to avoid false positives with FAT.
21056 (grub_fstest_SOURCES): Likewise.
21057 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21060 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21062 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21063
21064 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
21065
21066 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
21067 bpb.version_specific.fat12_or_fat16.fstype and
21068 bpb.version_specific.fat32.fstype.
21069
21070 2009-02-08 Robert Millan <rmh@aybabtu.com>
21071
21072 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
21073
21074 2009-02-08 Robert Millan <rmh@aybabtu.com>
21075
21076 * Makefile.in (host_os, host_cpu): New variables.
21077 (target_os): Remove. Update all users.
21078
21079 2009-02-08 Marco Gerards <marco@gnu.org>
21080
21081 * Makefile.in (enable_grub_emu_usb): New variable.
21082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
21083 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
21084 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
21085 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
21086 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
21087 `usbtest.mod' and `usbms.mod'.
21088 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
21089 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
21090 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
21091 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
21092 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
21093 variables.
21094
21095 * disk/usbms.c: New file.
21096
21097 * include/grub/usb.h: Likewise.
21098
21099 * include/grub/usbtrans.h: Likewise.
21100
21101 * include/grub/usbdesc.h: Likewise.
21102
21103 * bus/usb/usbtrans.c: Likewise.
21104
21105 * bus/usb/ohci.c: Likewise.
21106
21107 * bus/usb/uhci.c: Likewise.
21108
21109 * bus/usb/usbhub.c: Likewise.
21110
21111 * bus/usb/usb.c: Likewise.
21112
21113 * commands/usbtest.c: Likewise.
21114
21115 * util/usb.c: Likewise.
21116
21117 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21118
21119 * configure.ac: Test for libusb presence.
21120
21121 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21122
21123 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21124
21125 * kern/mm.c: Add more comments.
21126
21127 2009-02-08 Robert Millan <rmh@aybabtu.com>
21128
21129 Patch from Javier Martín.
21130 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21131 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21132
21133 2009-02-08 Robert Millan <rmh@aybabtu.com>
21134
21135 * fs/cpio.c: Split tar functionality to ...
21136 * fs/tar.c: ... here (new file). Update all users.
21137
21138 2009-02-07 Robert Millan <rmh@aybabtu.com>
21139
21140 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21141 backward-incompatible features.
21142
21143 Based on patch from Javier Martín, with some adjustments.
21144
21145 2009-02-07 Michael Scherer <misc@mandriva.org>
21146
21147 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21148
21149 2009-02-07 Robert Millan <rmh@aybabtu.com>
21150
21151 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21152 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21153 after the RAID stuff.
21154
21155 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21156
21157 Fixes problem when running vbetest command as reported by
21158 Vladimir Serbinenko <phcoder@gmail.com>.
21159
21160 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21161
21162 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
21163
21164 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21165 /dev/md/NpN style mdraid devices.
21166
21167 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21168
21169 * util/unifont2pff.rb: Remove.
21170
21171 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21172
21173 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21174 `#'.
21175
21176 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
21177
21178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21179 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21180 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21183 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21185
21186 2009-02-02 Christian Franke <franke@computer.org>
21187
21188 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21189
21190 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
21191
21192 * INSTALL: Note that we now require at least autoconf 2.59 and
21193 that LZO is optional.
21194
21195 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21196
21197 Base on patch on bug #24154 created by Tomas Tintera
21198 <trosos@seznam.cz>.
21199
21200 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21201
21202 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21203
21204 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
21205 <bero@arklinux.org>.
21206
21207 * normal/parser.y (script_init): Add missing semicolon.
21208
21209 2009-01-31 Colin D Bennett <colin@gibibit.com>
21210
21211 * normal/main.c: Add include to grub/menu_viewer.h.
21212 (free_menu_entry_classes): Added.
21213 (grub_normal_menu_addentry): Added class property handling.
21214 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21215 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21216
21217 * normal/menu_viewer.c: New file.
21218
21219 * normal/menu.c (run_menu_entry): Renamed to ...
21220 (grub_menu_execute_entry): ... this and made it as global.
21221 (grub_menu_run): Renamed to ...
21222 (show_text_menu): ... this and made it local.
21223 (show_text_menu): Adapt to new function names.
21224 (grub_normal_terminal_menu_viewer): New global variable.
21225
21226 * include/grub/menu.h: New file.
21227
21228 * include/grub/menu_viewer.h: New file.
21229
21230 * include/grub/normal.h: Added include to grub/menu.h.
21231 (grub_menu_entry): Moved to include/grub/menu.h.
21232 (grub_menu_entry_t): Likewise.
21233 (grub_menu): Likewise.
21234 (grub_menu_t): Likewise.
21235 (grub_normal_terminal_menu_viewer): Added.
21236 (grub_menu_execute_entry): Likewise.
21237 (grub_menu_run): Removed.
21238
21239 * DISTLIST: Added include/grub/menu.h.
21240 Added include/grub/menu_viewer.h.
21241 Added normal/menu_viewer.c.
21242
21243 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21244
21245 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21246 arglist for menutitle arguments.
21247
21248 * normal/main.c (grub_normal_menu_addentry): Likewise.
21249
21250 * normal/parser.y (menuentry): Likewise.
21251
21252 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21253
21254 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21255 (grub_script_create_cmdmenu): Likewise.
21256
21257 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21258
21259 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21260 changes.
21261
21262 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21263
21264 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21265
21266 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21267
21268 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21269
21270 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21271
21272 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21273
21274 2009-01-30 Christian Franke <franke@computer.org>
21275
21276 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21277 in option help text.
21278
21279 2009-01-27 Pavel Roskin <proski@gnu.org>
21280
21281 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21282
21283 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21284
21285 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21286
21287 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21288
21289 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21290 unregister function.
21291
21292 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21293
21294 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21295
21296 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21297
21298 * util/grub-mkfont.c (usage): Fix typo.
21299
21300 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21301
21302 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21303
21304 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21305
21306 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21307
21308 * kern/misc.c (grub_strcasecmp): New function.
21309 (grub_strcasecmp): Use grub_size_t instead of int for length.
21310 Fix return value.
21311 * include/grub/misc.h: Update function prototypes.
21312
21313 2009-01-26 Robert Millan <rmh@aybabtu.com>
21314
21315 * configure.ac: Fix cross-compilation check.
21316
21317 2009-01-22 Christian Franke <franke@computer.org>
21318
21319 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21320 (precision) digit string. Allow `.format2' without `format1' (width).
21321 Limit input chars for `%s' output to `format2' if specified. This is
21322 compatible with standard printf ().
21323
21324 2009-01-22 Christian Franke <franke@computer.org>
21325
21326 * disk/ata.c (grub_ata_wait_status): Replace by ...
21327 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21328 other status bits may be invalid while BSY is asserted.
21329 (grub_ata_check_ready): New function.
21330 (grub_ata_cmd): Removed.
21331 (grub_ata_wait_drq): New function.
21332 (grub_ata_strncpy): Remove inline.
21333 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21334 and error check now done by grub_ata_wait_drq ().
21335 (grub_ata_pio_write): Likewise.
21336 (grub_atapi_identify): Set DEV before check for !BSY. Use
21337 grub_ata_wait_drq () to wait for data.
21338 (grub_ata_device_initialize): Add status register check to
21339 detect missing SATA slave devices. Add debug messages.
21340 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21341 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21342 transfer loop by grub_ata_pio_write ().
21343 (grub_ata_identify): Set DEV before check for !BSY. Use
21344 grub_ata_wait_drq () to wait for data.
21345 (grub_ata_setaddress): Set DEV before check for !BSY.
21346 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21347 read/write in one loop. Fix invalid command on write. Fix incomplete
21348 command on (size % batch) == 0. Add missing error check after write of
21349 last block. Add debug messages.
21350 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21351
21352 2009-01-19 Christian Franke <franke@computer.org>
21353
21354 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21355 (GRUB_ATAPI_IREASON_*): Likewise.
21356 (grub_ata_pio_write): Fix timeout error return.
21357 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21358 (grub_atapi_wait_drq): New function.
21359 (grub_atapi_packet): New parameter `size'.
21360 Use grub_atapi_wait_drq () and direct write instead of
21361 grub_ata_pio_write ().
21362 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21363 reads the number of bytes requested by the device for each DRQ
21364 assertion.
21365 (grub_atapi_write): Remove old implementation, return not
21366 implemented instead.
21367
21368 2009-01-19 Christian Franke <franke@computer.org>
21369
21370 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21371 of 512 to calculate data size.
21372 (grub_scsi_read12): Likewise.
21373 (grub_scsi_write10): Likewise.
21374 (grub_scsi_write12): Likewise.
21375 (grub_scsi_read): Adjust size according to blocksize.
21376 Add checks for invalid blocksize and unaligned transfer.
21377
21378 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21379
21380 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21381
21382 * term/gfxterm.c (write_char): Fix background rendering for wide
21383 width glyphs.
21384
21385 2009-01-19 Robert Millan <rmh@aybabtu.com>
21386
21387 * config.guess: Update to latest version from config git.
21388 * config.sub: Likewise.
21389
21390 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21391
21392 * Makefile.in: Change font compilation to use new grub-mkfont instead
21393 of java version.
21394
21395 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21396 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21397 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21398 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21399 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21400 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21401 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21402 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21403 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21404
21405 2009-01-16 Christian Franke <franke@computer.org>
21406
21407 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21408 (enum grub_ata_timeout_milliseconds): New enum.
21409 (grub_ata_wait_status): Add parameter milliseconds.
21410 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21411 recovery from timed-out commands.
21412 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21413 return grub_errno instead of REG_ERROR.
21414 (grub_ata_pio_write): Add parameter milliseconds.
21415 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21416 Pass milliseconds to grub_ata_wait_status () and
21417 grub_ata_pio_read ().
21418 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21419 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21420 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21421 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21422 It is not suitable for device detection, because DEV bit is ignored,
21423 the command may run too long, and not all devices set the signature
21424 properly.
21425 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21426 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21427 Fix device selection, DEV bit must be set first to address the registers
21428 of the correct device.
21429 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21430 grub_ata_pio_read/write ().
21431 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21432 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21433
21434 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21435
21436 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21437
21438 2009-01-13 Bean <bean123ch@gmail.com>
21439
21440 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21441
21442 2009-01-13 Bean <bean123ch@gmail.com>
21443
21444 * Makefile.in: (enable_grub_mkfont): New variable.
21445 (freetype_cflags): Likewise.
21446 (freetype_libs): Likewise.
21447
21448 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21449 (grub_mkfont_SOURCES): New variable.
21450 (grub_mkfont_CFLAGS): Likewise.
21451 (grub_mkfont_LDFLAGS): Likewise.
21452
21453 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21454 library if `--enable-grub-mkfont' is requested.
21455 (enable_grub_mkfont): New variable.
21456 (freetype_cflags): Likewise.
21457 (freetype_libs): Likewise.
21458
21459 * util/grub-mkfont.c: New file.
21460
21461 2009-01-12 Christian Franke <franke@computer.org>
21462
21463 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21464 mode check. Fix setting of compat_use[].
21465
21466 2009-01-10 Robert Millan <rmh@aybabtu.com>
21467
21468 Update a few copyright years which we forgot to do in 2008 (only for
21469 files whose changes made in 2008 were copyright-significant)
21470
21471 * Makefile.in: Add 2008 to Copyright line.
21472 * disk/ieee1275/ofdisk.c: Likewise.
21473 * disk/efi/efidisk.c: Likewise.
21474 * kern/dl.c: Likewise.
21475 * kern/sparc64/ieee1275/init.c: Likewise.
21476 * kern/mm.c: Likewise.
21477 * kern/efi/mm.c: Likewise.
21478 * boot/i386/pc/boot.S: Likewise.
21479 * genfslist.sh: Likewise.
21480 * fs/iso9660.c: Likewise.
21481 * fs/hfs.c: Likewise.
21482 * fs/jfs.c: Likewise.
21483 * fs/minix.c: Likewise.
21484 * fs/ufs.c: Likewise.
21485 * gensymlist.sh.in: Likewise.
21486 * genkernsyms.sh.in: Likewise.
21487 * include/grub/misc.h: Likewise.
21488 * include/grub/types.h: Likewise.
21489 * include/grub/symbol.h: Likewise.
21490 * include/grub/elf.h: Likewise.
21491 * include/grub/kernel.h: Likewise.
21492 * include/grub/disk.h: Likewise.
21493 * include/grub/dl.h: Likewise.
21494 * include/grub/i386/linux.h: Likewise.
21495 * include/grub/i386/pc/biosdisk.h: Likewise.
21496 * include/grub/efi/api.h: Likewise.
21497 * include/grub/efi/pe32.h: Likewise.
21498 * include/grub/util/misc.h: Likewise.
21499 * normal/execute.c: Likewise.
21500 * normal/arg.c: Likewise.
21501 * normal/completion.c: Likewise.
21502 * normal/lexer.c: Likewise.
21503 * normal/parser.y: Likewise.
21504 * normal/misc.c: Likewise.
21505 * commands/i386/pc/vbeinfo.c: Likewise.
21506 * commands/hexdump.c: Likewise.
21507 * commands/terminal.c: Likewise.
21508 * commands/ls.c: Likewise.
21509 * commands/help.c: Likewise.
21510 * partmap/pc.c: Likewise.
21511 * loader/efi/chainloader.c: Likewise.
21512 * loader/multiboot_loader.c: Likewise.
21513 * loader/i386/pc/multiboot2.c: Likewise.
21514 * term/efi/console.c: Likewise.
21515 * term/i386/pc/serial.c: Likewise.
21516 * util/lvm.c: Likewise.
21517 * util/console.c: Likewise.
21518 * util/i386/efi/grub-mkimage.c: Likewise.
21519 * util/raid.c: Likewise.
21520
21521 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21522
21523 * commands/videotest.c: Removed include to grub/machine/memory.h.
21524
21525 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21526 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21527 (video_mod_SOURCES): Removed.
21528 (video_mod_CFLAGS): Likewise.
21529 (video_mod_LDFLAGS): Likewise.
21530 (gfxterm_mod_SOURCES): Likewise.
21531 (gfxterm_mod_CFLAGS): Likewise.
21532 (gfxterm_mod_LDFLAGS): Likewise.
21533 (videotest_mod_SOURCES): Likewise.
21534 (videotest_mod_CFLAGS): Likewise.
21535 (videotest_mod_LDFLAGS): Likewise.
21536 (bitmap_mod_SOURCES): Likewise.
21537 (bitmap_mod_CFLAGS): Likewise.
21538 (bitmap_mod_LDFLAGS): Likewise.
21539 (tga_mod_SOURCES): Likewise.
21540 (tga_mod_CFLAGS): Likewise.
21541 (tga_mod_LDFLAGS): Likewise.
21542 (jpeg_mod_SOURCES): Likewise.
21543 (jpeg_mod_CFLAGS): Likewise.
21544 (jpeg_mod_LDFLAGS): Likewise.
21545 (png_mod_SOURCES): Likewise.
21546 (png_mod_CFLAGS): Likewise.
21547 (png_mod_LDFLAGS): Likewise.
21548
21549 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21550 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21551 (video_mod_SOURCES): Added.
21552 (video_mod_CFLAGS): Likewise.
21553 (video_mod_LDFLAGS): Likewise.
21554 (videotest_mod_SOURCES): Likewise.
21555 (videotest_mod_CFLAGS): Likewise.
21556 (videotest_mod_LDFLAGS): Likewise.
21557 (bitmap_mod_SOURCES): Likewise.
21558 (bitmap_mod_CFLAGS): Likewise.
21559 (bitmap_mod_LDFLAGS): Likewise.
21560 (tga_mod_SOURCES): Likewise.
21561 (tga_mod_CFLAGS): Likewise.
21562 (tga_mod_LDFLAGS): Likewise.
21563 (jpeg_mod_SOURCES): Likewise.
21564 (jpeg_mod_CFLAGS): Likewise.
21565 (jpeg_mod_LDFLAGS): Likewise.
21566 (png_mod_SOURCES): Likewise.
21567 (png_mod_CFLAGS): Likewise.
21568 (png_mod_LDFLAGS): Likewise.
21569 (gfxterm_mod_SOURCES): Likewise.
21570 (gfxterm_mod_CFLAGS): Likewise.
21571 (gfxterm_mod_LDFLAGS): Likewise.
21572
21573 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21574 grub/machine/console.h.
21575
21576 2009-01-04 Jerone Young <jerone@gmail.com>
21577
21578 Make on screen instructions clearer
21579
21580 Based on patch created by Jidanni <jidanni@jidanni.org>
21581
21582 * normal/menu.c: print clearer instructions on the screen
21583
21584 2009-01-02 Colin D Bennett <colin@gibibit.com>
21585
21586 New font engine.
21587
21588 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21589 build system and fixed gfxterm.c to work with different sized fonts.
21590
21591 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21592
21593 * configure: Re-generated.
21594
21595 * DISTLIST: Removed font/manager.c.
21596 Added font/font.c.
21597 Added font/font_cmd.c.
21598
21599 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21600 compilation.
21601
21602 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21603
21604 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21605
21606 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21607
21608 * normal/menu.c: Likewise.
21609
21610 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21611 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21612
21613 * include/grub/font.h: Replaced with new file.
21614
21615 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21616 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21617 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21618 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21619 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21620 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21621 fg_red, fg_green, fg_blue, fg_alpha.
21622 (grub_video_adapter): Removed blit_glyph.
21623 (grub_video_blit_glyph): Removed.
21624
21625 * font/manager.c: Removed file.
21626
21627 * font/font.c: New file.
21628
21629 * font/font_cmd.c: Likewise.
21630
21631 * video/video.c (grub_video_blit_glyph): Removed.
21632
21633 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21634 (grub_video_vbe_map_rgba): Likewise.
21635 (grub_video_vbe_unmap_color_int): Likewise.
21636 (grub_video_vbe_blit_glyph): Removed.
21637 (grub_video_vbe_adapter): Removed blit_glyph.
21638
21639 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21640 (get_pixel): Likewise.
21641 (set_pixel): Likewise.
21642
21643 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21644
21645 * term/gfxterm.c: Adapted to new font engine.
21646
21647 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21648
21649 * term/i386/pc/vga.c: Likewise.
21650
21651 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21652
21653 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21654
21655 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21656
21657 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21658
21659 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21660
21661 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21662
21663 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21664
21665 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21666
21667 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21668
21669 * util/grub.d/00_header.in: Changed to use new loadfont command.
21670
21671 * util/grub-mkconfig_lib.in: Changed font extension.
21672
21673 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21674
21675 * util/getroot.c (grub_util_get_grub_dev): Add support for
21676 /dev/md/dNNpNN style partitionable mdraid devices.
21677
21678 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21679
21680 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21681 at a time limit of the PXE TFTP API correctly.
21682 (grub_pxefs_close): Likewise.
21683
21684 2008-11-29 Robert Millan <rmh@aybabtu.com>
21685
21686 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21687 grub_ata_device_initialize() calls.
21688
21689 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21690
21691 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21692 iteration failed.
21693 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21694
21695 2008-11-28 Robert Millan <rmh@aybabtu.com>
21696
21697 Fix build on powerpc-ieee1275. Based on patch created by
21698 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21699 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21700 `kern/ieee1275/mmap.c'.
21701 * include/grub/powerpc/ieee1275/memory.h: New file.
21702
21703 Provide grub-install on coreboot.
21704 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21705 (grub_install_SOURCES): New variable.
21706 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21707 usable on coreboot.
21708
21709 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21710
21711 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21712 to `grub_term_input_t'.
21713 (grub_term_get_current_output): Change return type to
21714 `grub_term_output_t'.
21715
21716 2008-11-22 Robert Millan <rmh@aybabtu.com>
21717
21718 Fix breakage on coreboot due to declaration mismatch.
21719 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21720 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21721 grub_vga_text_cls().
21722
21723 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21724 comments. Avoid copying one more byte than necessary (just in case).
21725
21726 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21727 to 0x200000 (avoids trouble with some OFW implementations, and matches
21728 with the one in Yaboot).
21729 Reported by Manoel Abranches
21730
21731 2008-11-20 Robert Millan <rmh@aybabtu.com>
21732
21733 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21734 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21735
21736 * util/grub-mkconfig_lib.in (grub_warn): New function.
21737 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21738 warnings, to obtain consistent formatting.
21739 * util/grub.d/00_header.in: Likewise.
21740 * util/update-grub_lib.in: Likewise.
21741
21742 * loader/i386/linux.c (allocate_pages): Fix a warning.
21743 Move comment text to `#error' stanza.
21744
21745 Harmonize ieee1275's grub_available_iterate() with the generic
21746 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21747 build problem on i386-ieee1275):
21748 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21749 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21750 parameter `type'. Update all users of this function.
21751 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21752 `kern/ieee1275/mmap.c'.
21753 * kern/ieee1275/init.c
21754 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21755 with ...
21756 (grub_machine_mmap_iterate): ... this.
21757 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21758 return type to `grub_err_t'. Update all implementations of this
21759 function prototype.
21760 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21761 Likewise.
21762
21763 Add `lsmmap' command (lists firmware-provided memory map):
21764 * commands/lsmmap.c: New file.
21765 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21766 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21767 variables.
21768 * conf/powerpc-ieee1275.rmk: Likewise.
21769 * conf/i386-coreboot.rmk: Likewise.
21770 * conf/i386-ieee1275.rmk: Likewise.
21771
21772 2008-11-19 Robert Millan <rmh@aybabtu.com>
21773
21774 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21775 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21776 constraints to initrd allocation (based on code from
21777 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21778 for Linux to find it.
21779
21780 2008-11-14 Robert Millan <rmh@aybabtu.com>
21781
21782 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21783 order to cope with duplicate slashes.
21784
21785 2008-11-14 Robert Millan <rmh@aybabtu.com>
21786
21787 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21788 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21789 don't want to mess with lower memory, because it is used in the Linux
21790 loader.
21791
21792 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21793 an appropriate place in lower memory, between 0x10000 and 0x90000,
21794 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21795 is in our heap (probably as a result of it being corrupted during
21796 decompression). Add #error instance with comment to explain why this
21797 loader isn't currently usable on PC/BIOS.
21798
21799 2008-11-14 Robert Millan <rmh@aybabtu.com>
21800
21801 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21802 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21803
21804 2008-11-12 Robert Millan <rmh@aybabtu.com>
21805
21806 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21807
21808 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21809 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21810 from here ...
21811 * include/grub/i386/pc/memory.h: ... to here.
21812
21813 2008-11-12 Robert Millan <rmh@aybabtu.com>
21814
21815 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21816 split).
21817
21818 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21819 (grub_console_cur_color, grub_console_real_putchar)
21820 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21821 (grub_console_setcolorstate, grub_console_setcolor)
21822 (grub_console_getcolor): Move from here ...
21823 * include/grub/i386/vga_common.h: ... to here (new file).
21824
21825 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21826 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21827 `<grub/i386/io.h>'.
21828 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21829 `<grub/i386/vga_common.h>'.
21830
21831 2008-11-12 Robert Millan <rmh@aybabtu.com>
21832
21833 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21834 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21835 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21836 variables.
21837 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21838 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21839
21840 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21841 grub_console_init() with call to grub_vga_text_init().
21842 (grub_machine_fini): Replace call to
21843 grub_console_fini() with call to grub_vga_text_fini() and
21844 grub_at_keyboard_fini().
21845
21846 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21847 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21848 (grub_console_setcolorstate, grub_console_setcolor)
21849 (grub_console_getcolor): New function prototypes.
21850
21851 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21852 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21853 (grub_vga_text_setcursor): Static-ize.
21854 (grub_vga_text_term): New structure.
21855 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21856
21857 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21858 (grub_console_cur_color, grub_console_standard_color)
21859 (grub_console_normal_color, grub_console_highlight_color)
21860 (map_char, grub_console_putchar, grub_console_getcharwidth)
21861 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21862 (grub_console_getcolor): Move from here ...
21863 * term/i386/vga_common.c: ... to here (same function names).
21864
21865 2008-11-12 Robert Millan <rmh@aybabtu.com>
21866
21867 Use newly-added Multiboot support in coreboot.
21868
21869 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21870 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21871
21872 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21873 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21874 (codestart): Store the MBI in `startup_multiboot_info' when we're
21875 being loaded using Multiboot.
21876
21877 * kern/i386/coreboot/init.c (grub_machine_init): Move
21878 grub_at_keyboard_init() call to beginning of function (useful for
21879 debugging). Call grub_machine_mmap_init() before attempting to use
21880 grub_machine_mmap_iterate().
21881 (grub_lower_mem, grub_upper_mem): Move from here ...
21882 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21883 here (new file).
21884
21885 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21886 function prototype.
21887
21888 2008-11-12 Robert Millan <rmh@aybabtu.com>
21889
21890 Fix a regression introduced by the at_keyboard.mod split. Because
21891 some terminals are default on some platforms and non-default on
21892 others, the first terminal being registered determines which is
21893 going to be default.
21894
21895 * kern/term.c (grub_term_register_input): If this is the first
21896 terminal being registered, set it as the current one.
21897 (grub_term_register_output): Likewise.
21898
21899 * term/efi/console.c (grub_console_init): Do not call
21900 grub_term_set_current_output() or grub_term_set_current_input().
21901 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21902 * term/i386/pc/console.c (grub_console_init): Likewise.
21903 (grub_console_fini): Do not call grub_term_set_current_input()
21904 (but leave grub_term_set_current_output() to restore text mode).
21905
21906 2008-11-10 Robert Millan <rmh@aybabtu.com>
21907
21908 * util/grub.d/00_header.in: Add backward compatibility check for
21909 versions of terminal.mod that don't understand `terminal_input' or
21910 `terminal_output'.
21911
21912 2008-11-09 Robert Millan <rmh@aybabtu.com>
21913
21914 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21915 `terminal_input' / `terminal_output', not `terminal'.
21916
21917 2008-11-08 Robert Millan <rmh@aybabtu.com>
21918
21919 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21920 (DISTCLEANFILES): Add `build_env.mk'.
21921
21922 2008-11-08 Robert Millan <rmh@aybabtu.com>
21923
21924 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21925 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21926 members. Update all users.
21927 * util/console.c (grub_ncurses_term): Split in ...
21928 (grub_ncurses_term_input): ... this, and ...
21929 (grub_ncurses_term_output): ... this. Update all users.
21930 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21931
21932 2008-11-08 Robert Millan <rmh@aybabtu.com>
21933
21934 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21935 (PKGDATA): Add $(pkgdata_SRCDIR).
21936 (pkglib_BUILDDIR): New variable.
21937 (pkgdata_SRCDIR): New variable.
21938 (build_env.mk): New target.
21939 (include_DATA): New variable.
21940 (install-local): Install $(include_DATA) files in $(includedir).
21941
21942 2008-11-07 Pavel Roskin <proski@gnu.org>
21943
21944 * gendistlist.sh: Use C locale for sorting to ensure consistent
21945 output on all systems.
21946
21947 * util/grub.d/00_header.in: Remove incorrect space before
21948 "serial".
21949
21950 2008-11-07 Robert Millan <rmh@aybabtu.com>
21951
21952 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21953 per specification.
21954 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21955 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21956 (based on find_multi_boot1_header).
21957 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21958 using find_multi_boot2_header(), and abort if neither Multiboot or
21959 Multiboot headers were found.
21960
21961 2008-11-07 Robert Millan <rmh@aybabtu.com>
21962
21963 Modularize at_keyboard.mod:
21964
21965 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21966 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21967 (at_keyboard_mod_LDFLAGS): New variables.
21968
21969 Actual terminal split:
21970
21971 * include/grub/term.h (struct grub_term): Split in ...
21972 (struct grub_term_input): ... this, and ...
21973 (struct grub_term_output): ... this. Update all users.
21974 (grub_term_set_current): Split in ...
21975 (grub_term_set_current_input): ... this, and ...
21976 (grub_term_set_current_output): ... this.
21977 (grub_term_get_current): Split in ...
21978 (grub_term_get_current_input): ... this, and ...
21979 (grub_term_get_current_output): ... this.
21980 (grub_term_register): Split in ...
21981 (grub_term_register_input): ... this, and ...
21982 (grub_term_register_output): ... this.
21983 (grub_term_unregister): Split in ...
21984 (grub_term_unregister_input): ... this, and ...
21985 (grub_term_unregister_output): ... this.
21986 (grub_term_iterate): Split in ...
21987 (grub_term_iterate_input): ... this, and ...
21988 (grub_term_iterate_output): ... this.
21989
21990 * kern/term.c (grub_term_list): Split in ...
21991 (grub_term_list_input): ... this, and ...
21992 (grub_term_list_output): ... this. Update all users.
21993 (grub_cur_term): Split in ...
21994 (grub_cur_term_input): ... this, and ...
21995 (grub_cur_term_output): ... this. Update all users.
21996 (grub_term_set_current): Split in ...
21997 (grub_term_set_current_input): ... this, and ...
21998 (grub_term_set_current_output): ... this.
21999 (grub_term_get_current): Split in ...
22000 (grub_term_get_current_input): ... this, and ...
22001 (grub_term_get_current_output): ... this.
22002 (grub_term_register): Split in ...
22003 (grub_term_register_input): ... this, and ...
22004 (grub_term_register_output): ... this.
22005 (grub_term_unregister): Split in ...
22006 (grub_term_unregister_input): ... this, and ...
22007 (grub_term_unregister_output): ... this.
22008 (grub_term_iterate): Split in ...
22009 (grub_term_iterate_input): ... this, and ...
22010 (grub_term_iterate_output): ... this.
22011
22012 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
22013 a check for input and one for output (and only attempt to get keys
22014 from user when input works).
22015
22016 * util/grub-probe.c (grub_term_get_current): Split in ...
22017 (grub_term_get_current_input): ... this, and ...
22018 (grub_term_get_current_output): ... this.
22019 * util/grub-fstest.c: Likewise.
22020 * util/i386/pc/grub-setup.c: Likewise.
22021 * util/grub-editenv.c: Likewise.
22022
22023 Portability adjustments:
22024
22025 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
22026 `term/i386/pc/at_keyboard.c'.
22027 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
22028 grub_keyboard_controller_init() (now handled by terminal .init).
22029 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
22030 grub_at_keyboard_init().
22031 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
22032 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
22033 at_keyboard.mod via input terminal interface).
22034 * include/grub/i386/coreboot/console.h: Convert into a stub for
22035 `<grub/i386/pc/console.h>'.
22036
22037 Migrate full terminals to new API:
22038
22039 * term/efi/console.c (grub_console_term): Split into ...
22040 (grub_console_term_input): ... this, and ...
22041 (grub_console_term_output): ... this. Update all users.
22042 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
22043 (grub_ofconsole_init): Split into ...
22044 (grub_ofconsole_init_input): ... this, and ...
22045 (grub_ofconsole_init_output): ... this.
22046 (grub_ofconsole_term): Split into ...
22047 (grub_ofconsole_term_input): ... this, and ...
22048 (grub_ofconsole_term_output): ... this. Update all users.
22049 * term/i386/pc/serial.c (grub_serial_term): Split into ...
22050 (grub_serial_term_input): ... this, and ...
22051 (grub_serial_term_output): ... this. Update all users.
22052 * term/i386/pc/console.c (grub_console_term): Split into ...
22053 (grub_console_term_input): ... this, and ...
22054 (grub_console_term_output): ... this. Update all users.
22055 (grub_console_term_input): Only enable it on PC/BIOS platform.
22056 (grub_console_init): Remove grub_keyboard_controller_init() call.
22057
22058 Migrate input terminals to new API:
22059
22060 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
22061 `i386' and `i386/pc' to enable build on x86_64 (this driver is
22062 i386-specific anyway).
22063 (grub_console_checkkey): Rename to ...
22064 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
22065 users.
22066 (grub_keyboard_controller_orig): New variable.
22067 (grub_console_getkey): Rename to ...
22068 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
22069 users.
22070 (grub_keyboard_controller_init): Static-ize. Save original
22071 controller value so that it can be restored ...
22072 (grub_keyboard_controller_fini): ... here (new function).
22073 (grub_at_keyboard_term): New structure.
22074 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
22075 functions.
22076
22077 Migrate output terminals to new API:
22078
22079 * term/i386/pc/vga.c (grub_vga_term): Change type to
22080 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22081 members. Update all users.
22082 * term/gfxterm.c (grub_video_term): Change type to
22083 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22084 members. Update all users.
22085 * include/grub/i386/pc/console.h (grub_console_checkkey)
22086 (grub_console_getkey): Do not export (no longer needed by gfxterm,
22087 etc).
22088
22089 Migrate `terminal' command and userland tools to new API:
22090
22091 * commands/terminal.c (grub_cmd_terminal): Split into ...
22092 (grub_cmd_terminal_input): ... this, and ...
22093 (grub_cmd_terminal_output): ... this.
22094 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
22095 `terminal_input' and `terminal_output'.
22096 * util/grub.d/00_header.in: Adjust `terminal' calls to new
22097 `terminal_input' / `terminal_output' API.
22098 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
22099 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22100 provided ${GRUB_TERMINAL}, convert it).
22101
22102 2008-11-04 Robert Millan <rmh@aybabtu.com>
22103
22104 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22105 for FreeBSD.
22106 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22107
22108 2008-11-03 Bean <bean123ch@gmail.com>
22109
22110 * kern/elf.c (grub_elf32_load): Revert to previous code.
22111 (grub_elf64_load): Likewise.
22112
22113 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22114
22115 2008-11-01 Robert Millan <rmh@aybabtu.com>
22116
22117 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22118 (TARGET_CPPFLAGS): Likewise.
22119 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22120
22121 2008-11-01 Carles Pina i Estany <carles@pina.cat>
22122
22123 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22124
22125 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22126
22127 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22128 addition of objects until the code is not going to be able to fail.
22129
22130 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
22131
22132 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22133 (add a missing NULL check, and correct them by moving the pointer
22134 operations after the actual check).
22135
22136 2008-10-29 Robert Millan <rmh@aybabtu.com>
22137
22138 * util/i386/pc/grub-install.in: Handle empty string as output from
22139 make_system_path_relative_to_its_root().
22140
22141 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22142
22143 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22144 circular metadata worst case scenario. If the metadata is circular
22145 then copy the wrap in place.
22146 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22147 project lib/format_text/layout.h
22148 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22149
22150 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22151
22152 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
22153
22154 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
22155
22156 * util/update-grub_lib.in: Mention filename in warning message.
22157
22158 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22159
22160 * NEWS: Update for rename of update-grub to grub-mkconfig.
22161
22162 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
22163
22164 * util/update-grub_lib.in: Copy to ...
22165 * util/grub-mkconfig_lib.in: ... this. Update all users.
22166 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
22167 * util/update-grub.in: Rename to ...
22168 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22169 option. Add `--output' option to allow users to specify the generated
22170 configuration file. Default to stdout.
22171 (update_grub_dir): Rename to ...
22172 (grub_mkconfig_dir): ... this.
22173 (grub_cfg): Default to an empty string.
22174 * conf/common.rmk (update-grub): Rename to ...
22175 (grub-mkconfig): ... this.
22176 (update-grub_lib): Copy to ...
22177 (grub-mkconfig_lib): ... this.
22178 (update-grub_SCRIPTS): Copy to ...
22179 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22180 (update-grub_DATA): Rename to ...
22181 (grub-mkconfig_DATA): ... this.
22182
22183 2008-09-28 Robert Millan <rmh@aybabtu.com>
22184
22185 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22186 to `modified'. Add the real `created' field.
22187 (grub_iso9660_uuid): Use `modified' rather than `created' for
22188 constructing the UUID.
22189
22190 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
22191
22192 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22193 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22194
22195 2008-09-28 Bean <bean123ch@gmail.com>
22196
22197 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22198 Thanks to Christian Franke for finding this bug.
22199
22200 2008-09-25 Robert Millan <rmh@aybabtu.com>
22201
22202 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22203 instances of grub_util_get_disk_name() (see previous commit).
22204
22205 2008-09-25 Robert Millan <rmh@aybabtu.com>
22206
22207 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22208 `util/i386/get_disk_name.c'.
22209 * conf/i386-efi.rmk: Likewise.
22210 * conf/x86_64-efi.rmk: Likewise.
22211 * conf/i386-coreboot.rmk: Likewise.
22212 * conf/i386-ieee1275.rmk: Likewise.
22213 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22214 `util/ieee1275/get_disk_name.c'.
22215 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22216 * util/ieee1275/get_disk_name.c: Remove file.
22217 * util/i386/get_disk_name.c: Remove file.
22218 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22219 "hd%d" for device.map entries, rather than using
22220 grub_util_get_disk_name().
22221
22222 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22223
22224 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22225 warning.
22226 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22227
22228 2008-09-24 Carles Pina i Estany <carles@pina.cat>
22229
22230 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22231 Changed to 0x5100.
22232 (GRUB_TERM_PPAGE): Changed to 0x4900.
22233
22234 2008-09-24 Robert Millan <rmh@aybabtu.com>
22235
22236 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22237 macros (they were i386-pc specific).
22238 * include/grub/sparc64/ieee1275/console.h: Likewise.
22239 * include/grub/efi/console.h: Likewise.
22240
22241 2008-09-22 Bean <bean123ch@gmail.com>
22242
22243 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22244 resident and in attribute list.
22245
22246 * include/grub/ntfs.h (BMP_LEN): Removed.
22247
22248 2008-09-22 Bean <bean123ch@gmail.com>
22249
22250 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
22251 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22252
22253 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22254 error occurs, as grub_disk_open will call grub_disk_close, which will
22255 call p->close (scsi).
22256
22257 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22258
22259 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22260 (AC_PREREQ): Bumped to 2.59.
22261 (AC_TRY_COMPILE): Replace obsolete macro with ...
22262 (AC_COMPILE_IFELSE): ... this.
22263 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22264 (AC_LINK_IFELSE): ... this.
22265
22266 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
22267
22268 * autogen.sh: Add a call to `gendistlist.sh'.
22269
22270 2008-09-19 Christian Franke <franke@computer.org>
22271
22272 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22273 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22274 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22275 Export __enable_execute_stack() to modules.
22276 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22277 New function.
22278
22279 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22280
22281 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22282 Sort the list.
22283
22284 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22285
22286 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22287 #include <grub/util/hostdisk.h>.
22288
22289 2008-09-08 Robert Millan <rmh@aybabtu.com>
22290
22291 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22292 segments when their filesz is zero (grub_file_read() interprets
22293 zero-size as "read until EOF", which results in memory corruption).
22294 Use `lowest_segment' rather than 0 for calculating the current
22295 segment load address.
22296
22297 2008-09-08 Robert Millan <rmh@aybabtu.com>
22298
22299 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22300 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22301 clobbered useful information.
22302
22303 2008-09-08 Robert Millan <rmh@aybabtu.com>
22304
22305 * include/grub/util/biosdisk.h: Move to ...
22306 * include/grub/util/hostdisk.h: ... here. Update all users.
22307 * util/biosdisk.c: Move to ...
22308 * util/hostdisk.c: ... here. Update all users.
22309
22310 2008-09-07 Robert Millan <rmh@aybabtu.com>
22311
22312 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22313 variables.
22314 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22315 and length can be stored directly in the `mbi->mmap_addr' and
22316 `mbi->mmap_length' struct fields.
22317
22318 2008-09-07 Robert Millan <rmh@aybabtu.com>
22319
22320 * conf/i386.rmk: New file. Provides declaration for building
22321 `cpuid.mod'.
22322 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22323 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22324 variables.
22325 Include `conf/i386.mk'.
22326 * conf/i386-efi.rmk: Likewise.
22327 * conf/x86_64-efi.rmk: Likewise.
22328 * conf/i386-coreboot.rmk: Likewise.
22329 * conf/i386-ieee1275.rmk: Likewise.
22330
22331 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22332
22333 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22334 Adds optimization support for BGR based modes.
22335
22336 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22337 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22338 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22339 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22340 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22341 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22342 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22343 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22344 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22345 (grub_video_i386_vbeblit_index_index): Likewise.
22346 (grub_video_i386_vbeblit_replace_directN): Added.
22347 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22348 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22349 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22350 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22351 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22352 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22353 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22354 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22355 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22356 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22357 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22358 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22359 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22360
22361 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22362 (grub_video_i386_vbefill_R8G8B8): Likewise.
22363 (grub_video_i386_vbefill_index): Likewise.
22364 (grub_video_i386_vbefill_direct32): Added.
22365 (grub_video_i386_vbefill_direct24): Likewise.
22366 (grub_video_i386_vbefill_direct16): Likewise.
22367 (grub_video_i386_vbefill_direct8): Likewise.
22368
22369 * include/grub/video.h (grub_video_blit_format): Removed
22370 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22371 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22372 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22373 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22374 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22375
22376 * video/video.c (grub_video_get_blit_format): Updated to use new
22377 blit formats. Added handling for 16 bit color modes.
22378
22379 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22380 fillers.
22381 (common_blitter): Updated to use new blitters.
22382
22383 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22384 Removed.
22385 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22386 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22388 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22389 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22390 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22391 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22392 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22393 (grub_video_i386_vbeblit_index_index): Likewise.
22394 (grub_video_i386_vbeblit_replace_directN): Added.
22395 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22396 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22397 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22398 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22399 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22400 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22401 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22402 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22403 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22404 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22405 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22406 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22407 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22408
22409 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22410 (grub_video_i386_vbefill_R8G8B8): Likewise.
22411 (grub_video_i386_vbefill_index): Likewise.
22412 (grub_video_i386_vbefill_direct32): Added.
22413 (grub_video_i386_vbefill_direct24): Likewise.
22414 (grub_video_i386_vbefill_direct16): Likewise.
22415 (grub_video_i386_vbefill_direct8): Likewise.
22416
22417 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22418 types.
22419
22420 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22421 types.
22422
22423 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22424 blitter types.
22425
22426 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22427 types.
22428
22429 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22430
22431 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22432 RAID level 1.
22433
22434 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22435
22436 * fs/iso9660.c (grub_iso9660_date): New structure.
22437 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22438 (grub_iso9660_uuid): New function.
22439
22440 2008-09-05 Bean <bean123ch@gmail.com>
22441
22442 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22443
22444 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22445 insensitive bit for names in Win32 and Win32 & DOS namespace.
22446
22447 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22448
22449 * include/grub/types.h (LONG_MAX): Likewise.
22450
22451 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22452
22453 * util/getroot.c: Include <config.h>.
22454 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22455 add support for /dev/md/N devices and handle LVM double dash escaping.
22456
22457 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22458
22459 * config.guess: Update to latest version from config git.
22460 * config.sub: Likewise.
22461
22462 2008-09-03 Robert Millan <rmh@aybabtu.com>
22463
22464 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22465 `disk->total_sectors'.
22466
22467 2008-09-01 Colin D Bennett <colin@gibibit.com>
22468
22469 * include/grub/normal.h: Fixed incorrect comment for
22470 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22471
22472 2008-09-01 Colin D Bennett <colin@gibibit.com>
22473
22474 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22475 values with defines.
22476
22477 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22478 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22479 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22480 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22481 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22482 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22483 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22484 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22485 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22486 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22487 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22488 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22489 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22490 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22491 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22492 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22493 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22494 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22495 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22496
22497 2008-08-31 Robert Millan <rmh@aybabtu.com>
22498
22499 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22500 declaration.
22501 (grub_multiboot): Fix a few warnings.
22502
22503 2008-08-31 Robert Millan <rmh@aybabtu.com>
22504
22505 * loader/i386/pc/multiboot.c: Update comment not to say that
22506 boot_device support is unimplemented.
22507
22508 2008-08-31 Robert Millan <rmh@aybabtu.com>
22509
22510 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22511 or memory map support are unimplemented.
22512
22513 2008-08-31 Colin D Bennett <colin@gibibit.com>
22514
22515 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22516
22517 2008-08-31 Colin D Bennett <colin@gibibit.com>
22518
22519 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22520 total video memory in 'vbeinfo' output; show color format details for
22521 each video mode.
22522
22523 2008-08-30 Pavel Roskin <proski@gnu.org>
22524
22525 * util/genmoddep.c: Remove for real this time.
22526 * DISTLIST: Remove util/genmoddep.c.
22527
22528 2008-08-30 Robert Millan <rmh@aybabtu.com>
22529
22530 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22531 as required by Multiboot spec (it was already 4-byte aligned, but
22532 only by chance).
22533
22534 2008-08-29 Pavel Roskin <proski@gnu.org>
22535
22536 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22537 * kern/powerpc/ieee1275/startup.S: ... this.
22538 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22539 * DISTLIST: Likewise.
22540
22541 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22542 grub/cpu/kernel.h. Add start label for consistency with other
22543 platforms. Add grub_prefix immediately after start. Add jump
22544 to the code after grub_prefix.
22545 * include/grub/powerpc/kernel.h: Provide valid values for
22546 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22547
22548 2008-08-29 Bean <bean123ch@gmail.com>
22549
22550 * configure.ac: Change host_os to cygwin for mingw.
22551 (asprintf): New check for function.
22552
22553 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22554 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22555
22556 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22557 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22558 sync, sleep and grub_util_get_disk_size for mingw.
22559
22560 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22561 to get size in mingw.
22562 (open_device): Use flag O_BINARY if it's defined.
22563 (find_root_device): Add dummy code for mingw.
22564
22565 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22566 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22567 (get_scsi_disk_name): Return 0 for mingw.
22568
22569 * util/hostfs.c: #include <grub/util/misc.h>.
22570 (grub_hostfs_open): Use "rb" flag to open file, use
22571 grub_util_get_disk_size to get disk size for mingw.
22572
22573 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22574 (asprintf): New function if HAVE_ASPRINTF is not set.
22575 (sync): New function for mingw.
22576 (sleep): Likewise.
22577 (grub_util_get_disk_size): Likewise.
22578
22579 2008-08-28 Pavel Roskin <proski@gnu.org>
22580
22581 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22582 kern/time.c.
22583
22584 2008-08-28 Robert Millan <rmh@aybabtu.com>
22585
22586 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22587
22588 2008-08-28 Robert Millan <rmh@aybabtu.com>
22589
22590 Change find_grub_drive() syntax so it doesn't prevent it from
22591 detecting NULL names as errors.
22592
22593 * util/biosdisk.c (find_grub_drive): Move free slot search code
22594 from here ...
22595 (find_free_slot): ... to here.
22596 (read_device_map): Use find_free_slot() to search for free slots.
22597
22598 2008-08-27 Marco Gerards <marco@gnu.org>
22599
22600 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22601 (scsi_mod_SOURCES): New variable.
22602 (scsi_mod_CFLAGS): Likewise
22603 (scsi_mod_LDFLAGS): Likewise.
22604
22605 * disk/scsi.c: New file.
22606
22607 * include/grub/scsi.h: Likewise.
22608
22609 * include/grub/scsicmd.h: Likewise.
22610
22611 * disk/ata.c: Include <grub/scsi.h>.
22612 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22613 instead.
22614 (grub_ata_iterate): Skip ATAPI devices.
22615 (grub_ata_open): Only handle ATAPI devices.
22616 (struct grub_atapi_read): Removed.
22617 (grub_atapi_readsector): Likewise.
22618 (grub_ata_read): No longer handle ATAPI devices.
22619 (grub_ata_write): Likewise.
22620 (grub_atapi_iterate): New function.
22621 (grub_atapi_read): Likewise.
22622 (grub_atapi_write): Likewise.
22623 (grub_atapi_open): Likewise.
22624 (grub_atapi_close): Likewise.
22625 (grub_atapi_dev): New variable.
22626 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22627 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22628
22629 * include/grub/disk.h (enum grub_disk_dev_id): Add
22630 `GRUB_DISK_DEVICE_SCSI_ID'.
22631
22632 2008-08-26 Robert Millan <rmh@aybabtu.com>
22633
22634 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22635 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22636 descriptive.
22637
22638 2008-08-23 Bean <bean123ch@gmail.com>
22639
22640 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22641 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22642 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22643 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22644 dm_nv.mod.
22645 (raid5rec_mod_SOURCES): New macro.
22646 (raid5rec_mod_CFLAGS): Likewise.
22647 (raid5rec_mod_LDFLAGS): Likewise.
22648 (raid6rec_mod_SOURCES): Likewise.
22649 (raid6rec_mod_CFLAGS): Likewise.
22650 (raid6rec_mod_LDFLAGS): Likewise.
22651 (mdraid_mod_SOURCES): Likewise.
22652 (mdraid_mod_CFLAGS): Likewise.
22653 (mdraid_mod_LDFLAGS): Likewise.
22654 (dm_nv_mod_SOURCES): Likewise.
22655 (dm_nv_mod_CFLAGS): Likewise.
22656 (dm_nv_mod_LDFLAGS): Likewise.
22657
22658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22659 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22660 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22661
22662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22663 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22664
22665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22666
22667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22668
22669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22670
22671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22672
22673 * disk/raid5_recover.c: New file.
22674
22675 * disk/raid6_recover.c: Likewise.
22676
22677 * disk/mdraid_linux.c: Likewise.
22678
22679 * disk/dmraid_nvidia.c: Likewise.
22680
22681 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22682 ULONG_MAX.
22683
22684 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22685 calculate the size of raid device.
22686 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22687 different layout of raid5.
22688 (grub_raid_scan_device): Remove code specific to mdraid.
22689 (grub_raid_list): New variable.
22690 (free_array): New function.
22691 (grub_raid_register): Likewise.
22692 (grub_raid_unregister): Likewise.
22693 (grub_raid_rescan): Likewise.
22694 (GRUB_MOD_INIT): Don't iterate device here.
22695 (GRUB_MOD_FINI): Use free_array to release resource.
22696
22697 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22698 (grub_raid5_recover_func_t): New function variable type.
22699 (grub_raid6_recover_func_t): Likewise.
22700 (grub_raid5_recover_func): New variable.
22701 (grub_raid6_recover_func): Likewise.
22702 (grub_raid_register): New function.
22703 (grub_raid_unregister): Likewise.
22704 (grub_raid_rescan): Likewise.
22705 (grub_raid_block_xor): Likewise.
22706
22707 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22708 (CMD_CRC): New macro.
22709 (part): Removed.
22710 (read_file): Handle device as well as file.
22711 (cmd_crc): New function.
22712 (fstest): Handle multiple disks.
22713 (options): Remove part, raw and long, add root and diskcount.
22714 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22715 (main): Find the first non option entry and ignore subsequent options,
22716 add handling for the new options, support multiple disks.
22717
22718 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22719
22720 2008-08-23 Bean <bean123ch@gmail.com>
22721
22722 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22723
22724 * genfslist.sh: Ignore kernel.mod.
22725
22726 * genpartmaplist.sh: Likewise.
22727
22728 2008-08-23 Robert Millan <rmh@aybabtu.com>
22729
22730 * util/getroot.c (find_root_device): Skip anything that starts with
22731 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22732
22733 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22734
22735 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22736 * util/grub.d/00_header.in: Allow the administrator to change default
22737 gfxmode via ${GRUB_GFXMODE}.
22738
22739 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22740
22741 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22742
22743 2008-08-21 Robert Millan <rmh@aybabtu.com>
22744
22745 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22746 loader.
22747 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22748 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22749
22750 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22751
22752 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22753 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22754
22755 2008-08-19 Robert Millan <rmh@aybabtu.com>
22756
22757 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22758 (struct grub_virtual_screen): Remove `cursor_color'.
22759 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22760 initialization.
22761 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22762
22763 2008-08-18 Robert Millan <rmh@aybabtu.com>
22764
22765 Unify (identical) linux_normal.c files.
22766 * loader/i386/efi/linux_normal.c: Move from here ...
22767 * loader/linux_normal.c: ... to here. Update all users.
22768 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22769 * loader/i386/ieee1275/linux_normal.c: Likewise.
22770
22771 2008-08-18 Robert Millan <rmh@aybabtu.com>
22772
22773 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22774 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22775 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22776 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22777 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22778 New macros.
22779 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22780 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22781 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22782 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22783 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22784 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22785 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22786 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22787 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22788 portably using grub_getxy().
22789 Replace `-EFI' with `-bzImage' in boot message.
22790
22791 2008-08-17 Robert Millan <rmh@aybabtu.com>
22792
22793 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22794
22795 2008-08-17 Robert Millan <rmh@aybabtu.com>
22796
22797 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22798
22799 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22800 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22801 (grub_machine_mmap_iterate): New function declaration.
22802 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22803 structure.
22804 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22805 macros.
22806
22807 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22808 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22809 Move e820 parsing from here ...
22810 * kern/i386/pc/mmap.c: New file.
22811 (grub_machine_mmap_iterate): ... to here.
22812
22813 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22814 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22815 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22816 (grub_available_iterate): Redeclare to return `void', and redeclare
22817 its hook to use grub_uint64_t as addr and size parameters, and rename
22818 to ...
22819 (grub_machine_mmap_iterate): ... this. Update all users.
22820
22821 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22822 to make it more readable. Rename to ...
22823 (grub_machine_mmap_iterate): ... this.
22824
22825 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22826 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22827 (grub_multiboot): Allocate an extra region after the payload, and fill
22828 it with a Multiboot memory map. Adjust a.out loader to calculate size
22829 with the extra space.
22830 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22831 with the extra space.
22832
22833 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22834
22835 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22836
22837 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22838
22839 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22840 mdate-sh to the list `find' searches for.
22841 * DISTLIST: Regenerated.
22842
22843 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22844
22845 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22846 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22847 genmoddep.awk, gensymlist.sh.in.
22848 (DISTDIRS): Add bus, docs, hook, lib.
22849 * DISTLIST: Regenerated.
22850 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22851
22852 2008-08-16 Robert Millan <rmh@aybabtu.com>
22853
22854 * disk/raid.c (grub_raid_init): Handle/report errors set by
22855 grub_device_iterate().
22856 * disk/lvm.c (grub_lvm_init): Likewise.
22857
22858 2008-08-15 Bean <bean123ch@gmail.com>
22859
22860 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22861 and datehook.mod.
22862 (datetime_mod_SOURCES): New macro.
22863 (datetime_mod_CFLAGS): Likewise.
22864 (datetime_mod_LDFLAGS): Likewise.
22865 (date_mod_SOURCES): Likewise.
22866 (date_mod_CFLAGS): Likewise.
22867 (date_mod_LDFLAGS): Likewise.
22868 (datehook_mod_SOURCES): Likewise.
22869 (datehook_mod_CFLAGS): Likewise.
22870 (datehook_mod_LDFLAGS): Likewise.
22871
22872 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22873 and datehook.mod.
22874 (datetime_mod_SOURCES): New macro.
22875 (datetime_mod_CFLAGS): Likewise.
22876 (datetime_mod_LDFLAGS): Likewise.
22877 (date_mod_SOURCES): Likewise.
22878 (date_mod_CFLAGS): Likewise.
22879 (date_mod_LDFLAGS): Likewise.
22880 (datehook_mod_SOURCES): Likewise.
22881 (datehook_mod_CFLAGS): Likewise.
22882 (datehook_mod_LDFLAGS): Likewise.
22883
22884 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22885 and datehook.mod.
22886 (datetime_mod_SOURCES): New macro.
22887 (datetime_mod_CFLAGS): Likewise.
22888 (datetime_mod_LDFLAGS): Likewise.
22889 (date_mod_SOURCES): Likewise.
22890 (date_mod_CFLAGS): Likewise.
22891 (date_mod_LDFLAGS): Likewise.
22892 (datehook_mod_SOURCES): Likewise.
22893 (datehook_mod_CFLAGS): Likewise.
22894 (datehook_mod_LDFLAGS): Likewise.
22895
22896 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22897 and datehook.mod.
22898 (datetime_mod_SOURCES): New macro.
22899 (datetime_mod_CFLAGS): Likewise.
22900 (datetime_mod_LDFLAGS): Likewise.
22901 (date_mod_SOURCES): Likewise.
22902 (date_mod_CFLAGS): Likewise.
22903 (date_mod_LDFLAGS): Likewise.
22904 (datehook_mod_SOURCES): Likewise.
22905 (datehook_mod_CFLAGS): Likewise.
22906 (datehook_mod_LDFLAGS): Likewise.
22907
22908 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22909 and datehook.mod.
22910 (datetime_mod_SOURCES): New macro.
22911 (datetime_mod_CFLAGS): Likewise.
22912 (datetime_mod_LDFLAGS): Likewise.
22913 (date_mod_SOURCES): Likewise.
22914 (date_mod_CFLAGS): Likewise.
22915 (date_mod_LDFLAGS): Likewise.
22916 (datehook_mod_SOURCES): Likewise.
22917 (datehook_mod_CFLAGS): Likewise.
22918 (datehook_mod_LDFLAGS): Likewise.
22919
22920 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22921
22922 * commands/date.c: New file.
22923
22924 * hook/datehook.c: Likewise.
22925
22926 * include/grub/lib/datetime.h: Likewise.
22927
22928 * include/grub/i386/cmos.h: Likewise.
22929
22930 * lib/datetime.c: Likewise.
22931
22932 * lib/i386/datetime.c: Likewise.
22933
22934 * lib/efi/datetime.c: Likewise.
22935
22936 2008-08-14 Robert Millan <rmh@aybabtu.com>
22937
22938 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22939 (grub_mkelfimage_SOURCES): New variable.
22940 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22941
22942 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22943 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22944 * conf/powerpc-ieee1275.rmk: Likewise.
22945 * conf/i386-ieee1275.rmk: Likewise.
22946
22947 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22948 * kern/i386/coreboot/init.c: Likewise.
22949
22950 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22951 with `<grub/cpu/kernel.h>'.
22952 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22953 to ...
22954 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22955 * kern/i386/coreboot/startup.S: Likewise.
22956
22957 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22958 (GRUB_MOD_GAP): Remove.
22959 * include/grub/powerpc/kernel.h: New file.
22960 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22961 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22962 * include/grub/i386/kernel.h: New file.
22963 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22964 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22965 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22966
22967 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22968 `grub-mkelfimage'.
22969 Use --directory when invoking grub_mkimage.
22970
22971 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22972 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22973 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22974 and GRUB_KERNEL_CPU_PREFIX.
22975
22976 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22977
22978 * include/grub/err.h (grub_err_printf): New function prototype.
22979 * util/misc.c (grub_err_printf): New function.
22980 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22981 grub_printf.
22982 * kern/err.c (grub_print_error): Use grub_err_printf.
22983
22984 2008-08-13 Robert Millan <rmh@aybabtu.com>
22985
22986 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22987
22988 2008-08-13 Robert Millan <rmh@aybabtu.com>
22989
22990 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22991 boot entry.
22992
22993 2008-08-12 Robert Millan <rmh@aybabtu.com>
22994
22995 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22996 of the relocation code from here ...
22997 (grub_multiboot): ... to here.
22998 (forward_relocator, backward_relocator): Move from here ...
22999 * kern/i386/loader.S (grub_multiboot_forward_relocator)
23000 (grub_multiboot_backward_relocator): ... to here.
23001 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
23002 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
23003 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
23004 (grub_multiboot_forward_relocator_end)
23005 (grub_multiboot_backward_relocator)
23006 (grub_multiboot_backward_relocator_end): New variables.
23007
23008 2008-08-12 Bean <bean123ch@gmail.com>
23009
23010 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
23011
23012 2008-08-11 Robert Millan <rmh@aybabtu.com>
23013
23014 * kern/i386/linuxbios/startup.S: Move from here ...
23015 * kern/i386/coreboot/startup.S: ... to here.
23016
23017 * kern/i386/linuxbios/init.c: Move from here ...
23018 * kern/i386/coreboot/init.c: ... to here.
23019
23020 * kern/i386/linuxbios/table.c: Move from here ...
23021 * kern/i386/coreboot/mmap.c: ... to here.
23022
23023 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
23024
23025 2008-08-11 Robert Millan <rmh@aybabtu.com>
23026
23027 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
23028 errors. Leave it to the upper layer to handle them.
23029
23030 2008-08-09 Christian Franke <franke@computer.org>
23031
23032 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
23033 * conf/common.rmk: Install `grub-pe2elf' only if requested.
23034 Install `grub.d/10_windows' only on Cygwin.
23035 * configure.ac: Add subst of `target_os'.
23036 Check `target_os' also before setting TARGET_OBJ2ELF.
23037 Add `--enable-grub-pe2elf'.
23038
23039 2008-08-08 Robert Millan <rmh@aybabtu.com>
23040
23041 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23042 (grub_last_time): Change type to grub_uint64_t.
23043 (grub_disk_open): Migrate code from to using grub_get_time_ms().
23044 (grub_disk_close): Likewise.
23045
23046 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23047 (run_menu): Migrate code from to using grub_get_time_ms().
23048
23049 * util/misc.c (grub_get_time_ms): New function.
23050
23051 2008-08-08 Marco Gerards <marco@gnu.org>
23052
23053 * disk/ata.c (grub_ata_regget): Change return type to
23054 `grub_uint8_t'.
23055 (grub_ata_regget2): Likewise.
23056 (grub_ata_wait_status): New function.
23057 (grub_ata_wait_busy): Removed function, updated all users to use
23058 `grub_ata_wait_status'.
23059 (grub_ata_wait_drq): Likewise.
23060 (grub_ata_cmd): New function.
23061 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
23062 error handling.
23063 (grub_ata_pio_write): Add error handling.
23064 (grub_atapi_identify): Likewise.
23065 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
23066 handling.
23067 (grub_ata_identify): Use `grub_ata_cmd' and improve error
23068 handling. Actually use the detected registers. Reorder the
23069 detection logic such that it is easier to read.
23070 (grub_ata_pciinit): Do not assign the same ID to each controller.
23071 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
23072 handling.
23073 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
23074
23075 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
23076
23077 2008-08-08 Marco Gerards <marco@gnu.org>
23078
23079 * NEWS: Update.
23080
23081 2008-08-07 Bean <bean123ch@gmail.com>
23082
23083 * include/grub/x86_64/pci.h: New file.
23084
23085 2008-08-07 Christian Franke <franke@computer.org>
23086
23087 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
23088 (TIMER2_GATE): Likewise.
23089 (grub_pit_wait): Add enable/disable of the timer2 gate
23090 bit of port 0x61. This fixes a possible infinite loop.
23091
23092 2008-08-07 Bean <bean123ch@gmail.com>
23093
23094 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
23095 kern/i386/tsc.c and kern/i386/pit.c.
23096
23097 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
23098 x86_64 platform.
23099
23100 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23101 <grub/i386/tsc.h>.
23102
23103 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23104
23105 2008-08-07 Bean <bean123ch@gmail.com>
23106
23107 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23108
23109 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23110
23111 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23112 multiple inclusion. Add #include <grub/types.h>.
23113
23114 2008-08-06 Christian Franke <franke@computer.org>
23115
23116 * conf/common.rmk: Build and install `10_windows'.
23117 * util/grub.d/10_windows.in: New script.
23118
23119 2008-08-06 Pavel Roskin <proski@gnu.org>
23120
23121 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23122
23123 2008-08-06 Robert Millan <rmh@aybabtu.com>
23124
23125 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23126 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23127
23128 2008-08-06 Bean <bean123ch@gmail.com>
23129
23130 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23131 (grub_pxefs_fs_int): Remove dummy definition.
23132 (grub_pxefs_open): Use data->block_size to store the current block
23133 size setting.
23134 (grub_pxefs_read): Use block size stored in data->block_size. As the
23135 value of grub_pxe_blksize can be changed after the file is opened.
23136
23137 2008-08-06 Bean <bean123ch@gmail.com>
23138
23139 * fs/i386/pc/pxe.c (curr_file): new variable.
23140 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23141 require the dummy internal file system anymore.
23142 (grub_pxefs_read): Removed.
23143 (grub_pxefs_close): Likewise.
23144 (grub_pxefs_fs_int): Likewise.
23145 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23146 connection when we switch file.
23147 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23148
23149 2008-08-06 Robert Millan <rmh@aybabtu.com>
23150
23151 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23152 `halt.mod'.
23153 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23154 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23155
23156 * kern/i386/halt.c: New file.
23157 * kern/i386/reboot.c: Likewise.
23158 * include/grub/i386/reboot.h: Likewise.
23159 * include/grub/i386/halt.h: Likewise.
23160
23161 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23162 Include `<grub/cpu/halt.h>'.
23163 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23164 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23165
23166 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23167 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23168 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23169 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23170 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23171 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23172 from here ...
23173 * include/grub/i386/at_keyboard.h: ... to here.
23174
23175 2008-08-05 Robert Millan <rmh@aybabtu.com>
23176
23177 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23178 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23179 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23180 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23181 `kern/generic/millisleep.c'.
23182
23183 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23184 instead of grub_get_rtc().
23185 (grub_tsc_init): Initialize `tsc_boot_time'.
23186
23187 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23188 (grub_machine_init): Use grub_tsc_init() rather than
23189 installing an RTC-based handler via grub_install_get_time_ms().
23190
23191 * kern/i386/pit.c: New file.
23192 * include/grub/i386/pit.h: Likewise.
23193
23194 2008-08-05 Bean <bean123ch@gmail.com>
23195
23196 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23197
23198 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23199 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23200 (pxe_mod_SOURCES): New macro.
23201 (pxe_mod_CFLAGS): Likewise.
23202 (pxe_mod_LDFLAGS): Likewise.
23203 (pxecmd_mod_SOURCES): Likewise.
23204 (pxecmd_mod_CFLAGS): Likewise.
23205 (pxecmd_mod_LDFLAGS): Likewise.
23206
23207 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23208 (grub_pxe_call): Likewise.
23209
23210 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23211
23212 * commands/i386/pc/pxecmd.c: New file.
23213
23214 * fs/i386/pc/pxe.c: Likewise.
23215
23216 * include/grub/i386/pc/pxe.h: Likewise.
23217
23218 2008-08-05 Bean <bean123ch@gmail.com>
23219
23220 * util/console.c (grub_console_cur_color): New variable.
23221 (grub_console_standard_color): Likewise.
23222 (grub_console_normal_color): Likewise.
23223 (grub_console_highlight_color): Likewise.
23224 (color_map): Likewise.
23225 (use_color): Likewise.
23226 (NUM_COLORS): New macro.
23227 (grub_ncurses_setcolorstate): Handle color properly.
23228 (grub_ncurses_setcolor): Don't change color here, just remember the
23229 settings, color will be set in grub_ncurses_setcolorstate.
23230 (grub_ncurses_getcolor): New function.
23231 (grub_ncurses_init): Initialize color pairs.
23232 (grub_ncurses_term): New member grub_ncurses_getcolor.
23233
23234 2008-08-05 Colin D Bennett <colin@gibibit.com>
23235
23236 High resolution timer support. Implemented for x86 CPUs using TSC.
23237 Extracted generic grub_millisleep() so it's linked in only as needed.
23238 This requires a Pentium compatible CPU; if the RDTSC instruction is
23239 not supported, then it falls back on the generic grub_get_time_ms()
23240 implementation that uses the machine's RTC.
23241
23242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23243 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23244 `kern/generic/millisleep.c'.
23245
23246 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23247 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23248
23249 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23250 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23251
23252 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23253
23254 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23255 `kern/generic/millisleep.c'.
23256
23257 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23258
23259 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23260
23261 * kern/generic/rtc_get_time_ms.c: New file.
23262
23263 * kern/generic/millisleep.c: New file.
23264
23265 * kern/misc.c: Don't include
23266 <kern/time.h> anymore.
23267 (grub_millisleep_generic): Removed.
23268
23269 * commands/sleep.c (grub_interruptible_millisleep): Uses
23270 grub_get_time_ms() instead of grub_get_rtc().
23271
23272 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23273 function.
23274 (grub_cpu_is_cpuid_supported): New inline function.
23275 (grub_cpu_is_tsc_supported): New inline function.
23276 (grub_tsc_init): New function prototype.
23277 (grub_tsc_get_time_ms): New function prototype.
23278
23279 * kern/i386/tsc.c (grub_get_time_ms): New file.
23280
23281 * include/grub/time.h: Include <grub/types.h.
23282 (grub_millisleep_generic): Removed.
23283 (grub_get_time_ms): New prototype.
23284 (grub_install_get_time_ms): New prototype.
23285 (grub_rtc_get_time_ms): New prototype.
23286
23287 * kern/time.c (grub_get_time_ms): New function.
23288 (grub_install_get_time_ms): New function.
23289
23290 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23291 <grub/time.h> anymore.
23292 (grub_millisleep): Removed.
23293 (grub_machine_init): Call grub_tsc_init.
23294
23295 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23296 get_time_ms() implementation.
23297
23298 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23299 (ieee1275_get_time_ms): New function.
23300 (grub_machine_init): Install get_time_ms() implementation.
23301
23302 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23303 (grub_machine_init): Call grub_tsc_init().
23304 (grub_millisleep): Removed.
23305
23306 * kern/ieee1275/init.c (grub_millisleep): Removed.
23307 (grub_machine_init): Install ieee1275_get_time_ms()
23308 implementation.
23309 (ieee1275_get_time_ms): New function.
23310 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23311 real work.
23312
23313 2008-08-05 Marco Gerards <marco@gnu.org>
23314
23315 * disk/ata.c: Include <grub/pci.h>.
23316 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23317 (grub_ata_initialize): Rewritten.
23318 (grub_ata_device_initialize): New function.
23319
23320 2008-08-04 Pavel Roskin <proski@gnu.org>
23321
23322 * kern/main.c: Include grub/mm.h.
23323
23324 2008-08-04 Robert Millan <rmh@aybabtu.com>
23325
23326 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23327 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23328 corruption problem).
23329
23330 2008-08-04 Robert Millan <rmh@aybabtu.com>
23331
23332 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23333 warnings introduced in my last commit.
23334
23335 2008-08-03 Robert Millan <rmh@aybabtu.com>
23336
23337 Make PCI available on all i386 architectures.
23338
23339 * include/grub/i386/pc/pci.h: Move from here ...
23340 * include/grub/i386/pci.h: ... to here.
23341
23342 * include/grub/i386/pc/pci.h: Remove.
23343 * include/grub/i386/efi/pci.h: Remove.
23344 * include/grub/x86_64/efi/pci.h: Remove.
23345
23346 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23347 `<grub/cpu/pci.h>'.
23348
23349 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23350 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23351 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23352
23353 * conf/i386-ieee1275.rmk: Likewise.
23354
23355 2008-08-03 Robert Millan <rmh@aybabtu.com>
23356
23357 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23358 (grub_console_setcursor): Make it possible to set cursor off.
23359
23360 2008-08-03 Robert Millan <rmh@aybabtu.com>
23361
23362 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23363 of modules instead of assuming which platform provides what.
23364 * util/update-grub.in: Likewise.
23365
23366 2008-08-03 Robert Millan <rmh@aybabtu.com>
23367
23368 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23369 instead of `grub_install_dos_part' to determine whether a drive needs
23370 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23371 because it can be overridden when loading GRUB via Multiboot).
23372
23373 2008-08-02 Robert Millan <rmh@aybabtu.com>
23374
23375 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23376
23377 2008-08-02 Robert Millan <rmh@aybabtu.com>
23378
23379 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23380 of informational grub_dprintf() calls.
23381
23382 2008-08-02 Robert Millan <rmh@aybabtu.com>
23383
23384 * disk/memdisk.c (memdisk_size): Don't initialize.
23385 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23386
23387 * include/grub/i386/pc/kernel.h
23388 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23389 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23390 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23391 (grub_arch_memdisk_size): Remove.
23392
23393 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23394 field (was only used to transfer a constant). Add `type' field to
23395 support multiple module types.
23396 (grub_module_iterate): New function.
23397
23398 * kern/device.c (grub_device_open): Do not hide error messages
23399 when grub_disk_open() fails. Use grub_print_error() instead.
23400
23401 * kern/i386/pc/init.c (grub_arch_modules_addr)
23402 (grub_arch_memdisk_size): Remove functions.
23403 (grub_arch_modules_addr): Return the module address in high memory
23404 (now that it isn't copied anymore).
23405
23406 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23407 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23408 decompression routine (grub_total_module_size already includes that
23409 now). Don't copy modules back to low memory.
23410
23411 * kern/main.c: Include `<grub/mm.h>'.
23412 (grub_load_modules): Split out (and use) ...
23413 (grub_module_iterate): ... this function, which iterates through
23414 module objects and runs a hook.
23415 Comment out grub_mm_init_region() call, as it would cause non-ELF
23416 modules to be overwritten.
23417
23418 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23419 the memdisk image in its own region, make it part of the module list.
23420 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23421 (main): Parse --memdisk|-m option, and pass user-provided path as
23422 parameter to generate_image().
23423 (add_segments): Pass `memdisk_path' down to load_modules().
23424 (load_modules): Embed memdisk image in module section when requested.
23425 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23426 `header.type' instead of `header.offset'.
23427
23428 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23429 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23430 (memdisk_mod_LDFLAGS): New variables.
23431 * conf/i386-coreboot.rmk: Likewise.
23432 * conf/i386-ieee1275.rmk: Likewise.
23433
23434 2008-08-02 Robert Millan <rmh@aybabtu.com>
23435
23436 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23437 (backward_relocator): New variables. Used to allocate and relocate
23438 the payload, respectively.
23439 (grub_multiboot_load_elf32): Load into heap instead of requested
23440 address, install the appropriate relocator code in each bound of
23441 the payload, and set the entry point such that
23442 grub_multiboot_real_boot() will jump to one of them.
23443
23444 * kern/i386/loader.S (grub_multiboot_payload_size)
23445 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23446 (grub_multiboot_payload_entry_offset): New variables.
23447 (grub_multiboot_real_boot): Set cpu context to what the relocator
23448 expects, and jump to the relocator instead of the payload.
23449
23450 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23451 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23452 (grub_multiboot_payload_entry_offset): Export.
23453
23454 2008-08-01 Bean <bean123ch@gmail.com>
23455
23456 * normal/menu_entry.c (editor_getline): Don't return the original
23457 string as result, as it will be released by lexer once it has done
23458 using it.
23459
23460 2008-08-01 Robert Millan <rmh@aybabtu.com>
23461
23462 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23463 within menuentries, not before them.
23464 util/grub.d/10_hurd.in: Likewise.
23465
23466 2008-08-01 Bean <bean123ch@gmail.com>
23467
23468 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23469 (bufio_mod_SOURCES): New macro.
23470 (bufio_mod_CFLAGS): Likewise.
23471 (bufio_mod_LDFLAGS): Likewise.
23472
23473 * include/grub/bufio.h: New file.
23474
23475 * io/bufio.c: Likewise.
23476
23477 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23478 (grub_video_reader_png): Use grub_buffile_open to open file.
23479
23480 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23481 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23482
23483 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23484 (grub_video_reader_tga): Use grub_buffile_open to open file.
23485
23486 * font/manager.c: Include <grub/bufio.h>.
23487 (add_font): Use grub_buffile_open to open file.
23488
23489 2008-07-31 Robert Millan <rmh@aybabtu.com>
23490
23491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23492 ELF segments, use a macro for arbitrarily accessing any of them instead
23493 of preparing a pointer that allows access to one at a time.
23494 (grub_multiboot_load_elf64): Likewise.
23495
23496 2008-07-31 Bean <bean123ch@gmail.com>
23497
23498 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23499 GRUB_KERNEL_MACHINE_DATA_END.
23500
23501 2008-07-30 Robert Millan <rmh@aybabtu.com>
23502
23503 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23504 Increase from 0x50 to 0x60.
23505 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23506 use UUIDs to identify the root drive for them. If that's not
23507 possible, abort.
23508 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23509 check, for cross-disk installs.
23510
23511 2008-07-30 Robert Millan <rmh@aybabtu.com>
23512
23513 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23514 is non-empty, use it to set the `prefix' environment variable instead
23515 of the usual approach.
23516 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23517 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23518 environment variable instead of dummy make_install_device().
23519
23520 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23521 (start): Insert a data section, with `grub_prefix' variable.
23522 * kern/i386/linuxbios/startup.S: Likewise.
23523
23524 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23525 New variable reference.
23526 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23527 New macro. Defines offset of `grub_prefix' within startup.S (relative
23528 to `start').
23529 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23530 section within startup.S (relative to `start').
23531 * include/grub/i386/coreboot/kernel.h: Likewise.
23532
23533 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23534 Overwrite grub_prefix with its contents, at the beginning of the
23535 first segment.
23536 (main): Understand -p|--prefix.
23537
23538 2008-07-30 Robert Millan <rmh@aybabtu.com>
23539
23540 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23541
23542 2008-07-30 Robert Millan <rmh@aybabtu.com>
23543
23544 * term/i386/pc/vga_text.c (grub_console_cls): Use
23545 grub_console_gotoxy() to go back to beginning of the screen.
23546 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23547
23548 2008-07-29 Christian Franke <franke@computer.org>
23549
23550 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23551 Add conversion of emulated mount points on Cygwin.
23552
23553 2008-07-29 Christian Franke <franke@computer.org>
23554
23555 * util/update-grub.in: Add a check for admin
23556 group on Cygwin.
23557 Remove old `grub.cfg.new' before creation.
23558 Add `-f' to `mv' to handle the different filesystem
23559 semantics of Windows.
23560
23561 2008-07-29 Bean <bean123ch@gmail.com>
23562
23563 * normal/main.c (get_line): Fix buffer overflow bug.
23564
23565 2008-07-28 Robert Millan <rmh@aybabtu.com>
23566
23567 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23568 (struct grub_apple_header): New struct. Describes the layout of
23569 the partmap header.
23570 (apple_partition_map_iterate): Check the header magic as well as the
23571 partition magic (which was already being checked).
23572
23573 2008-07-28 Pavel Roskin <proski@gnu.org>
23574
23575 * genmk.rb: Add a warning to the beginning of the output that
23576 it's a generated file and should not be edited.
23577
23578 2008-07-28 Robert Millan <rmh@aybabtu.com>
23579
23580 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23581 with the same number are found, just use issue a warning with
23582 grub_dprintf(), as this error has been reported to be non-fatal.
23583
23584 2008-07-27 Robert Millan <rmh@aybabtu.com>
23585
23586 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23587 information.
23588
23589 2008-07-27 Bean <bean123ch@gmail.com>
23590
23591 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23592 (grub_fat_find_dir): Ignore case when comparing filename.
23593
23594 2008-07-27 Bean <bean123ch@gmail.com>
23595
23596 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23597 smallino, as it's more descriptive, and i8count can be confused with
23598 the other field count.
23599 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23600 inode type.
23601
23602 2008-07-27 Bean <bean123ch@gmail.com>
23603
23604 * commands/crc.c: New file.
23605
23606 * lib/crc.c: Likewise.
23607
23608 * include/grub/lib/crc.h: Likewise.
23609
23610 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23611
23612 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23613 (hexdump): Move this function to ...
23614
23615 * lib/hexdump.c: ... here.
23616
23617 * include/grub/hexdump.h: Renamed to ...
23618
23619 * include/grub/lib/hexdump.h: ... this.
23620
23621 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23622
23623 * util/grub-editenv.c: Likewise.
23624
23625 * include/envblk.h: Renamed to ...
23626
23627 * include/lib/envblk.h: ... this.
23628
23629 * util/envblk.c: Renamed to ...
23630
23631 * lib/envblk.c: ... this.
23632
23633 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23634 lib/hexdump.c.
23635 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23636 (pkglib_MODULES): Add crc.mod.
23637 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23638 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23639 (crc_mod_SOURCES): New macro.
23640 (crc_mod_CFLAGS): Likewise.
23641 (crc_mod_LDFLAGS): Likewise.
23642
23643 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23644
23645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23646
23647 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23648
23649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23650
23651 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23652
23653 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23654
23655 * commands/help.c: Include <grub/term.h>.
23656 (TERM_WIDTH): Removed. Updated all users.
23657
23658 2008-07-27 Pavel Roskin <proski@gnu.org>
23659
23660 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23661 spurious warnings about a comment within a comment.
23662
23663 2008-07-25 Robert Millan <rmh@aybabtu.com>
23664
23665 * util/getroot.c (find_root_device): Skip devices that match
23666 /dev/dm-[0-9]. This lets the real device be found for any type of
23667 abstraction (LVM, EVMS, RAID..).
23668 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23669 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23670 device is found first, find_root_device() will now skip it.
23671
23672 2008-07-24 Pavel Roskin <proski@gnu.org>
23673
23674 * include/grub/types.h: Use __builtin_bswap32() and
23675 __builtin_bswap64() with gcc 4.3 and newer.
23676
23677 2008-07-24 Christian Franke <franke@computer.org>
23678
23679 * util/i386/pc/grub-install.in: If `--debug' is specified,
23680 pass `--verbose' to grub-setup.
23681 Abort script if make_system_path_relative_to_its_root() fails.
23682
23683 2008-07-24 Bean <bean123ch@gmail.com>
23684
23685 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23686 variable `target_platform' should be `platform'.
23687
23688 2008-07-24 Bean <bean123ch@gmail.com>
23689
23690 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23691 (grub_png_init_fixed_block): New function.
23692 (grub_png_decode_image_data): Handle fixed huffman code compression.
23693
23694 2008-07-24 Bean <bean123ch@gmail.com>
23695
23696 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23697 (grub_pe2elf_SOURCES): New macro.
23698 (CLEANFILES): Add grub-pe2elf.
23699
23700 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23701 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23702 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23703 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23704 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23705 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23706 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23707 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23708 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23709 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23710 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23711 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23712 (GRUB_PE32_DT_FUNCTION): Likewise.
23713 (GRUB_PE32_REL_I386_DIR32): Likewise.
23714 (GRUB_PE32_REL_I386_REL32): Likewise.
23715 (grub_pe32_symbol): New structure.
23716 (grub_pe32_reloc): Likewise.
23717
23718 * util/grub-pe2elf.c: New file.
23719
23720 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23721 start symbol in non pc platform.
23722
23723 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23724
23725 The following patches are from Christian Franke.
23726
23727 * include/grub/dl.h: Remove .previous, gas supports this only
23728 for ELF format.
23729
23730 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23731 Remove .type, gas supports this only for ELF format.
23732
23733 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23734 nullbytes in symbol table. This fixes an infinite loop if table is
23735 zero filled.
23736
23737 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23738 TARGET_IMG_LDFLAGS and EXEEXT.
23739
23740 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23741 TARGET_IMG_LDFLAGS_AC.
23742 (grub_CHECK_STACK_ARG_PROBE): New function.
23743
23744 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23745
23746 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23747
23748 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23749 to set TARGET_IMG_LD* accordingly.
23750 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23751 Add call to grub_CHECK_STACK_ARG_PROBE.
23752 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23753
23754 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23755
23756 * genmk.rb: Add EXEEXT to CLEANFILES.
23757
23758 2008-07-23 Robert Millan <rmh@aybabtu.com>
23759
23760 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23761 define the codes for arrows and lines used for the menu).
23762 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23763 as well.
23764
23765 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23766 fonts, because the latter are too slow.
23767
23768 2008-07-21 Bean <bean123ch@gmail.com>
23769
23770 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23771 a20. Run keyboard test last, as it will cause macbook to halt.
23772
23773 2008-07-18 Pavel Roskin <proski@gnu.org>
23774
23775 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23776 load foreign architecture modules correctly anyway. Keep
23777 support for loading host architecture modules, whether we
23778 compile them or not.
23779
23780 2008-07-17 Pavel Roskin <proski@gnu.org>
23781
23782 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23783 change target_cpu. The compiler default can mismatch target_cpu
23784 in any case.
23785
23786 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23787 * kern/efi/efi.c: Likewise.
23788
23789 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23790 target compiler is functional.
23791 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23792 are set up.
23793
23794 * configure.ac: Default to efi platform for x86_64-apple. Allow
23795 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23796 adjustments from the rest, only do them if target is not
23797 explicitly given. Merge other adjustments with the final sanity
23798 check. Remove an extraneous check for supported CPU. Be
23799 specific which CPU and which platform is not supported.
23800
23801 * configure.ac: Default to pc platform for x86_64.
23802
23803 2008-07-17 Robert Millan <rmh@aybabtu.com>
23804
23805 Partial LinuxBIOS -> Coreboot rename.
23806
23807 * conf/i386-linuxbios.rmk: Renamed to ...
23808 * conf/i386-coreboot.rmk: ... this.
23809 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23810 * configure.ac: Accept "coreboot" as input platform (but maintain
23811 compatibility with "linuxbios").
23812 * include/grub/i386/linuxbios: Renamed to ...
23813 * include/grub/i386/coreboot: ... this.
23814
23815 2008-07-17 Bean <bean123ch@gmail.com>
23816
23817 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23818 (appleldr_mod_SOURCE): New variable.
23819 (appleldr_mod_CFLAGS): Likewise.
23820 (appleldr_mod_LDFLAGS): Likewise.
23821 (pci_mod_SOURCES): Likewise.
23822 (pci_mod_CFLAGS): Likewise.
23823 (pci_mod_LDFLAGS): Likewise.
23824 (lspci_mod_SOURCES): Likewise.
23825 (lspci_mod_CFLAGS): Likewise.
23826 (lspci_mod_LDFLAGS): Likewise.
23827
23828 * conf/x86_64-efi.rmk: New file.
23829
23830 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23831 macro.
23832 (grub_efidisk_write): Likewise.
23833
23834 * include/efi/api.h (efi_call_0): New macro.
23835 (efi_call_1): Likewise.
23836 (efi_call_2): Likewise.
23837 (efi_call_3): Likewise.
23838 (efi_call_4): Likewise.
23839 (efi_call_5): Likewise.
23840 (efi_call_6): Likewise.
23841
23842 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23843 grub_rescue_cmd_chainloader.
23844
23845 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23846 (grub_pe32_optional_header): Change some fields based on i386 or
23847 x86_64 platform.
23848 (GRUB_PE32_PE32_MAGIC): Likewise.
23849
23850 * include/grub/efi/uga_draw.h: New file.
23851
23852 * include/grub/elf.h (STN_ABS): New constant.
23853 (R_X86_64_NONE): Relocation constant for x86_64.
23854 (R_X86_64_64): Likewise.
23855 (R_X86_64_PC32): Likewise.
23856 (R_X86_64_GOT32): Likewise.
23857 (R_X86_64_PLT32): Likewise.
23858 (R_X86_64_COPY): Likewise.
23859 (R_X86_64_GLOB_DAT): Likewise.
23860 (R_X86_64_JUMP_SLOT): Likewise.
23861 (R_X86_64_RELATIVE): Likewise.
23862 (R_X86_64_GOTPCREL): Likewise.
23863 (R_X86_64_32): Likewise.
23864 (R_X86_64_32S): Likewise.
23865 (R_X86_64_16): Likewise.
23866 (R_X86_64_PC16): Likewise.
23867 (R_X86_64_8): Likewise.
23868 (R_X86_64_PC8): Likewise.
23869
23870 * include/grub/i386/efi/pci.h: New file.
23871
23872 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23873 Change it value based on platform.
23874 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23875 (GRUB_E820_RAM): Likewise.
23876 (GRUB_E820_RESERVED): Likewise.
23877 (GRUB_E820_ACPI): Likewise.
23878 (GRUB_E820_NVS): Likewise.
23879 (GRUB_E820_EXEC_CODE): Likewise.
23880 (GRUB_E820_MAX_ENTRY): Likewise.
23881 (grub_e820_mmap): New structure.
23882 (linux_kernel_header): Change the efi field according to different
23883 kernel version, also field from linux_kernel_header.
23884
23885 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23886
23887 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23888 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23889 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23890 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23891 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23892 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23893 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23894 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23895 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23896 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23897
23898 * include/grub/x86_64/efi/kernel.h: New file.
23899
23900 * include/grub/x86_64/efi/loader.h: Likewise.
23901
23902 * include/grub/x86_64/efi/machine.h: Likewise.
23903
23904 * include/grub/x86_64/efi/pci.h: Likewise.
23905
23906 * include/grub/x86_64/efi/time.h: Likewise.
23907
23908 * include/grub/x86_64/linux.h: Likewise.
23909
23910 * include/grub/x86_64/setjmp.h: Likewise.
23911
23912 * include/grub/x86_64/time.h: Likewise.
23913
23914 * include/grub/x86_64/types.h: Likewise.
23915
23916 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23917 GRUB_TARGET_SIZEOF_VOID_P.
23918
23919 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23920 (grub_efi_locate_handle): Likewise.
23921 (grub_efi_open_protocol): Likewise.
23922 (grub_efi_set_text_mode): Likewise.
23923 (grub_efi_stall): Likewise.
23924 (grub_exit): Likewise.
23925 (grub_reboot): Likewise.
23926 (grub_halt): Likewise.
23927 (grub_efi_exit_boot_services): Likewise.
23928 (grub_get_rtc): Likewise.
23929
23930 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23931 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23932 (grub_efi_allocate_pages): Wrap efi calls.
23933 (grub_efi_free_pages): Wrap efi calls.
23934 (grub_efi_get_memory_map): Wrap efi calls.
23935
23936 * kern/x86_64/dl.c: New file.
23937
23938 * kern/x86_64/efi/callwrap.S: Likewise.
23939
23940 * kern/x86_64/efi/startup.S: Likewise.
23941
23942 * loader/efi/appleloader.c: Likewise.
23943
23944 * loader/efi/chainloader.c (cmdline): New variable.
23945 (grub_chainloader_unload): Wrap efi calls.
23946 (grub_chainloader_boot): Likewise.
23947 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23948 command line.
23949
23950 * loader/efi/chainloader_normal.c (chainloader_command):
23951 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23952 command line.
23953
23954 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23955 method.
23956 (grub_e820_add_region): New function.
23957 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23958 booting.
23959 (grub_find_video_card): New function.
23960 (grub_linux_setup_video): New function.
23961 (grub_rescue_cmd_linux): Probe for video information.
23962
23963 * normal/x86_64/setjmp.S: New file.
23964
23965 * term/efi/console.c (map_char): New function.
23966 (grub_console_putchar): Map unicode char.
23967 (grub_console_checkkey): Wrap efi calls.
23968 (grub_console_getkey): Likewise.
23969 (grub_console_getwh): Likewise.
23970 (grub_console_gotoxy): Likewise.
23971 (grub_console_cls): Likewise.
23972 (grub_console_setcolorstate): Likewise.
23973 (grub_console_setcursor): Likewise.
23974
23975 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23976
23977 2008-07-16 Pavel Roskin <proski@gnu.org>
23978
23979 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23980 format strings.
23981
23982 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23983 pointer, not an integer. This fixes a warning and prevents
23984 precision loss on 64-bit systems.
23985 (relocate_addresses): Remove unneeded cast.
23986
23987 2008-07-15 Pavel Roskin <proski@gnu.org>
23988
23989 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23990
23991 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23992
23993 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23994 Fix comparison between signed and unsigned.
23995
23996 * include/grub/i386/ieee1275/console.h: Declare
23997 grub_console_init() and grub_console_fini().
23998
23999 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
24000 It's empty and unused.
24001
24002 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
24003 beginning to avoid warnings with some compilers.
24004
24005 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
24006 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
24007
24008 2008-07-14 Pavel Roskin <proski@gnu.org>
24009
24010 * kern/env.c (grub_register_variable_hook): Don't copy empty
24011 string, it leaks memory. Pass "" to grub_env_set(), it should
24012 handle constant strings.
24013
24014 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
24015 * commands/cmp.c (grub_cmd_cmp): Likewise.
24016 * kern/dl.c (grub_dl_flush_cache): Likewise.
24017 (grub_dl_load_core): Likewise.
24018 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
24019 (grub_elf64_load_phdrs): Likewise.
24020
24021 2008-07-13 Pavel Roskin <proski@gnu.org>
24022
24023 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
24024 between signed and unsigned.
24025 (LzmaEnc_Finish): Fix warning about an unused parameter.
24026
24027 2008-07-13 Bean <bean123ch@gmail.com>
24028
24029 * Makefile.in (enable_lzo): New rule.
24030
24031 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
24032
24033 * configure.ac (ENABLE_LZO): New option --enable-lzo.
24034
24035 * boot/i386/pc/lnxboot.S: #include <config.h>.
24036
24037 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
24038 its value according to the compression algorithm used, lzo or lzma.
24039
24040 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
24041 compression algorithm according to configure macro.
24042
24043 * kern/i386/pc/startup.S (codestart): Likewise.
24044
24045 * kern/i386/pc/lzma_decode.S: New file.
24046
24047 * include/grub/lib/LzFind.h: Likewise.
24048
24049 * include/grub/lib/LzHash.h: Likewise.
24050
24051 * include/grub/lib/LzmaDec.h: Likewise.
24052
24053 * include/grub/lib/LzmaEnc.h: Likewise.
24054
24055 * include/grub/lib/LzmaTypes.h: Likewise.
24056
24057 * lib/LzFind.c: Likewise.
24058
24059 * lib/LzmaDec.c: Likewise.
24060
24061 * lib/LzmaEnc.c: Likewise.
24062
24063 2008-07-13 Bean <bean123ch@gmail.com>
24064
24065 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
24066 (grub_ext4_extent_header): New structure.
24067 (grub_ext4_extent): Likewise.
24068 (grub_ext4_extent_idx): Likewise.
24069 (grub_ext4_find_leaf): New function.
24070 (grub_ext2_read_block): Handle extents.
24071
24072 2008-07-12 Robert Millan <rmh@aybabtu.com>
24073
24074 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
24075
24076 2008-07-11 Robert Millan <rmh@aybabtu.com>
24077
24078 * util/grub.d/40_custom.in: New file. Example on how to add custom
24079 entries to /etc/grub.d.
24080 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
24081 40_custom (implicitly, by merging all the grub.d rules).
24082
24083 2008-07-11 Pavel Roskin <proski@gnu.org>
24084
24085 * commands/read.c (grub_getline): Fix invalid memory access.
24086 Don't add newline to the variable value.
24087
24088 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
24089 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
24090 (serial_hw_get_port): Check validity of the port number.
24091 (grub_cmd_serial): Check return value of serial_hw_get_port().
24092
24093 2008-07-07 Pavel Roskin <proski@gnu.org>
24094
24095 * boot/i386/pc/diskboot.S (notification_string): Replace
24096 "Loading kernel" with just "loading". This is shorter, less
24097 confusing and saves a few bytes for possible future changes.
24098
24099 2008-07-05 Pavel Roskin <proski@gnu.org>
24100
24101 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24102 size for ATAPI devices, they are undefined. Output sector
24103 number in decimal form.
24104
24105 * disk/ata.c: Use named constants for status bits.
24106
24107 2008-07-04 Pavel Roskin <proski@gnu.org>
24108
24109 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24110 grub_addr_t before casting it to the void pointer to fix a
24111 warning. Non-addressable regions are discarded earlier.
24112 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24113 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24114 (check_signature): Don't shadow table_header.
24115 (grub_linuxbios_table_iterate): Cast numeric constants to
24116 grub_linuxbios_table_header_t.
24117 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24118 grub_stop().
24119
24120 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24121 prevent warnings.
24122
24123 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24124 pointer, which can cause warnings. Support 64-bit addresses.
24125
24126 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24127 of sizeof(long). This fixes PowerPC image generation on x86_64.
24128
24129 2008-07-04 Robert Millan <rmh@aybabtu.com>
24130
24131 This fixes a performance issue when pc & gpt partmap iterators
24132 didn't abort iteration even after our hook found what it was
24133 looking for (often causing expensive probes of non-existent drives).
24134
24135 Some callers relied on previous buggy behaviour, since they would
24136 raise an error when their own hooks caused early abortion of its
24137 iteration.
24138
24139 * kern/device.c (grub_device_open): Improve error message.
24140 * disk/lvm.c (grub_lvm_open): Likewise.
24141 * disk/raid.c (grub_raid_open): Likewise.
24142
24143 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24144 when hook requests it, independently of grub_errno.
24145 (pc_partition_map_probe): Do not fail when find_func() caused
24146 early abortion of pc_partition_map_iterate().
24147
24148 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24149 when hook requests it, independently of grub_errno.
24150 (gpt_partition_map_probe): Do not fail when find_func() caused
24151 early abortion of gpt_partition_map_iterate().
24152
24153 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24154 when hook requests it, independently of grub_errno. Do not fail when
24155 part_map_iterate_hook() caused early abortion of p->iterate().
24156
24157 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24158 when grub_partition_iterate() returned with non-zero.
24159
24160 2008-07-03 Pavel Roskin <proski@gnu.org>
24161
24162 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24163 like we do in grub_ata_pio_read().
24164 (grub_ata_readwrite): Always write individual sectors. Fix the
24165 sector count for the remainder.
24166 (grub_ata_write): Enable writing to ATA devices. Correctly
24167 report error for ATAPI devices.
24168
24169 2008-07-02 Pavel Roskin <proski@gnu.org>
24170
24171 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24172 warning.
24173
24174 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24175 for every read sector, we already increment it for the whole
24176 batch. This fixes reading more than 256 sectors at once.
24177
24178 * util/grub-editenv.c (cmd_info): Cast argument to long
24179 explicitly. ptrdiff_t reduces to int on i386.
24180
24181 * util/grub-editenv.c (main): Be specific which parameter is
24182 missing.
24183
24184 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24185 (memdisk): Make memdisk_orig_addr a pointer.
24186
24187 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24188 for file offsets, use grub_off_t instead. Fix printf format
24189 warnings.
24190
24191 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24192 there. Real unexpected warnings should not drown in the noise
24193 about known problems.
24194
24195 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24196 grub_disk_addr_t for memory addresses.
24197
24198 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24199 explicitly to fix a warning.
24200
24201 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24202
24203 * Makefile.in (MODULE_LDFLAGS): New variable.
24204 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24205 the linker accepts --build-id=none.
24206 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24207 MODULE_LDFLAGS.
24208 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24209
24210 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24211 those in Linux XFS code. Provide a way to access 64-bit parent
24212 inode.
24213 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24214 the end of struct grub_xfs_dir_header.
24215
24216 2008-07-02 Bean <bean123ch@gmail.com>
24217
24218 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24219 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24220 and GRUB_IEEE1275_FLAG_NO_ANSI.
24221
24222 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24223 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24224 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24225
24226 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24227 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24228
24229 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24230 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24231
24232 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24233 esc sequence on non ANSI terminal.
24234 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24235
24236 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24237 beginning of file.
24238
24239 2008-07-02 Bean <bean123ch@gmail.com>
24240
24241 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24242 (grub_editenv_SOURCES): New variable.
24243 (pkglib_MODULES): Add loadenv.mod.
24244 (loadenv_mod_SOURCES): New variable.
24245 (loadenv_mod_CFLAGS): Likewise.
24246 (loadenv_mod_LDFLAGS): Likewise.
24247
24248 * include/grub/envblk.h: New file.
24249
24250 * util/envblk.c: New file.
24251
24252 * util/grub-editenv.c: New file.
24253
24254 * commands/loadenv.c: New file.
24255
24256 2008-07-01 Pavel Roskin <proski@gnu.org>
24257
24258 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24259 not unsigned char. This fixes warnings and is consistent with
24260 other tags.
24261
24262 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24263
24264 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24265
24266 * term/tparm.c (analyze): Always set *popcount.
24267
24268 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24269 cast to fix a warning.
24270
24271 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24272 cast to suppress a warning.
24273
24274 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24275 grub_fshelp_read_file() expects.
24276
24277 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24278 write uuid as a 32-bit value in CPU byte order, so declare and
24279 use it as such.
24280
24281 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24282 long if the format specifier expects it.
24283 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24284 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24285 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24286 long to fix a warning.
24287 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24288 grub_dprintf() arguments to fix warnings.
24289
24290 2008-06-30 Pavel Roskin <proski@gnu.org>
24291
24292 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24293 install_bsd_part immediately before core.img is embedded or
24294 modified on disk. This fixes core.img verification if core.img
24295 cannot be embedded.
24296
24297 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24298 core_path to calculate the blocklist.
24299 Patch from Javier Martín <lordhabbit@gmail.com>
24300
24301 2008-06-29 Robert Millan <rmh@aybabtu.com>
24302
24303 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24304 block to disk block.
24305 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24306 Patch from Niels Böhm <bitbucket@arcor.de>
24307
24308 2008-06-29 Robert Millan <rmh@aybabtu.com>
24309
24310 * util/update-grub_lib.in (font_path): Search for fonts in
24311 /boot/grub first, which is more likely to be readable (we aren't
24312 deciding where fonts live, just looking for them).
24313
24314 2008-06-26 Pavel Roskin <proski@gnu.org>
24315
24316 * util/biosdisk.c (read_device_map): Don't leave dead map
24317 entries for devices failing stat() check.
24318
24319 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24320 core_path_dev for the core.img path on the target device.
24321
24322 2008-06-26 Robert Millan <rmh@aybabtu.com>
24323
24324 * disk/fs_uuid.c: New file.
24325 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24326 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24327 (fs_uuid_mod_LDFLAGS): New variables.
24328 * include/grub/disk.h (grub_disk_dev_id): Add
24329 `GRUB_DISK_DEVICE_UUID_ID'.
24330 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24331 implement iterate().
24332
24333 2008-06-26 Robert Millan <rmh@aybabtu.com>
24334
24335 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24336 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24337 Linux image includes no initrd.
24338
24339 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24340
24341 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24342 call to resolve the core image location that effectively appended the
24343 name twice.
24344
24345 2008-06-21 Robert Millan <rmh@aybabtu.com>
24346
24347 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24348 call from here ...
24349
24350 * util/grub.d/10_hurd.in: ... to here ...
24351 * util/grub.d/10_linux.in: ... and here.
24352
24353 2008-06-19 Robert Millan <rmh@aybabtu.com>
24354
24355 * kern/main.c (grub_main): Export `prefix' variable immediately
24356 after it has been set by grub_machine_set_prefix().
24357
24358 2008-06-19 Robert Millan <rmh@aybabtu.com>
24359
24360 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24361 search result when not saving to variable, not the other way around.
24362 When saving to variable, abort iteration as soon as a match is found.
24363
24364 2008-06-19 Robert Millan <rmh@aybabtu.com>
24365
24366 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24367 check for partition that provides /boot/grub. Its logic is flawed,
24368 as it prevents prepare_grub_to_access_device() from being called
24369 multiple times.
24370
24371 2008-06-19 Robert Millan <rmh@aybabtu.com>
24372
24373 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24374 "insmod" command directly when abstraction modules are needed,
24375 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24376 since it had already been processed).
24377
24378 2008-06-19 Pavel Roskin <proski@gnu.org>
24379
24380 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24381 changed. This is needed in case GRUB_LIBDIR changes.
24382 * conf/i386-ieee1275.rmk: Likewise.
24383 * conf/i386-linuxbios.rmk: Likewise.
24384 * conf/i386-pc.rmk: Likewise.
24385 * conf/powerpc-ieee1275.rmk: Likewise.
24386
24387 2008-06-18 Pavel Roskin <proski@gnu.org>
24388
24389 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24390 kernel_elf_symlist.c to symlist.c for consistency with other
24391 architectures. Update all users.
24392 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24393
24394 2008-06-18 Robert Millan <rmh@aybabtu.com>
24395
24396 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24397 it in prefix.
24398
24399 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24400 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24401 a RAID device, run setup() for all members independently on whether
24402 LVM abstraction is being used.
24403 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24404 If grub-mkimage has set `*install_dos_part == -2', don't override this
24405 value.
24406 Perform *install_dos_part adjustments independently on whether
24407 we're embedding or not.
24408 Clarify error message when image is too big for embedding.
24409 Remove duplicate *install_dos_part stanza.
24410
24411 2008-06-17 Robert Millan <rmh@aybabtu.com>
24412
24413 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24414 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24415 variables.
24416 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24417 values in grub_ofconsole_normal_color and
24418 grub_ofconsole_highlight_color (they're not directly related to
24419 background and foreground).
24420 (grub_ofconsole_setcolorstate): Extract background and foreground
24421 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24422
24423 2008-06-17 Robert Millan <rmh@aybabtu.com>
24424
24425 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24426 /boot/grub for the check in last commit, not /boot (they could be
24427 different partitions).
24428
24429 2008-06-16 Robert Millan <rmh@aybabtu.com>
24430
24431 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24432 asked to setup access for the same partition that provides /boot,
24433 don't bother using UUIDs since our root already has the value we
24434 want.
24435
24436 2008-06-16 Robert Millan <rmh@aybabtu.com>
24437
24438 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24439 I2O devices.
24440 Patch from Sven Mueller <sven@debian.org>.
24441
24442 2008-06-16 Robert Millan <rmh@aybabtu.com>
24443
24444 * util/update-grub.in: Check for $EUID instead of $UID.
24445 Reported by Vincent Zweije.
24446
24447 2008-06-16 Bean <bean123ch@gmail.com>
24448
24449 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24450 (grub_ext2_read_block): Likewise.
24451 (grub_ext2_read_inode): Likewise.
24452 (grub_ext2_mount): Likewise.
24453 (grub_ext2_close): Likewise.
24454 (grub_ext3_get_journal): Removed.
24455
24456 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24457 (grub_reiserfs_read_symlink): Likewise.
24458 (grub_reiserfs_mount): Likewise.
24459 (grub_reiserfs_open): Likewise.
24460 (grub_reiserfs_read): Likewise.
24461 (grub_reiserfs_close): Likewise.
24462 (grub_reiserfs_get_journal): Removed.
24463
24464 * fs/fshelp.c (grub_fshelp_read): Removed.
24465 (grub_fshelp_map_block): Likewise.
24466
24467 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24468 (grub_fshelp_journal): Likewise.
24469 (grub_fshelp_read): Likewise.
24470 (grub_fshelp_map_block): Likewise.
24471
24472 2008-06-16 Pavel Roskin <proski@gnu.org>
24473
24474 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24475 floating point anymore.
24476 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24477
24478 2008-06-15 Pavel Roskin <proski@gnu.org>
24479
24480 * commands/ls.c (grub_ls_list_files): Use integer calculations
24481 for human readable format, avoid floating point use.
24482 * kern/misc.c (grub_ftoa): Remove.
24483 (grub_vsprintf): Remove floating point support.
24484
24485 2008-06-15 Robert Millan <rmh@aybabtu.com>
24486
24487 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24488 devices.
24489 Reported by Max Vozeler.
24490
24491 2008-06-15 Robert Millan <rmh@aybabtu.com>
24492
24493 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24494 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24495 skipped later.
24496 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24497 the beginning of the prefix.
24498
24499 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24500 It is assumed that if we have a memdisk, grub-mkimage has set
24501 grub_prefix to include the "(memdisk)" drive in it.
24502
24503 2008-06-15 Robert Millan <rmh@aybabtu.com>
24504
24505 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24506 Initialize keyboard controller after registering the terminal, so that
24507 grub_printf() can be called from grub_keyboard_controller_init().
24508
24509 2008-06-15 Robert Millan <rmh@aybabtu.com>
24510
24511 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24512 extent-btree which is written as big endian on disk.
24513 Reported by Alain Greppin <al@chilibi.org>.
24514
24515 2008-06-14 Robert Millan <rmh@aybabtu.com>
24516
24517 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24518 * util/i386/pc/grub-install.in (modules): Likewise.
24519
24520 2008-06-13 Pavel Roskin <proski@gnu.org>
24521
24522 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24523
24524 2008-06-13 Bean <bean123ch@gmail.com>
24525
24526 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24527
24528 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24529
24530 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24531 to indicate sparse block.
24532
24533 2008-06-12 Pavel Roskin <proski@gnu.org>
24534
24535 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24536 number, grub_fshelp_read() does it for us.
24537
24538 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24539 linear disk read with journal translation.
24540 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24541 * include/grub/fshelp.h: Declare grub_fshelp_read().
24542
24543 2008-06-09 Pavel Roskin <proski@gnu.org>
24544
24545 * fs/minix.c (grub_minix_mount): Handle error reading
24546 superblock.
24547
24548 2008-06-08 Robert Millan <rmh@aybabtu.com>
24549
24550 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24551 don't append the RAID prefix afterwards.
24552 Reported by Clint Adams.
24553
24554 2008-06-08 Robert Millan <rmh@aybabtu.com>
24555
24556 Based on description from Pavel:
24557 * kern/disk.c (grub_disk_check_range): Rename to ...
24558 (grub_disk_adjust_range): ... this. Add a comment explaining the
24559 tasks performed by this function.
24560
24561 2008-06-08 Robert Millan <rmh@aybabtu.com>
24562
24563 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24564 `num_serial' (for consistency with other variables).
24565 (struct grub_ntfs_data): Add `uuid' member.
24566 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24567 (grub_ntfs_uuid): New function.
24568 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24569
24570 2008-06-07 Pavel Roskin <proski@gnu.org>
24571
24572 * util/biosdisk.c (open_device): Revert last change to the
24573 function, it broke installation. The sector needs to be
24574 different dependent on which device is opened.
24575
24576 2008-06-06 Robert Millan <rmh@aybabtu.com>
24577
24578 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24579 rest of GRUB, and breakage doesn't happen if its value were modified.
24580
24581 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24582 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24583 a constant (same value).
24584 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24585 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24586
24587 2008-06-06 Robert Millan <rmh@aybabtu.com>
24588
24589 * util/biosdisk.c (open_device): Do not modify sector offset when
24590 accessing a partition. kern/disk.c already handles this for us.
24591
24592 2008-06-06 Robert Millan <rmh@aybabtu.com>
24593
24594 * util/grub-emu.c (grub_machine_init): Move code in this function from
24595 here ...
24596 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24597 segfault in case grub_printf() is called).
24598
24599 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24600 grub_probe. Update all users not to explicitly add it again.
24601 (grub_device): New variable; contains corresponding device for grubdir.
24602 (fs_module, partmap_module, devabstraction_module): Pass
24603 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24604 every time.
24605
24606 2008-06-05 Robert Millan <rmh@aybabtu.com>
24607
24608 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24609 is found, print it (same layout as with labels).
24610
24611 2008-06-04 Robert Millan <rmh@aybabtu.com>
24612
24613 * util/biosdisk.c (get_drive): Rename to ...
24614 (find_grub_drive): ... this. Update all users.
24615
24616 (get_os_disk): Rename to ...
24617 (convert_system_partition_to_system_disk): ... this. Update all users.
24618
24619 (find_drive): Rename to ...
24620 (find_system_device): ... this. Update all users.
24621
24622 2008-06-04 Robert Millan <rmh@aybabtu.com>
24623
24624 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24625 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24626 (make_device_map): Likewise.
24627
24628 2008-06-01 Robert Millan <rmh@aybabtu.com>
24629
24630 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24631 before dereferencing it.
24632
24633 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24634 union with fat12/fat16-specific ones. Add some new fields, including
24635 `num_serial' for both versions.
24636 (struct grub_fat_data): Add `uuid' member.
24637 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24638 names. Initialize `data->uuid' using `num_serial'.
24639 (grub_fat_uuid): New function.
24640 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24641
24642 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24643 (grub_reiserfs_uuid): New function.
24644 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24645 member.
24646
24647 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24648 (grub_xfs_uuid): New function.
24649 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24650
24651 2008-06-01 Robert Millan <rmh@aybabtu.com>
24652
24653 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24654 code that is backward compatible with pre-uuid search command.
24655
24656 2008-05-31 Robert Millan <rmh@aybabtu.com>
24657
24658 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24659 floppies after everything else, to ensure floppy drive isn't accessed
24660 unnecessarily (patch from Bean).
24661
24662 2008-05-31 Robert Millan <rmh@aybabtu.com>
24663
24664 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24665 not print device names when we were asked to set a variable.
24666
24667 2008-05-31 Robert Millan <rmh@aybabtu.com>
24668
24669 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24670 using "cursor-on" and "cursor-off" commands (understood at least by
24671 the Open Firmware flavour on OLPC).
24672
24673 2008-05-31 Michael Gorven <michael@gorven.za.net>
24674
24675 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24676 on and off sequences.
24677
24678 2008-05-31 Robert Millan <rmh@aybabtu.com>
24679
24680 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24681 * util/update-grub.in: Likewise.
24682
24683 2008-05-30 Pavel Roskin <proski@gnu.org>
24684
24685 * util/biosdisk.c (linux_find_partition): Simplify logic and
24686 make the code more universal. Keep special processing for
24687 devfs, but use a simple rule for all other devices. If the
24688 device ends with a number, append 'p' and the partition number.
24689 Otherwise, append only the partition number.
24690
24691 2008-05-30 Robert Millan <rmh@aybabtu.com>
24692
24693 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24694 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24695 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24696 the `root' parameter to Linux.
24697
24698 2008-05-30 Robert Millan <rmh@aybabtu.com>
24699
24700 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24701 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24702 --fs_uuid with --fs-uuid.
24703 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24704 all filesystems support them).
24705
24706 2008-05-30 Robert Millan <rmh@aybabtu.com>
24707
24708 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24709 grub_printf() flags, since we're printing in units of 2 bytes.
24710
24711 2008-05-30 Robert Millan <rmh@aybabtu.com>
24712
24713 * util/grub.d/00_header.in: Remove obsolete comment referencing
24714 convert_system_path_to_grub_path().
24715 * util/update-grub.in: Likewise.
24716 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24717 (convert_system_path_to_grub_path): Add a warning message explaining
24718 that this function is deprecated. Rely on is_path_readable_by_grub()
24719 for the readability checks.
24720 (font_path): Use is_path_readable_by_grub() for the readability
24721 check rather than convert_system_path_to_grub_path().
24722
24723 2008-05-30 Robert Millan <rmh@aybabtu.com>
24724
24725 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24726 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24727 converting it first.
24728 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24729 grub.cfg for access to font file, and afterwards call it again to set
24730 the root device.
24731
24732 2008-05-30 Robert Millan <rmh@aybabtu.com>
24733
24734 * commands/search.c (options): Add --fs_uuid option.
24735 (search_fs_uuid): New function.
24736 (grub_cmd_search): Fix --set argument passing.
24737 Use search_fs_uuid() when requested via --fs_uuid.
24738 (grub_search_init): Update help message.
24739 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24740 and redeclare it as an array of 16-bit words.
24741 (grub_ext2_uuid): New function.
24742 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24743 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24744 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24745 (GRUB_DEVICE_BOOT_UUID): New variables.
24746 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24747 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24748 whenever possible.
24749 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24750 just assume `root' variable has the right value.
24751 * util/grub.d/10_linux.in: Likewise.
24752 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24753 via PRINT_FS_UUID.
24754 (main): Recognise `-t fs_uuid' argument.
24755
24756 2008-05-30 Robert Millan <rmh@aybabtu.com>
24757
24758 * util/biosdisk.c (map): Redefine structure to hold information
24759 about GRUB drive name.
24760 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24761 drive names.
24762 (call_hook): Remove.
24763 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24764 member. Assume drive has partitions.
24765 (grub_util_biosdisk_open): Access device names via `.device' struct
24766 member.
24767 (open_device): Likewise.
24768 (find_drive): Likewise.
24769 (read_device_map): Adjust map[] usage to match the new struct
24770 definition. Don't check for duplicates (still possible, but not cheap
24771 anymore).
24772 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24773 (make_device_name): Remove assumption of BIOS-like drive names.
24774
24775 2008-05-30 Pavel Roskin <proski@gnu.org>
24776
24777 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24778 compiling execute.c doesn't need grub_script.tab.h anymore.
24779 (normal/command.c_DEPENDENCIES): Likewise.
24780 (normal/function.c_DEPENDENCIES): Likewise.
24781 * conf/i386-ieee1275.rmk: Likewise.
24782 * conf/i386-linuxbios.rmk: Likewise.
24783 * conf/i386-pc.rmk: Likewise.
24784 * conf/powerpc-ieee1275.rmk: Likewise.
24785 * conf/sparc64-ieee1275.rmk: Likewise.
24786
24787 2008-05-29 Pavel Roskin <proski@gnu.org>
24788
24789 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24790 when scanning metadata for volume group name.
24791
24792 * include/grub/script.h: Don't include grub_script.tab.h. It's
24793 a generated file, which may only be included from the files with
24794 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24795 use union YYSTYPE, as the later allows forward declaration.
24796 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24797
24798 2008-05-29 Robert Millan <rmh@aybabtu.com>
24799
24800 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24801 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24802 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24803 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24804 scan codes.
24805
24806 2008-05-29 Robert Millan <rmh@aybabtu.com>
24807
24808 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24809 control key combinations.
24810
24811 2008-05-29 Robert Millan <rmh@aybabtu.com>
24812
24813 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24814 * util/ieee1275/grub-install.in: ... to here.
24815 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24816 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24817 (grub_install_SOURCES): Likewise.
24818
24819 2008-05-29 Robert Millan <rmh@aybabtu.com>
24820
24821 * fs/affs.c: Update copyright year.
24822 * fs/ext2.c: Likewise.
24823 * fs/fshelp.c: Likewise.
24824 * fs/hfsplus.c: Likewise.
24825 * fs/ntfs.c: Likewise.
24826 * fs/xfs.c: Likewise.
24827 * include/grub/fshelp.h: Likewise.
24828 * util/grub-mkdevicemap.c: Likewise.
24829
24830 2008-05-28 Robert Millan <rmh@aybabtu.com>
24831
24832 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24833 might need to be fatfs to support some firmware implementations
24834 (e.g. OFW or EFI).
24835
24836 2008-05-28 Robert Millan <rmh@aybabtu.com>
24837
24838 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24839 devices.
24840 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24841 (make_device_map): Likewise.
24842
24843 2008-05-20 Bean <bean123ch@gmail.com>
24844
24845 * fs/fshelp.c (grub_fshelp_map_block): New function.
24846 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24847 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24848
24849 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24850 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24851 (grub_fshelp_journal): New structure.
24852 (grub_fshelp_map_block): New function prototype.
24853 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24854 (grub_fshelp_map_block): Likewise.
24855
24856 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24857 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24858 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24859 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24860 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24861 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24862 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24863 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24864 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24865 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24866 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24867 (grub_ext2_sblock): New members for journal support.
24868 (grub_ext3_journal_header): New structure.
24869 (grub_ext3_journal_revoke_header): Likewise.
24870 (grub_ext3_journal_block_tag): Likewise.
24871 (grub_ext3_journal_sblock): Likewise.
24872 (grub_fshelp_node): New members logfile and journal.
24873 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24874 grub_fshelp_map_block to get real block number.
24875 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24876 number.
24877 (grub_ext2_read_inode): Likewise.
24878 (grub_ext3_get_journal): New function.
24879 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24880 (grub_ext2_close): Release memory used by journal.
24881
24882 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24883 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24884 (grub_reiserfs_transaction_header): Renamed to
24885 grub_reiserfs_description_block, replace field data with real_blocks.
24886 (grub_reiserfs_commit_block): New structure.
24887 (grub_reiserfs_data): New member journal.
24888 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24889 number.
24890 (grub_reiserfs_read_symlink): Likewise.
24891 (grub_reiserfs_iterate_dir): Likewise.
24892 (grub_reiserfs_open): Likewise.
24893 (grub_reiserfs_read): Likewise.
24894 (grub_reiserfs_get_journal): New function.
24895 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24896 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24897 using grub_reiserfs_get_journal.
24898 (grub_reiserfs_close): Release memory used by journal.
24899
24900 * fs/affs.c (grub_affs_read_block): Change block type to
24901 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24902
24903 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24904
24905 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24906
24907 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24908
24909 * fs/udf.c (grub_udf_read_block): Change block type to
24910 grub_disk_addr_t. Use type cast to avoid warning.
24911
24912 * fs/xfs.c (grub_xfs_read_block): Likewise.
24913
24914 2008-05-16 Christian Franke <franke@computer.org>
24915
24916 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24917 to ensure that break with ESC will always work.
24918 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24919 Remove ESC from keyboard queue.
24920
24921 2008-05-16 Christian Franke <franke@computer.org>
24922
24923 * util/biosdisk.c: [__CYGWIN__] Add includes.
24924 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24925 (get_os_disk): Move variable declarations to OS specific
24926 parts to avoid warning.
24927 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24928 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24929 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24930 Cygwin.
24931 * util/getroot.c: [__CYGWIN__] Add includes.
24932 (strip_extra_slashes): Fix "/" case.
24933 [__CYGWIN__] (get_win32_path): New function.
24934 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24935 [__CYGWIN__] (find_root_device): Disable.
24936 [__CYGWIN__] (get_bootsec_serial): New function.
24937 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24938 [__linux__] (grub_guess_root_device): Add early returns to simplify
24939 structure.
24940 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24941 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24942 check for Linux only.
24943
24944 2008-05-15 Bean <bean123ch@gmail.com>
24945
24946 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24947 keyboard hang problem in apple's intel mac.
24948
24949 2008-05-09 Robert Millan <rmh@aybabtu.com>
24950
24951 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24952 devices.
24953 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24954 (make_device_map): Likewise.
24955 Reported by Aurelien Jarno <aurel32@debian.org>
24956
24957 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24958
24959 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24960 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24961 (make_device_map): Output entries for xvd type disks.
24962
24963 2008-05-07 Robert Millan <rmh@aybabtu.com>
24964
24965 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24966 devices.
24967 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24968 (make_device_map): Likewise.
24969 Reported by Roland Dreier <rdreier@cisco.com>
24970
24971 2008-05-07 Robert Millan <rmh@aybabtu.com>
24972
24973 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24974 grub_strstr() call. Correct a few mistakes in failure path handling.
24975
24976 2008-05-06 Robert Millan <rmh@aybabtu.com>
24977
24978 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24979 Do not print a trailing slash (therefore, the root directory is an
24980 empty string).
24981 (convert_system_path_to_grub_path): Do not remove trailing slash
24982 from make_system_path_relative_to_its_root() output.
24983
24984 * util/i386/pc/grub-install.in: Add trailing slash to output from
24985 make_system_path_relative_to_its_root().
24986
24987 2008-05-06 Robert Millan <rmh@aybabtu.com>
24988
24989 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24990 ensures that output lines aren't intermangled with those sent to
24991 stderr (via grub_util_info()).
24992 * util/grub-probe.c (grub_refresh): Likewise.
24993 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24994
24995 2008-05-05 Christian Franke <franke@computer.org>
24996
24997 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24998 Add Cygwin device names.
24999 (get_ide_disk_name) [__CYGWIN__]: Likewise.
25000 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
25001 (check_device): Return error instead of success on empty name.
25002 (make_device_map): Move label inside linux specific code to
25003 prevent compiler warning.
25004
25005 2008-04-30 Robert Millan <rmh@aybabtu.com>
25006
25007 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
25008 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
25009 first boot option.
25010 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
25011
25012 2008-04-29 Robert Millan <rmh@aybabtu.com>
25013
25014 * docs/grub.cfg: New file (example GRUB configuration).
25015
25016 2008-04-26 Robert Millan <rmh@aybabtu.com>
25017
25018 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
25019 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
25020 and `disk/ieee1275/nand.c'.
25021
25022 2008-04-25 Bean <bean123ch@gmail.com>
25023
25024 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
25025 i386-linuxbios.
25026
25027 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
25028 change the buffer size to 4096 for cdrom device.
25029
25030 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
25031 and nand.mod.
25032 (_linux_mod_SOURCES): New variable.
25033 (_linux_mod_CFLAGS): Likewise.
25034 (_linux_mod_LDFLAGS): Likewise.
25035 (linux_mod_SOURCES): Likewise.
25036 (linux_mod_CFLAGS): Likewise.
25037 (linux_mod_LDFLAGS): Likewise.
25038 (nand_mod_SOURCES): Likewise.
25039 (nand_mod_CFLAGS): Likewise.
25040 (nand_mod_LDFLAGS): Likewise.
25041
25042 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
25043 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
25044 type property. (nand device in olpc don't have this property)
25045
25046 * include/grub/disk.h (grub_disk_dev_id): New macro
25047 GRUB_DISK_DEVICE_NAND_ID.
25048
25049 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
25050 function prototype.
25051 (grub_rescue_cmd_initrd): Likewise.
25052
25053 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
25054 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
25055 ofw_cif_handler and ofw_idt, adjust padding number.
25056
25057 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
25058 GRUB_MACHINE_IEEE1275 is defined.
25059
25060 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
25061 Use NESTED_FUNC_ATTR attribute on the hook parameter.
25062
25063 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
25064 on nested function heap_init.
25065 (grub_upper_mem): New variable for i386-ieee1275.
25066 (grub_get_extended_memory): New function for i386-ieee1275.
25067 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
25068
25069 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
25070 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
25071 property.
25072
25073 * loader/i386/ieee1275/linux.c: New file.
25074
25075 * loader/i386/ieee1275/linux_normal.c: New file.
25076
25077 * disk/ieee1275/nand.c: New file.
25078
25079 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
25080
25081 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
25082 value.
25083 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
25084
25085 2008-04-18 Robert Millan <rmh@aybabtu.com>
25086
25087 Restructures early code path on ieee1275 to unify grub_main() as
25088 the first C function that is executed in every platform.
25089
25090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
25091 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
25092 cmain().
25093 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
25094 * kern/ieee1275/cmain.c (cmain): Rename to ...
25095 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
25096 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
25097 at the beginning.
25098
25099 2008-04-18 Robert Millan <rmh@aybabtu.com>
25100
25101 * util/update-grub.in: Fix syntax error when setting
25102 `GRUB_PRELOAD_MODULES'.
25103 Reported by Stephane Chazelas <stephane@artesyncp.com>
25104
25105 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25106
25107 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25108 section into account, newer toolchains generate unique build ids
25109 * configure.ac: remove the test for --build-id=none acceptance,
25110 we want build ids to be preserved
25111 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25112 far from other sections don't cause the raw binary images grow
25113 size
25114
25115 2008-04-15 Robert Millan <rmh@aybabtu.com>
25116
25117 * disk/lvm.c: Update copyright year.
25118 * kern/misc.c: Likewise.
25119
25120 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25121
25122 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
25123 there is no memory left for physical volume name.
25124
25125 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25126
25127 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25128 volume name mapping to support bigger than 9 character names properly.
25129
25130 2008-04-13 Robert Millan <rmh@aybabtu.com>
25131
25132 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25133 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25134
25135 2008-04-13 Christian Franke <franke@computer.org>
25136
25137 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25138 to create a floppy emulation boot CD when non emulation mode
25139 does not work.
25140 Enable Joliet CD filesystem extension.
25141
25142 2008-04-13 Robert Millan <rmh@aybabtu.com>
25143
25144 * kern/misc.c (grub_strncat): Fix off-by-one error.
25145 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25146
25147 * kern/env.c (grub_env_context_close): Clear current context, not
25148 previous one.
25149 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25150
25151 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25152
25153 2008-04-13 Robert Millan <rmh@aybabtu.com>
25154
25155 Improve robustness when handling LVM.
25156
25157 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
25158 (and leave `*p' unmodified).
25159 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25160 through it.
25161 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25162 iterating through it.
25163 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25164 through it.
25165 (grub_lvm_scan_device): Check the return value (and fail gracefully
25166 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25167 Don't assume `vg->pvs != NULL' when iterating through it.
25168
25169 2008-04-13 Robert Millan <rmh@aybabtu.com>
25170
25171 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25172 * genmk.rb (partmap): New variable.
25173 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25174 (#{partmap}): New target rule.
25175 * genpartmaplist.sh: New file.
25176 * Makefile.in (pkglib_DATA): Add partmap.lst.
25177 (partmap.lst): New target rule.
25178 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25179 modules (including all partition maps), instead of preloading them.
25180
25181 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25182
25183 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25184 `linux-boot-prober' (if installed) to detect other operating
25185 systems which are installed on the computer and add them to
25186 the boot menu.
25187 * conf/common.rmk: Build and install 30_os-prober.
25188
25189 2008-04-12 Robert Millan <rmh@aybabtu.com>
25190
25191 * kern/powerpc/ieee1275/init.c: Move from here ...
25192 * kern/ieee1275/init.c: ... to here. Update all users.
25193
25194 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25195 * kern/ieee1275/cmain.c: ... to here. Update all users.
25196
25197 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25198 * kern/ieee1275/openfw.c: ... to here. Update all users.
25199
25200 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25201 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25202
25203 2008-04-10 Pavel Roskin <proski@gnu.org>
25204
25205 * configure.ac: Always use "_cv_" in cache variables for
25206 compatibility with Autoconf 2.62.
25207
25208 2008-04-07 Robert Millan <rmh@aybabtu.com>
25209
25210 Revert grub/machine/init.h addition by Pavel (since it breaks on
25211 i386-ieee1275 and others):
25212 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25213 * util/powerpc/ieee1275/misc.c: Likewise.
25214
25215 2008-04-07 Robert Millan <rmh@aybabtu.com>
25216
25217 * util/grub-probe.c (probe): Improve error message.
25218
25219 2008-04-07 Robert Millan <rmh@aybabtu.com>
25220
25221 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25222 (this prevents the presence of a bogus entry from ruining the whole
25223 thing).
25224
25225 2008-04-06 Pavel Roskin <proski@gnu.org>
25226
25227 * util/biosdisk.c: Include grub/util/biosdisk.h.
25228 * util/grub-fstest.c (execute_command): Make static.
25229 * util/grub-mkdevicemap.c (check_device): Likewise.
25230 * util/i386/pc/misc.c: Include grub/machine/init.h.
25231 * util/powerpc/ieee1275/misc.c: Likewise.
25232 * util/lvm.c: Include grub/util/lvm.h.
25233 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25234 grub/cache.h.
25235 * util/raid.c: Include grub/util/raid.h.
25236 (grub_util_getdiskname): Make static.
25237
25238 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25239 grub_hostfs_fini(), as they are called from grub_init_all() and
25240 grub_fini_all() respectively. This fixes an infinite loop in
25241 grub-fstest due to double registration of hostfs.
25242 Reported by Christian Franke <Christian.Franke@t-online.de>
25243
25244 2008-04-05 Pavel Roskin <proski@gnu.org>
25245
25246 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25247 all 8 functions. Otherwise, probe function 0 only.
25248
25249 2008-04-04 Pavel Roskin <proski@gnu.org>
25250
25251 * commands/lspci.c (grub_lspci_iter): Print the bus number
25252 correctly.
25253
25254 * commands/lspci.c (grub_pci_classes): Fix typos.
25255 (grub_lspci_iter): Don't print func twice. Print vendor ID
25256 before device ID, as it's normally done.
25257
25258 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25259 Fix signedness warnings.
25260 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25261 Likewise.
25262 * util/ieee1275/get_disk_name.c: Include config.h so that
25263 _GNU_SOURCE is defined and getline() is declared. Mark an
25264 unused argument as such. Fix a signedness warning.
25265
25266 2008-04-02 Pavel Roskin <proski@gnu.org>
25267
25268 * genkernsyms.sh.in: Use more robust assignments for CC and
25269 srcdir. Quote srcdir.
25270 * gensymlist.sh.in: Likewise. Assert at the compile time that
25271 the symbol table is not empty.
25272
25273 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25274 * fs/cpio.c (grub_cpio_read): Likewise.
25275
25276 2008-04-01 Pavel Roskin <proski@gnu.org>
25277
25278 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25279 * disk/host.c (grub_host_open): Likewise.
25280 * disk/loopback.c (grub_loopback_open): Likewise.
25281 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25282 disk->id as in disk/host.c, not a multi-character constant.
25283
25284 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25285 later is obsolete, potentially dangerous and sets a bad example.
25286 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25287 * util/misc.c (grub_util_get_image_size): Likewise.
25288
25289 * disk/loopback.c (options): Improve help for "--partitions".
25290
25291 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25292 options to align them with the short options, e.g. "echo -e".
25293
25294 2008-03-31 Bean <bean123ch@gmail.com>
25295
25296 * video/reader/png.c (grub_png_data): New member is_16bit and
25297 image_data.
25298 (grub_png_decode_image_header): Detect 16 bit png image.
25299 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25300 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25301 (grub_video_reader_png): Release memory occupied by image_data.
25302
25303 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25304 4096 bytes.
25305 (grub_nfs_mount): Skip the test for sector per cluster.
25306
25307 * include/grub/ntfs.h (MAX_SPC): Removed.
25308
25309 2008-03-31 Bean <bean123ch@gmail.com>
25310
25311 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25312 (grub_probe_SOURCES): Add fs/afs.c.
25313 (grub_fstest_SOURCES): Likewise.
25314 (afs_mod_SOURCES): New variable.
25315 (afs_mod_CFLAGS): Likewise.
25316 (afs_mod_LDFLAGS): Likewise.
25317
25318 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25319 (grub_emu_SOURCES): Likewise.
25320
25321 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25322
25323 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25324
25325 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25326
25327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25328
25329 * fs/afs.c: New file.
25330
25331 2008-03-30 Pavel Roskin <proski@gnu.org>
25332
25333 * disk/host.c: Include grub/misc.h to fix a warning.
25334 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25335 warnings about implicit declarations.
25336
25337 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25338 variable.
25339 * include/grub/i386/loader.h: Change declaration of
25340 grub_linux_boot() to match what grub_loader_set() expects.
25341 * util/getroot.c (grub_guess_root_device): Return const char* to
25342 fix a warning.
25343 * util/grub-probe.c (probe): Fix a warning about uninitialized
25344 abstraction_name variable.
25345 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25346 second argument as unused to fix a warning.
25347
25348 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25349 missing grub_error() call.
25350
25351 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25352 2.60 and newer uses it to define datadir.
25353
25354 * commands/sleep.c: Fix warning about implicit declaration.
25355 * disk/memdisk.c: Likewise.
25356 * loader/aout.c: Likewise.
25357 * loader/i386/bsd_normal.c: Likewise.
25358 * util/grub-probe.c: Likewise.
25359
25360 * commands/i386/cpuid.c (has_longmode): Make static.
25361 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25362 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25363
25364 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25365 GDT. This is more robust, as %ds can change.
25366 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25367 calling real_to_prot().
25368 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25369
25370 2008-03-28 Pavel Roskin <proski@gnu.org>
25371
25372 * kern/i386/pc/startup.S: Assert that uncompressed functions
25373 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25374 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25375 code, as they push parts of the code (error handlers) beyond
25376 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25377 code as correctness and size.
25378
25379 2008-03-28 Pavel Roskin <proski@gnu.org>
25380
25381 * kern/i386/pc/startup.S
25382 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25383 data block address to the real mode, keep offset minimal. This
25384 works around a bug in AWARD BIOS on old Athlon systems, which
25385 makes CD detection hang.
25386
25387 2008-03-26 Pavel Roskin <proski@gnu.org>
25388
25389 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25390 const.
25391 * include/grub/normal.h: Add grub_parse_color_name_pair()
25392 declaration.
25393
25394 2008-03-24 Bean <bean123ch@gmail.com>
25395
25396 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25397 (cd_count): Removed.
25398 (cd_drive): New variable.
25399 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25400 (grub_biosdisk_call_hook): Likewise.
25401 (grub_biosdisk_iterate): Change cdrom detection method.
25402 (grub_biosdisk_open): Replace cd_start with cd_drive.
25403 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25404 detect cdrom device.
25405
25406 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25407 Removed.
25408 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25409 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25410 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25411 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25412 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25413 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25414 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25415 (grub_biosdisk_cdrp): New structure.
25416 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25417
25418 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25419
25420 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25421 device.
25422
25423 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25424 New function.
25425
25426 2008-03-20 Robert Millan <rmh@aybabtu.com>
25427
25428 Remove 2 TiB limit in ata.mod.
25429 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25430 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25431 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25432 grub_uint64_t instead of grub_uint32_t.
25433
25434 2008-03-05 Bean <bean123ch@gmail.com>
25435
25436 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25437 (grub_multiboot): Set boot device.
25438
25439 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25440
25441 2008-03-02 Bean <bean123ch@gmail.com>
25442
25443 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25444 symlink_buffer.
25445
25446 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25447
25448 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25449 texinfo.tex.
25450
25451 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25452 modified.
25453
25454 * docs/fdl.texi: New file.
25455
25456 * docs/mdate-sh: New file. Copied from gnulib.
25457 * docs/texinfo.tex: Likewise.
25458
25459 * config.guess: Updated from gnulib.
25460 * install-sh: Likewise.
25461
25462 2008-02-28 Robert Millan <rmh@aybabtu.com>
25463
25464 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25465 (aout_mod_SOURCES): New variable.
25466 (aout_mod_CFLAGS): Likewise.
25467 (aout_mod_LDFLAGS): Likewise.
25468
25469 * conf/i386-ieee1275.rmk: Likewise.
25470
25471 2008-02-28 Robert Millan <rmh@aybabtu.com>
25472
25473 * util/update-grub.in: Reorganise terminal validity check. Accept
25474 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25475 Based on suggestion by Franklin PIAT.
25476
25477 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25478
25479 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25480 function.
25481 * util/getroot.c (grub_util_check_block_device): New function that
25482 returns the given argument if it is a block device and returns NULL else.
25483 * util/grub-probe.c (argument_is_device): New variable.
25484 (probe): Promote device_name from a variable to an argument. Receive
25485 device_name from grub_util_check_block_device() if path is NULL and from
25486 grub_guess_root_device() else. Do not free() device_name anymore.
25487 (options): Introduce new parameter '-d, --device'.
25488 (main): Add description of the new parameter to the help screen.
25489 Rename path variable to argument. Set argument_is_device if the '-d'
25490 option is given. Pass argument to probe() depending on
25491 argument_is_device.
25492
25493 2008-02-24 Bean <bean123ch@gmail.com>
25494
25495 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25496 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25497 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25498 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25499 (GRUB_ISO9660_VOLDESC_END): Likewise.
25500 (grub_iso9660_primary_voldesc): New member escape.
25501 (grub_iso9660_data): New member joliet.
25502 (grub_iso9660_convert_string): New function.
25503 (grub_iso9660_mount): Detect joliet extension.
25504 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25505 (grub_iso9660_iso9660_label): Likewise.
25506
25507 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25508 (grub_setup_SOURCES): Add fs/udf.c.
25509 (grub_fstest_SOURCES): Likewise.
25510 (udf_mod_SOURCES): New variable.
25511 (udf_mod_CFLAGS): Likewise.
25512 (udf_mod_LDFLAGS): Likewise.
25513
25514 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25515 (grub_emu_SOURCES): Likewise.
25516
25517 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25518
25519 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25520
25521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25522
25523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25524
25525 * fs/udf.c: New file.
25526
25527 2008-02-24 Robert Millan <rmh@aybabtu.com>
25528
25529 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25530 (normal/lexer.c_DEPENDENCIES): New variables.
25531 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25532 (normal/lexer.c_DEPENDENCIES): Likewise.
25533 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25534 (normal/lexer.c_DEPENDENCIES): Likewise.
25535 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25536 (normal/lexer.c_DEPENDENCIES): Likewise.
25537 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25538 (normal/lexer.c_DEPENDENCIES): Likewise.
25539 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25540 (normal/lexer.c_DEPENDENCIES): Likewise.
25541
25542 2008-02-23 Robert Millan <rmh@aybabtu.com>
25543
25544 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25545 since they were intended to be in hex. This didn't break previously
25546 because of a bug in gpt_partition_map_iterate() (see below).
25547
25548 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25549 when checking the validity of GPT header.
25550 Remove `partno', since it always provides the same information as `i'.
25551
25552 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25553
25554 * include/grub/efi/time.h: Fix a wrong comment.
25555
25556 2008-02-19 Pavel Roskin <proski@gnu.org>
25557
25558 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25559 message.
25560
25561 2008-02-19 Bean <bean123ch@gmail.com>
25562
25563 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25564 (aout_mod_SOURCES): New variable.
25565 (aout_mod_CFLAGS): Likewise.
25566 (aout_mod_LDFLAGS): Likewise.
25567 (_bsd_mod_SOURCES): New variable.
25568 (_bsd_mod_CFLAGS): Likewise.
25569 (_bsd_mod_LDFLAGS): Likewise.
25570 (bsd_mod_SOURCES): New variable.
25571 (bsd_mod_CFLAGS): Likewise.
25572 (bsd_mod_LDFLAGS): Likewise.
25573
25574 * include/grub/aout.h: New file.
25575
25576 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25577
25578 * include/grub/i386/bsd.h: New file.
25579
25580 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25581 to make it public.
25582
25583 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25584 function is called, so that it's possible to change it inside the hook.
25585 (grub_elf64_load): Likewise.
25586 (grub_elf_file): Don't close the file if elf header is not found.
25587 (grub_elf_close): Close the file if grub_elf_file fails (The new
25588 grub_elf_file won't close it).
25589 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25590 (grub_elf64_size): Likewise.
25591
25592 * kern/i386/loader.S (grub_unix_real_boot): New function.
25593
25594 * loader/aout.c: New file.
25595
25596 * loader/i386/bsd.c: New file.
25597
25598 * loader/i386/bsd_normal.c: New file.
25599
25600 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25601
25602 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25603 can test other formats.
25604
25605 2008-02-19 Robert Millan <rmh@aybabtu.com>
25606
25607 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25608 (grub_gpt_partition_type_empty): Redefine with macro from
25609 `<grub/gpt_partition.h>'.
25610 (gpt_partition_map_iterate): Adjust partition type comparison.
25611
25612 Export `entry' as partmap-specific `part.data' struct.
25613 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25614
25615 * include/grub/gpt_partition.h (grub_gpt_header)
25616 (grub_gpt_partentry): ... to here (new file).
25617
25618 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25619
25620 (grub_gpt_partition_type_bios_boot): New const variable, defined
25621 with macro from `<grub/gpt_partition.h>'.
25622
25623 (setup): Replace `first_start' with `embed_region', which keeps
25624 track of the embed region (and is partmap-agnostic).
25625
25626 Replace find_first_partition_start() with find_usable_region(),
25627 which finds a usable region for embedding using partmap-specific
25628 knowledge (supports PC/MSDOS and GPT).
25629
25630 Fix all assumptions that the embed region start at sector 1, using
25631 `embed_region.start' from now on. Similarly, use `embed_region.end'
25632 rather than `first_start' to calculate available size.
25633
25634 In grub_util_info() message, replace "into after the MBR" with an
25635 indication of the specific sector our embed region starts at.
25636
25637 2008-02-19 Robert Millan <rmh@aybabtu.com>
25638
25639 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25640 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25641 `commands/reboot.c'.
25642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25643 (halt_mod_SOURCES): Likewise.
25644 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25645 (halt_mod_SOURCES): Likewise.
25646
25647 2008-02-17 Christian Franke <franke@computer.org>
25648
25649 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25650
25651 2008-02-17 Robert Millan <rmh@aybabtu.com>
25652
25653 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25654 set `first_start' to 0 for non-PC/MSDOS partition maps.
25655
25656 2008-02-16 Robert Millan <rmh@aybabtu.com>
25657
25658 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25659 do not assume partition map is PC/MSDOS before performing checks that
25660 are specific to that layout.
25661
25662 2008-02-13 Robert Millan <rmh@aybabtu.com>
25663
25664 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25665 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25666 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25667
25668 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25669
25670 * configure.ac: Only a cosmetic change on the handling of
25671 -fno-stack-protector.
25672
25673 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25674
25675 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25676 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25677 reboot.c.
25678 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25679 (halt_mod_SOURCES): New variable.
25680 (halt_mod_CFLAGS): Likewise.
25681 (halt_mod_LDFLAGS): Likewise.
25682 (reboot_mod_SOURCES): Likewise.
25683 (reboot_mod_CFLAGS): Likewise.
25684 (reboot_mod_LDFLAGS): Likewise.
25685
25686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25687 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25688 reboot.c.
25689 (halt_mod_SOURCES): Likewise.
25690 (reboot_mod_SOURCES): Likewise.
25691
25692 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25693 commands/i386/pc/reboot.c by commands/reboot.c.
25694 (reboot_mod_SOURCES): Likewise.
25695
25696 * commands/i386/pc/reboot.c: merge this file ...
25697
25698 * commands/ieee1275/reboot.c: ... and this file ...
25699
25700 * commands/reboot.c: ... to this file.
25701 Add some precompiler directive to include the correct header for
25702 each machine.
25703
25704 * commands/ieee1275/halt.c: move this file ...
25705
25706 * commands/halt.c: ... to here.
25707 Add some precompiler directive to include the correct header for
25708 each machine.
25709
25710 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25711 (grub_halt): Likewise.
25712
25713 * kern/efi/efi.c (grub_reboot): New function.
25714 (grub_halt): Likewise.
25715
25716 2008-02-12 Robert Millan <rmh@aybabtu.com>
25717
25718 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25719 /dev (like it is done for /dev/mapper). This doesn't provide support
25720 for EVMS, but at least it is now easy to identify the problem when it
25721 arises.
25722
25723 2008-02-11 Robert Millan <rmh@aybabtu.com>
25724
25725 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25726 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25727 comparing it with -1, not 0.
25728
25729 2008-02-10 Robert Millan <rmh@aybabtu.com>
25730
25731 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25732 `disk/lvm.c'.
25733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25734 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25735
25736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25737 `disk/lvm.c' to the end of the list.
25738 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25739 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25740
25741 2008-02-10 Robert Millan <rmh@aybabtu.com>
25742
25743 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25744 grub_print_error() instead. This will let user know why we're entering
25745 rescue mode.
25746 Based on suggestions from Sam Morris.
25747
25748 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25749
25750 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25751 on remaining N args, instead of "--" arg N times.
25752
25753 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25754
25755 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25756 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25757 pattern for unknown glyphs.
25758
25759 2008-02-09 Robert Millan <rmh@aybabtu.com>
25760
25761 * configure.ac: Probe for `help2man'.
25762 * Makefile.in (builddir): New variable.
25763 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25764 or otherwise add a few flags/options to it.
25765 (install-local): For every executable utility or script that is
25766 installed, invoke $(HELP2MAN) to install a manpage based on --help
25767 output.
25768
25769 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25770 that it doesn't prevent --help from working in build tree.
25771
25772 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25773 with `bug-grub@gnu.org'.
25774 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25775 * util/update-grub.in (usage): New function.
25776 Implement proper argument check, with support for --help and --version
25777 (as well as existing -y).
25778
25779 2008-02-09 Christian Franke <franke@computer.org>
25780
25781 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25782 avoid overwriting previous output.
25783 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25784
25785 2008-02-09 Robert Millan <rmh@aybabtu.com>
25786
25787 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25788 drawing the menu.
25789
25790 2008-02-09 Robert Millan <rmh@aybabtu.com>
25791
25792 * commands/sleep.c: New file.
25793 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25794 (sleep_mod_SOURCES): New variable.
25795 (sleep_mod_CFLAGS): Likewise.
25796 (sleep_mod_LDFLAGS): Likewise.
25797
25798 2008-02-09 Robert Millan <rmh@aybabtu.com>
25799
25800 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25801 situations in which we can deduce the RAID size and the superblock
25802 doesn't match it.
25803
25804 2008-02-09 Robert Millan <rmh@aybabtu.com>
25805
25806 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25807 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25808 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25809
25810 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25811 and return a grub_diskmemberlist_t composed of physical array members.
25812 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25813
25814 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25815 prototype.
25816 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25817 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25818 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25819
25820 * util/grub-probe.c (probe): Move partmap probing code from here ...
25821 (probe_partmap): ... to here.
25822 (probe): Use probe_partmap() once for the disk we're probing, and
25823 additionally, when such disk contains a memberlist() struct member,
25824 once for each disk that is contained in the structure returned by
25825 memberlist().
25826
25827 2008-02-09 Robert Millan <rmh@aybabtu.com>
25828
25829 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25830 environment variable to 'all' in order to obtain debug output from
25831 non-util/ code.
25832 * util/i386/pc/grub-setup.c (main): Likewise.
25833
25834 2008-02-08 Robert Millan <rmh@aybabtu.com>
25835
25836 * disk/raid.c (grub_raid_scan_device): Check for
25837 `array->device[sb.this_disk.number]' rather than for
25838 `array->device[sb.this_disk.number]->name', since the latter is not
25839 guaranteed to be accessible.
25840
25841 2008-02-08 Robert Millan <rmh@aybabtu.com>
25842
25843 * disk/raid.c: Update copyright.
25844 * fs/cpio.c: Likewise.
25845 * include/grub/raid.h: Likewise.
25846 * loader/i386/pc/multiboot.c: Likewise.
25847 * util/hostfs.c: Likewise.
25848
25849 2008-02-08 Robert Millan <rmh@aybabtu.com>
25850
25851 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25852 to a grub_disk_t array.
25853 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25854 `device[x]'.
25855 (grub_raid_scan_device): Replace `device[x].name' accesses with
25856 `device[x]->name'. Simplify initialization of `array->device[x]'.
25857
25858 2008-02-08 Robert Millan <rmh@aybabtu.com>
25859
25860 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25861 grub_dprintf() calls.
25862 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25863 error message.
25864
25865 2008-02-07 Christian Franke <franke@computer.org>
25866
25867 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25868 instead of fseek and ftell to support large files.
25869 (grub_hostfs_read): Likewise.
25870
25871 2008-02-07 Robert Millan <rmh@aybabtu.com>
25872
25873 Patch from Jeroen Dekkers.
25874 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25875 failure, since successfully reading all array members might not be
25876 required.
25877
25878 2008-02-06 Robert Millan <rmh@aybabtu.com>
25879
25880 * util/grub-probe.c (probe): Simplify partmap probing (with the
25881 assumption that the first word up to the underscore equals to
25882 the module name).
25883
25884 2008-02-06 Christian Franke <franke@computer.org>
25885
25886 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25887 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25888 last block of a cpio or tar stream.
25889 Check for "TRAILER!!!" instead of any empty data
25890 block to detect last block of a cpio stream.
25891 (grub_cpio_dir): Fix constness of variable np.
25892 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25893 cpio or tar trailer is detected. This fixes a crash
25894 on open of a non existing file.
25895
25896 2008-02-05 Bean <bean123ch@gmail.com>
25897
25898 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25899 address of entry.
25900 (grub_multiboot_load_elf64): Likewise.
25901 (grub_multiboot): Initialize mbi structure.
25902
25903 * util/grub-fstest.c: Don't include unused header file script.h.
25904
25905 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25906 of file.
25907 (grub_fstest_SOURCES): Likewise.
25908
25909 2008-02-05 Robert Millan <rmh@aybabtu.com>
25910
25911 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25912 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25913 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25914 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25915
25916 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25917 (translation_table): Replace hardcoded values with macros
25918 provided by `<grub/term.h>'.
25919
25920 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25921 (keyboard_map): Correct/add a few values, with macros provided
25922 by `<grub/term.h>'.
25923 (keyboard_map_shift): Zero values that don't differ from their
25924 `keyboard_map' equivalents.
25925 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25926 Discard the second scan code that is always sent by Caps lock.
25927 Only use `keyboard_map_shift' when it provides a non-zero value,
25928 otherwise fallback to `keyboard_map'.
25929
25930 2008-02-04 Bean <bean123ch@gmail.com>
25931
25932 * Makefile.in (enable_grub_fstest): New variable.
25933
25934 * conf/common.rmk (grub_fstest_init.lst): New rule.
25935 (grub_fstest_init.h): Likewise.
25936 (grub_fstest_init.c): Likewise.
25937 (util/grub-fstest.c_DEPENDENCIES): New variable.
25938 (grub_fstest_SOURCES): Likewise.
25939
25940 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25941
25942 * util/grub-fstest.c: New file.
25943
25944 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25945
25946 Make grub-setup handle a separate root device.
25947
25948 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25949 so that the root device can be compared with the destination
25950 device.
25951 When embedding the core image, if the root and destination devices
25952 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25953 0xFF.
25954 When not embedding, set ROOT_DRIVE to 0xFF.
25955
25956 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25957
25958 Add support for having a grub directory in a different drive. This
25959 is still only the data handling part.
25960
25961 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25962 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25963 (grub_root_drive): New variable.
25964
25965 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25966 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25967 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25968 as it was.
25969
25970 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25971
25972 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25973 macro.
25974 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25975
25976 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25977 is bogus, because PXE booting does not specify any drive
25978 correctly.
25979
25980 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25981 am not sure if this is really correct.
25982
25983 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25984 is always identical to the boot drive when booting from a CD.
25985
25986 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25987 longer.
25988 (root_drive): New variable.
25989 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25990 (setup_sectors): Push %dx right after popping it, because %dh will
25991 be modified later.
25992 (copy_buffer): Restore %dx.
25993
25994 2008-02-03 Robert Millan <rmh@aybabtu.com>
25995
25996 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25997 use `cdboot.img' for cdrom images.
25998
25999 2008-02-03 Robert Millan <rmh@aybabtu.com>
26000
26001 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
26002 only setup gfxterm when `font' command has succeeded.
26003
26004 2008-02-03 Robert Millan <rmh@aybabtu.com>
26005
26006 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
26007 (grub_rescue_cmd_multiboot_loader)
26008 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
26009
26010 2008-02-03 Pavel Roskin <proski@gnu.org>
26011
26012 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
26013 %edx and %esi from stack only after grub_gate_a20() is called.
26014 grub_gate_a20() clobbers %edx.
26015
26016 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26017
26018 * configure.ac (AC_INIT): Bumped to 1.96.
26019
26020 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
26021 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
26022 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
26023 video/readers/png.c.
26024
26025 2008-02-03 Bean <bean123ch@gmail.com>
26026
26027 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
26028 (cdboot_img_SOURCES): New variable.
26029 (cdboot_img_ASFLAGS): New variable.
26030 (cdboot_img_LDFLAGS): New variable.
26031
26032 * boot/i386/pc/cdboot.S: New file.
26033
26034 * disk/i386/pc/biosdisk.c (cd_start): New variable.
26035 (cd_count): Likewise.
26036 (grub_biosdisk_get_drive): Add support for cd device.
26037 (grub_biosdisk_call_hook): Likewise.
26038 (grub_biosdisk_iterate): Likewise.
26039 (grub_biosdisk_open): Likewise.
26040 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
26041 (grub_biosdisk_rw): Support reading from cd device.
26042 (GRUB_MOD_INIT): Iterate cd devices.
26043
26044 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
26045 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
26046 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
26047
26048 * kern/i386/pc/init.c (make_install_device): Check for cd device.
26049
26050 2008-02-02 Robert Millan <rmh@aybabtu.com>
26051
26052 * commands/read.c: New file.
26053 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
26054 (read_mod_SOURCES): New variable.
26055 (read_mod_CFLAGS): Likewise.
26056 (read_mod_LDFLAGS): Likewise.
26057
26058 2008-02-02 Robert Millan <rmh@aybabtu.com>
26059
26060 * normal/main.c (grub_normal_execute): Check for `menu->size' when
26061 determining whether menu has to be displayed.
26062
26063 2008-02-02 Marco Gerards <marco@gnu.org>
26064
26065 * bus/pci.c: New file.
26066
26067 * include/grub/pci.h: Likewise.
26068
26069 * include/grub/i386/pc/pci.h: Likewise.
26070
26071 * commands/lspci.c: Likewise.
26072
26073 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
26074 `lspci.mod'.
26075 (pci_mod_SOURCES): New variable.
26076 (pci_mod_CFLAGS): Likewise.
26077 (pci_mod_LDFLAGS): Likewise.
26078 (lspci_mod_SOURCES): Likewise.
26079 (lspci_mod_CFLAGS): Likewise.
26080 (lspci_mod_LDFLAGS): Likewise.
26081
26082 2008-02-02 Bean <bean123ch@gmail.com>
26083
26084 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
26085 (grub_ufs_get_file_block): Fix indirect block calculation problem.
26086
26087 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
26088 (grub_xfs_btree_node): New structure.
26089 (grub_xfs_btree_root): New structure.
26090 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
26091 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
26092 (GRUB_XFS_EXTENT_BLOCK): Likewise.
26093 (GRUB_XFS_EXTENT_SIZE): Likewise.
26094 (grub_xfs_read_block): Support btree format type.
26095 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
26096 Use directory block as basic unit.
26097
26098 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
26099
26100 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26101 __attribute__ ((__regparm__ (1))).
26102
26103 2008-02-01 Robert Millan <rmh@aybabtu.com>
26104
26105 Correct a mistake in previous commit.
26106
26107 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26108 top.
26109 (normal/command.c_DEPENDENCIES): New variable.
26110
26111 2008-02-01 Robert Millan <rmh@aybabtu.com>
26112
26113 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26114 top.
26115 (normal/command.c_DEPENDENCIES): New variable.
26116 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26117 * conf/i386-ieee1275.rmk: Likewise.
26118 * conf/i386-linuxbios.rmk: Likewise.
26119 * conf/i386-pc.rmk: Likewise.
26120 * conf/sparc64-ieee1275.rmk: Likewise.
26121 * conf/powerpc-ieee1275.rmk: Likewise.
26122 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26123
26124 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26125
26126 2008-02-01 Robert Millan <rmh@aybabtu.com>
26127
26128 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26129 call at beginning of function.
26130
26131 2008-01-31 Pavel Roskin <proski@gnu.org>
26132
26133 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
26134 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26135 (grub_mkrescue_SOURCES): Likewise.
26136 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26137
26138 2008-01-30 Robert Millan <rmh@aybabtu.com>
26139
26140 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26141 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26142 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26143 (grub_probe_SOURCES): ... to here.
26144
26145 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26146 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26147 * conf/i386-ieee1275.rmk: Likewise.
26148 * conf/i386-linuxbios.rmk: Likewise.
26149 * conf/powerpc-ieee1275.rmk: Likewise.
26150
26151 2008-01-30 Tristan Gingold <gingold@free.fr>
26152
26153 * kern/rescue.c: Silently accept empty lines.
26154
26155 2008-01-29 Bean <bean123ch@gmail.com>
26156
26157 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26158 (real_code_2): Code cleanup and change comment style.
26159 (move_memory): Avoid using 32-bit address mode.
26160
26161 2008-01-29 Bean <bean123ch@gmail.com>
26162
26163 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26164 (png_mod_SOURCES): New variable.
26165 (png_mod_CFLAGS): Likewise.
26166 (png_mod_LDFLAGS): Likewise.
26167
26168 * video/readers/png.c: New file.
26169
26170 2008-01-28 Robert Millan <rmh@aybabtu.com>
26171
26172 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26173 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26174 `ifndef GRUB_MOD_GAP' hack.
26175 * util/elf/grub-mkimage.c (add_segments): Likewise.
26176
26177 2008-01-27 Robert Millan <rmh@aybabtu.com>
26178
26179 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26180 `GRUB_MOD_GAP' for platforms in which it's not defined.
26181 * util/elf/grub-mkimage.c (add_segments): Likewise.
26182
26183 2008-01-27 Robert Millan <rmh@aybabtu.com>
26184
26185 Get grub-emu to build again (including parallel builds).
26186
26187 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26188 Split into ...
26189 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26190 (normal/execute.c_DEPENDENCIES): ... this, ...
26191 (grub-emu_DEPENDENCIES): ... and this.
26192
26193 * conf/i386-efi.rmk: Likewise.
26194 * conf/i386-linuxbios.rmk: Likewise.
26195 * conf/i386-ieee1275.rmk: Likewise.
26196 * conf/powerpc-ieee1275.rmk: Likewise.
26197 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26198
26199 2008-01-27 Robert Millan <rmh@aybabtu.com>
26200
26201 * NEWS: Add a few items.
26202
26203 2008-01-27 Robert Millan <rmh@aybabtu.com>
26204
26205 Fix parallel builds with grub-emu. Based on earlier commit for
26206 grub-probe and grub-setup.
26207
26208 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26209 (util/grub-emu.c_DEPENDENCIES): ... this.
26210 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26211 (util/grub-emu.c_DEPENDENCIES): ... this.
26212 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26213 (util/grub-emu.c_DEPENDENCIES): ... this.
26214 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26215 (util/grub-emu.c_DEPENDENCIES): ... this.
26216 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26217 (util/grub-emu.c_DEPENDENCIES): ... this.
26218
26219 2008-01-27 Pavel Roskin <proski@gnu.org>
26220
26221 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26222 to create a gap between _end and the modules added to the image
26223 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26224 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26225 * util/elf/grub-mkimage.c (add_segments): Likewise.
26226
26227 2008-01-26 Pavel Roskin <proski@gnu.org>
26228
26229 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26230 just return an error.
26231
26232 2008-01-26 Bean <bean123ch@gmail.com>
26233
26234 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26235 (grub_reiserfs_get_item): Save offset of the next item.
26236 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26237
26238 2008-01-25 Robert Millan <rmh@aybabtu.com>
26239
26240 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26241 make all filesystem sources appear together (possibly fixing omissions
26242 while at it).
26243 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26244 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26245 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26247
26248 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26249 add `kern/file.c'.
26250 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26251 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26252 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26253 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26254
26255 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26256 (probe): Add a sanity check to make sure of our ability to read
26257 requested files when probing for filesystem type.
26258
26259 * genmk.rb: Update copyright year (2007).
26260
26261 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26262 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26263 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26264 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26265 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26266 : Remove function prototypes.
26267
26268 2008-01-25 Robert Millan <rmh@aybabtu.com>
26269
26270 Revert my previous commits (based on wrong assumption of how grub_errno
26271 works).
26272
26273 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
26274 * kern/file.c (grub_file_open): Likewise.
26275
26276 2008-01-24 Pavel Roskin <proski@gnu.org>
26277
26278 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26279 that hang if GRUB tries to setup colors.
26280 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26281 colors for firmwares that don't support it.
26282 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26283 Recognize Open Hack'Ware, set flags to work around its
26284 limitations.
26285
26286 2008-01-24 Robert Millan <rmh@aybabtu.com>
26287
26288 * kern/file.c (grub_file_open): Do not account previous failures of
26289 unrelated functions when grub_errno is checked for.
26290 Reported by Oleg Strikov.
26291
26292 2008-01-24 Bean <bean123ch@gmail.com>
26293
26294 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26295 (grub_ufs_sblock): New member volume name.
26296 (grub_ufs_find_file): Fix string copy bug.
26297 (grub_ufs_label): Implement this function properly.
26298
26299 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26300 (grub_hfs_iterate_records): Use the correct file number for extents
26301 and catalog file. Fix problem in next index calculation.
26302 (grub_hfs_find_node): Replace recursive function call with loop.
26303 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26304
26305 2008-01-23 Robert Millan <rmh@aybabtu.com>
26306
26307 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26308 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26309 (grub_multiboot2_real_boot): New function prototype.
26310
26311 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26312 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26313
26314 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26315 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26316
26317 2008-01-23 Robert Millan <rmh@aybabtu.com>
26318
26319 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26320 #ifdef'ed out grub_printf().
26321
26322 2008-01-23 Robert Millan <rmh@aybabtu.com>
26323
26324 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26325 grub_dprintf calls, since they make "debug=all" mode unusable.
26326 (grub_console_checkkey): Likewise.
26327
26328 2008-01-23 Robert Millan <rmh@aybabtu.com>
26329
26330 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26331 `term/i386/pc/at_keyboard.c'.
26332 (pkglib_MODULES): Add `serial.mod'.
26333 (serial_mod_SOURCES): New variable.
26334 (serial_mod_CFLAGS): Likewise.
26335 (serial_mod_LDFLAGS): Likewise.
26336
26337 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26338 `<grub/powerpc/ieee1275/console.h>'.
26339 (grub_keyboard_controller_init): New function prototype.
26340 (grub_console_checkkey): Likewise.
26341 (grub_console_getkey): Likewise.
26342
26343 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26344 keyboard on i386.
26345
26346 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26347 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26348
26349 2008-01-23 Robert Millan <rmh@aybabtu.com>
26350
26351 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26352 present, "(memdisk)/boot/grub" becomes the default prefix.
26353
26354 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26355 a memdisk tarball with all the modules. Add --overlay=DIR option that
26356 allows users to overlay additional files into the image.
26357
26358 2008-01-23 Robert Millan <rmh@aybabtu.com>
26359
26360 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26361 and `machine/memory.h'.
26362 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26363 (_multiboot_mod_SOURCES): New variable.
26364 (_multiboot_mod_CFLAGS): Likewise.
26365 (_multiboot_mod_LDFLAGS): Likewise.
26366 (multiboot_mod_SOURCES): Likewise.
26367 (multiboot_mod_CFLAGS): Likewise.
26368 (multiboot_mod_LDFLAGS): Likewise.
26369
26370 * include/grub/i386/ieee1275/loader.h: New file.
26371
26372 * include/grub/i386/ieee1275/machine.h: Likewise.
26373
26374 * include/grub/i386/ieee1275/memory.h: Likewise.
26375
26376 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26377 variable declaration.
26378 (grub_os_area_size): Likewise.
26379
26380 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26381 (grub_lower_mem, grub_upper_mem): New variables.
26382 (grub_stop_floppy): New function (just to make
26383 grub_multiboot2_real_boot() happy).
26384
26385 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26386 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26387 (grub_stop): New function.
26388 Include `"../realmode.S"' and `"../loader.S"'.
26389
26390 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26391 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26392
26393 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26394 rely on grub_multiboot2_real_boot() for final boot.
26395
26396 2008-01-22 Robert Millan <rmh@aybabtu.com>
26397
26398 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26399 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26400 device that doesn't look like an SD card.
26401 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26402 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26403 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26404 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26405 found.
26406
26407 2008-01-22 Robert Millan <rmh@aybabtu.com>
26408
26409 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26410 avoid claiming over our own code.
26411
26412 2008-01-22 Bean <bean123ch@gmail.com>
26413
26414 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26415 (jpeg_mod_SOURCES): New variable.
26416 (jpeg_mod_CFLAGS): Likewise.
26417 (jpeg_mod_LDFLAGS): Likewise.
26418
26419 * video/readers/jpeg.c : New file.
26420
26421 2008-01-22 Bean <bean123ch@gmail.com>
26422
26423 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26424 there are no more items.
26425
26426 2008-01-21 Robert Millan <rmh@aybabtu.com>
26427
26428 * kern/mm.c (grub_mm_init_region): Improve debug message.
26429
26430 2008-01-21 Robert Millan <rmh@aybabtu.com>
26431
26432 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26433 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26434 address.
26435 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26436 a C macro.
26437 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26438 Indicates start of upper memory.
26439 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26440 (generate_image): Abort when image size is big enough to corrupt
26441 upper memory.
26442
26443 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26444 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26445 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26446 instead of hardcoding 0xA0000.
26447 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26448 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26449 instead of hardcoding 0xA0000.
26450
26451 2008-01-21 Robert Millan <rmh@aybabtu.com>
26452
26453 * disk/memdisk.c (memdisk_size): New variable.
26454 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26455 `memdisk_size'.
26456 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26457 image to dynamic memory.
26458 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26459 `memdisk_size'. Free memdisk block.
26460
26461 2008-01-21 Robert Millan <rmh@aybabtu.com>
26462
26463 Fix detection of very small filesystems (like tar).
26464
26465 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26466 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26467 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26468 a problem with this disk).
26469
26470 2008-01-21 Robert Millan <rmh@aybabtu.com>
26471
26472 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26473 on grub_biosdisk_rw_standard() error.
26474
26475 2008-01-21 Robert Millan <rmh@aybabtu.com>
26476
26477 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26478 recent changes.
26479 * kern/elf.c: Likewise.
26480 * kern/ieee1275/ieee1275.c: Likewise.
26481 * kern/powerpc/ieee1275/openfw.c: Likewise.
26482 * term/ieee1275/ofconsole.c: Likewise.
26483
26484 2008-01-21 Robert Millan <rmh@aybabtu.com>
26485
26486 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26487
26488 * include/grub/kernel.h (grub_arch_memdisk_addr)
26489 (grub_arch_memdisk_size): Moved from here ...
26490
26491 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26492 (grub_arch_memdisk_size): ... to here.
26493
26494 2008-01-21 Robert Millan <rmh@aybabtu.com>
26495
26496 Mostly based on bugfix from Bean.
26497
26498 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26499 attribute with hook() parameter.
26500 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26501 declaration.
26502 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26503 attribute with hook() parameter.
26504 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26505 declaration.
26506
26507 2008-01-21 Robert Millan <rmh@aybabtu.com>
26508
26509 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26510 (pkglib_MODULES): Add `memdisk.mod'.
26511 (memdisk_mod_SOURCES): New variable.
26512 (memdisk_mod_CFLAGS): Likewise.
26513 (memdisk_mod_LDFLAGS): Likewise.
26514
26515 * disk/memdisk.c: New file.
26516
26517 * include/grub/disk.h (grub_disk_dev_id): Add
26518 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26519
26520 * include/grub/i386/pc/kernel.h
26521 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26522 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26523 (grub_kernel_image_size): New variable declaration.
26524 (grub_total_module_size): Likewise.
26525 (grub_memdisk_image_size): Likewise.
26526
26527 * include/grub/i386/pc/memory.h
26528 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26529
26530 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26531 (grub_arch_memdisk_addr): New variable declaration.
26532 (grub_arch_memdisk_size): Likewise.
26533
26534 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26535 (grub_arch_memdisk_size): Likewise.
26536
26537 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26538 (codestart): Replace hardcoded `0x100000' with
26539 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26540
26541 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26542 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26543 not NULL, append the contents of the file it refers to, at the end of
26544 the compressed kernel image. Initialize `grub_memdisk_image_size'
26545 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26546 (options): Add "memdisk"|'m' option.
26547 (main): Parse --memdisk|-m option, and pass user-provided path as
26548 parameter to generate_image().
26549
26550 2008-01-20 Robert Millan <rmh@aybabtu.com>
26551
26552 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26553 grub_dprintf() calls from here ...
26554 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26555
26556 2008-01-20 Robert Millan <rmh@aybabtu.com>
26557
26558 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26559
26560 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26561 declaration.
26562 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26563 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26564 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26565 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26566 property).
26567 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26568 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26569
26570 2008-01-19 Robert Millan <rmh@aybabtu.com>
26571
26572 Get rid of confusing function (superseded by
26573 `grub_ieee1275_get_integer_property')
26574 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26575 prototype.
26576 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26577 function.
26578 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26579 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26580 in native endianness from grub_ieee1275_get_integer_property().
26581
26582 2008-01-19 Robert Millan <rmh@aybabtu.com>
26583
26584 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26585 command after "shut-down", since implementations differ on which
26586 the command for halt is.
26587
26588 2008-01-19 Robert Millan <rmh@aybabtu.com>
26589
26590 * include/grub/i386/linuxbios/console.h: Add header protection.
26591 (grub_keyboard_controller_init): New function prototype.
26592 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26593 (KEYBOARD_COMMAND_READ): Likewise.
26594 (KEYBOARD_COMMAND_WRITE): Likewise.
26595 (KEYBOARD_SCANCODE_SET1): Likewise.
26596 (grub_keyboard_controller_write): New function.
26597 (grub_keyboard_controller_read): Likewise.
26598 (grub_keyboard_controller_init): Likewise.
26599
26600 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26601 (grub_console_init): On coreboot/LinuxBIOS, call
26602 grub_keyboard_controller_init().
26603
26604 2008-01-19 Robert Millan <rmh@aybabtu.com>
26605
26606 PowerPC changes provided by Pavel Roskin.
26607
26608 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26609 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26610 don't rely on cmain() doing it.
26611 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26612 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26613
26614 2008-01-16 Robert Millan <rmh@aybabtu.com>
26615
26616 * include/grub/i386/linuxbios/memory.h
26617 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26618 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26619 receive `table_header' as argument. Instead, probe for it in the
26620 known memory ranges where it can be present.
26621 (grub_available_iterate): Do not pass a fixed `table_header' address
26622 to grub_linuxbios_table_iterate().
26623
26624 2008-01-15 Robert Millan <rmh@aybabtu.com>
26625
26626 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26627 * conf/i386-ieee1275.rmk: New file.
26628 * include/grub/i386/ieee1275/console.h: Likewise.
26629 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26630 * include/grub/i386/ieee1275/kernel.h: Likewise.
26631 * include/grub/i386/ieee1275/time.h: Likewise.
26632 * kern/i386/ieee1275/init.c: Likewise.
26633 * kern/i386/ieee1275/startup.S: Likewise.
26634
26635 2008-01-15 Robert Millan <rmh@aybabtu.com>
26636
26637 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26638 when pointers are 32-bit (but still do set it to one when they are
26639 64-bit).
26640
26641 2008-01-15 Robert Millan <rmh@aybabtu.com>
26642
26643 * include/grub/ieee1275/ieee1275.h
26644 (grub_ieee1275_get_integer_property): New function prototype.
26645
26646 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26647 (grub_ieee1275_get_integer_property): New function. Wraps around
26648 grub_ieee1275_get_property() to handle endianness.
26649
26650 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26651 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26652 where appropriate.
26653 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26654 (grub_map): Likewise.
26655 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26656
26657 2008-01-15 Bean <bean123ch@gmail.com>
26658
26659 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26660 (grub_script_execute_cmdline): Reset grub_errno.
26661
26662 * normal/main.c (read_config_file): Reset grub_errno.
26663
26664 * normal/parse.y (script_init): New.
26665 (script): Move function and menuentry here.
26666 (delimiter): New.
26667 (command): Add delimiter at the end of command.
26668 (commands): Adjust to match the new command.
26669 (commandblock): Remove grub_script_lexer_record_start.
26670 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26671 (if): Use the new commands.
26672
26673 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26674
26675 2008-01-15 Robert Millan <rmh@aybabtu.com>
26676
26677 * normal/menu.c (run_menu): Move timeout message from here ...
26678 (print_timeout): ... to here.
26679 (run_menu): Use print_timeout() once during initial draw to print
26680 the whole message, and again in every clock tick to update only
26681 the number of seconds.
26682
26683 2008-01-15 Robert Millan <rmh@aybabtu.com>
26684
26685 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26686 actual size of `available' from grub_ieee1275_get_property(), and
26687 restrict parsing to that bound.
26688
26689 2008-01-15 Christian Franke <franke@computer.org>
26690
26691 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26692 (argp_program_version): Remove variable.
26693 (argp_program_bug_address): Likewise.
26694 (options): Convert from struct argp_option to struct option.
26695 (struct arguments): Remove.
26696 (parse_opt): Remove.
26697 (usage): New function.
26698 (main): Replace struct args members by simple variables.
26699 Replace argp_parse() by getopt_long().
26700 Add switch to evaluate options.
26701 Add missing "(...)" around root_dev in prefix string.
26702
26703 2008-01-14 Robert Millan <rmh@aybabtu.com>
26704
26705 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26706 for grub_ieee1275_exit(), in order to improve portability.
26707
26708 2008-01-14 Robert Millan <rmh@aybabtu.com>
26709
26710 * util/grub.d/10_linux.in (prefix): Define.
26711 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26712
26713 2008-01-13 Pavel Roskin <proski@gnu.org>
26714
26715 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26716 grub_errno if no errors have been detected.
26717
26718 2008-01-12 Robert Millan <rmh@aybabtu.com>
26719
26720 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26721 (grub_util_get_dev_abstraction): New function prototype.
26722
26723 * util/getroot.c: Include `<grub/util/getroot.h>'
26724 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26725 (grub_util_get_dev_abstraction): ... here (new function).
26726
26727 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26728 `PRINT_ABSTRACTION'.
26729 (probe): Probe for abstraction type when requested.
26730 (main): Understand `--target=abstraction'.
26731
26732 * util/i386/efi/grub-install.in: Add abstraction module to core
26733 image when it is found to be necessary.
26734 * util/i386/pc/grub-install.in: Likewise.
26735 * util/powerpc/ieee1275/grub-install.in: Likewise.
26736
26737 * util/update-grub_lib.in (font_path): Return system path without
26738 converting to GRUB path.
26739 * util/update-grub.in: Convert system path returned by font_path()
26740 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26741 abstraction module is needed for loading fonts (if any). Export
26742 that as `GRUB_PRELOAD_MODULES'.
26743 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26744 insmod commands).
26745
26746 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26747
26748 Remove some unused code from reiserfs.
26749
26750 * fs/reiserfs.c (struct grub_reiserfs_key)
26751 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26752 (struct grub_reiserfs_node_body): Removed.
26753 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26754 Likewise.
26755 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26756 Likewise.
26757 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26758 Likewise.
26759 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26760 Likewise.
26761 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26762 Likewise.
26763 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26764 Likewise.
26765 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26766 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26767 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26768
26769 2008-01-10 Robert Millan <rmh@aybabtu.com>
26770
26771 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26772 Determines if a file is garbage left by packaging systems, etc.
26773 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26774 for processing /etc/grub.d scripts.
26775 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26776 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26777 as a condition for processing Linux images.
26778
26779 2008-01-10 Pavel Roskin <proski@gnu.org>
26780
26781 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26782 to compile reiserfs.c on PowerPC.
26783
26784 2008-01-10 Robert Millan <rmh@aybabtu.com>
26785
26786 * kern/device.c (grub_device_iterate): Do not abort device iteration
26787 when one of the devices cannot be opened.
26788 * kern/disk.c (grub_disk_open): Do not account previous failures of
26789 unrelated functions when grub_errno is checked for.
26790
26791 2008-01-08 Robert Millan <rmh@aybabtu.com>
26792
26793 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26794 `! grub_linux_is_bzimage', change order of address comparison to make
26795 it more intuitive, and improve "too big zImage" error message.
26796
26797 2008-01-08 Robert Millan <rmh@aybabtu.com>
26798
26799 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26800 `$(update-grub_DATA)'.
26801 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26802 targets.
26803
26804 2008-01-07 Robert Millan <rmh@aybabtu.com>
26805
26806 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26807 which instruction is modified by grub-setup during installation
26808 (since it wasn't obvious by only looking at this file).
26809
26810 2008-01-07 Robert Millan <rmh@aybabtu.com>
26811
26812 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26813 listing actual TODO items.
26814
26815 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26816
26817 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26818 correctly.
26819 (grub_reiserfs_get_key_offset): Likewise.
26820 (grub_reiserfs_set_key_offset): Likewise.
26821 (grub_reiserfs_set_key_type): Likewise.
26822 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26823
26824 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26825 better to remove the bitfield version completely.
26826
26827 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26828
26829 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26830 allocated from the heap, due to the fshelp implementation.
26831 (grub_reiserfs_dir): Free NODE, due to the same reason.
26832
26833 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26834
26835 Mostly from Vincent Pelletier:
26836
26837 * fs/reiserfs.c: New file.
26838
26839 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26840 (reiserfs_mod_SOURCES): New variable.
26841 (reiserfs_mod_CFLAGS): Likewise.
26842 (reiserfs_mod_LDFLAGS): Likewise.
26843
26844 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26845 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26846 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26847 normal/color.c.
26848
26849 2008-01-06 Robert Millan <rmh@aybabtu.com>
26850
26851 * normal/color.c: Remove `<grub/env.h>'.
26852
26853 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26854
26855 * include/grub/normal.h: Include <grub/env.h>.
26856
26857 2008-01-05 Robert Millan <rmh@aybabtu.com>
26858
26859 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26860 usage example with `(hd0,1)'.
26861 Reported by Samuel Thibault.
26862
26863 2008-01-05 Robert Millan <rmh@aybabtu.com>
26864
26865 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26866 (grub_linux_boot_zimage): Rename to ...
26867 (grub_linux_boot): ... this.
26868 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26869 (grub_linux_boot_zimage): Conditionalize zImage copy.
26870
26871 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26872 (grub_linux_boot_bzimage): Remove prototype.
26873 (grub_linux_boot_zimage): Rename to ...
26874 (grub_linux_boot): ... this.
26875
26876 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26877 (grub_linux_boot): Remove function.
26878
26879 2008-01-05 Robert Millan <rmh@aybabtu.com>
26880
26881 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26882 (grub_env_write_color_highlight): Likewise.
26883 (grub_wait_after_message): Likewise.
26884
26885 * normal/color.c: New file.
26886
26887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26888 (normal_mod_DEPENDENCIES): Likewise.
26889
26890 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26891 (normal_mod_DEPENDENCIES): Likewise.
26892
26893 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26894 (normal_mod_DEPENDENCIES): Likewise.
26895
26896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26897 (normal_mod_DEPENDENCIES): Likewise.
26898
26899 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26900 for waiting after a message is printed.
26901 * normal/main.c (read_config_file): Likewise.
26902 (grub_normal_init): Register grub_env_write_color_normal() and
26903 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26904 `color_highlight' variables as global.
26905
26906 * normal/menu.c (grub_wait_after_message): New function.
26907 (grub_color_menu_normal): New variable. Replaces ...
26908 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26909 (grub_color_menu_highlight): New variable. Replaces ...
26910 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26911 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26912 `GRUB_TERM_COLOR_STANDARD'.
26913 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26914 `normal_code' and `highlight_code' to `old_color_normal' and
26915 `old_color_highlight', respectively.
26916 (grub_menu_init_page): Update colors when drawing the menu, based on
26917 `menu_color_normal' and `menu_color_highlight' variables.
26918 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26919 a message is printed.
26920
26921 2008-01-05 Robert Millan <rmh@aybabtu.com>
26922
26923 * kern/env.c (grub_env_context_open): Propagate hooks for global
26924 variables to new context.
26925
26926 * kern/main.c (grub_set_root_dev): Export `root' variable.
26927
26928 2008-01-05 Robert Millan <rmh@aybabtu.com>
26929
26930 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26931 discs unconditionally, since udev and others have options to provide
26932 them.
26933
26934 2008-01-05 Robert Millan <rmh@aybabtu.com>
26935
26936 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26937
26938 2008-01-04 Christian Franke <franke@computer.org>
26939
26940 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26941 of eisa_mmap.
26942
26943 2008-01-03 Pavel Roskin <proski@gnu.org>
26944
26945 * kern/i386/linuxbios/init.c: Put "void" to all function
26946 declarations with no arguments.
26947 * kern/powerpc/ieee1275/init.c: Likewise.
26948 * term/i386/pc/at_keyboard.c: Likewise.
26949 * term/i386/pc/vga_text.c: Likewise.
26950 * util/grub-mkdevicemap.c: Likewise.
26951
26952 2008-01-02 Robert Millan <rmh@aybabtu.com>
26953
26954 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26955 message when loaded image is out of bounds.
26956 (grub_multiboot_load_elf64): Likewise.
26957
26958 2008-01-02 Pavel Roskin <proski@gnu.org>
26959
26960 * util/grub.d/10_linux.in: Try version without ".old" when
26961 looking for initrd. It's better to use initrd from the newer
26962 kernel of the same version than no initrd at all.
26963
26964 2008-01-01 Robert Millan <rmh@aybabtu.com>
26965
26966 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26967
26968 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26969
26970 * include/grub/video.h: Added grub_video_unmap_color and
26971 grub_video_get_active_render_target.
26972 (grub_video_adapter): Added unmap_color and get_active_render_target.
26973
26974 * video/video.c: Added grub_video_unmap_color and
26975 grub_video_get_active_render_target.
26976 (grub_video_get_info): Changed method to accept NULL pointer as an
26977 argument to allow detection of active video adapter.
26978
26979 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26980 grub_video_vbe_unmap_color_int.
26981 Added grub_video_vbe_unmap_color and
26982 grub_video_vbe_get_active_render_target.
26983 (grub_video_vbe_adapter): Added unmap_color and
26984 get_active_render_target.
26985
26986 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26987 with grub_video_vbe_unmap_color_int.
26988
26989 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26990 (DEFAULT_NORMAL_COLOR): Likewise.
26991 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26992 (DEFAULT_FG_COLOR): Removed.
26993 (DEFAULT_BG_COLOR): Likewise.
26994 (DEFAULT_CURSOR_COLOR): Changed value.
26995 (grub_virtual_screen): Added standard_color_setting,
26996 normal_color_setting, highlight_color_setting and term_color.
26997 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26998 (bitmap_width): Added.
26999 (bitmap_height): Likewise.
27000 (bitmap): Likewise.
27001 (set_term_color): Likewise.
27002 (grub_virtual_screen_setup): Changed to use new terminal coloring
27003 settings.
27004 (grub_gfxterm_init): Added init for bitmap.
27005 (grub_gfxterm_fini): Added destroy for bitmap.
27006 (redraw_screen_rect): Updated to use background bitmap and new
27007 terminal coloring.
27008 (scroll_up): Added optimization for case when there is no bitmap.
27009 (grub_gfxterm_cls): Fixed to use correct background color.
27010 (grub_virtual_screen_setcolorstate): Changed to use new terminal
27011 coloring.
27012 (grub_virtual_screen_setcolor): Likewise.
27013 (grub_virtual_screen_getcolor): Added.
27014 (grub_gfxterm_background_image_cmd): Likewise.
27015 (grub_video_term): Added setcolor and getcolor.
27016 (MOD_INIT): Added registration of background_image command.
27017 (MOD_TERM): Added unregistration for background_image command.
27018
27019 2007-12-30 Pavel Roskin <proski@gnu.org>
27020
27021 * loader/multiboot_loader.c: Fix multiboot command
27022 unregistration. Fix all typos in the word "multiboot".
27023
27024 2007-12-29 Pavel Roskin <proski@gnu.org>
27025
27026 * util/grub.d/10_linux.in: Refactor search for initrd. Add
27027 support for initrd names used in Fedora.
27028
27029 2007-12-26 Bean <bean123ch@gmail.com>
27030
27031 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
27032 (cpio_mod_SOURCES): New variable.
27033 (cpio_mod_CFLAGS): Likewise.
27034 (cpio_mod_LDFLAGS): Likewise.
27035
27036 * fs/cpio.c: New file.
27037
27038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
27039
27040 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27041
27042 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27043
27044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27045
27046 2007-12-25 Robert Millan <rmh@aybabtu.com>
27047
27048 * include/grub/term.h (struct grub_term): Add `getcolor' function.
27049 (grub_getcolor): New function.
27050
27051 * kern/term.c (grub_getcolor): New function.
27052 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
27053 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
27054 (print_entry): Set normal and highlight colors to
27055 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
27056 respectively, before printing and restore them to old
27057 values afterwards.
27058 (grub_menu_init_page): Likewise. Fill an additional colored space
27059 that would otherwise be left blank.
27060
27061 * term/efi/console.c (grub_console_getcolor): New function.
27062 (struct grub_console_term.getcolor): New variable.
27063 * term/i386/pc/console.c (grub_console_getcolor): New function.
27064 (struct grub_console_term.getcolor): New variable.
27065 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
27066 (struct grub_console_term.getcolor): New variable.
27067
27068 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
27069 (struct grub_console_term.setcolor): Remove variable.
27070 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
27071 (struct grub_console_term.setcolor): Remove variable.
27072 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
27073 (struct grub_console_term.setcolor): Remove variable.
27074 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
27075 (struct grub_console_term.setcolor): Remove variable.
27076
27077 2007-12-25 Robert Millan <rmh@aybabtu.com>
27078
27079 * configure.ac: Search for possible unifont.hex locations, and
27080 define UNIFONT_HEX if found.
27081
27082 * Makefile.in (UNIFONT_HEX): Define variable.
27083 (DATA): Rename to ...
27084 (PKGLIB): ... this. Update all users.
27085 (PKGDATA): New variable.
27086 (pkgdata_IMAGES): Rename to ...
27087 (pkglib_IMAGES): ... this. Update all users.
27088 (pkgdata_MODULES): Rename to ...
27089 (pkglib_MODULES): ... this. Update all users.
27090 (pkgdata_PROGRAMS): Rename to ...
27091 (pkglib_PROGRAMS): ... this. Update all users.
27092 (pkgdata_DATA): Rename to ...
27093 (pkglib_DATA): ... this. Update all users.
27094 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
27095 (unicode.pff, ascii.pff): New rules.
27096 (all-local): Add `$(PKGDATA)' dependency.
27097 (install-local): Process `$(PKGDATA)'.
27098
27099 * util/update-grub_lib.in (font_path): Search for *.pff files in
27100 a few more locations, including `${pkgdata}'.
27101
27102 2007-12-23 Robert Millan <rmh@aybabtu.com>
27103
27104 Patch from Bean <bean123ch@gmail.com>:
27105 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27106 `size'.
27107
27108 2007-12-21 Bean <bean123ch@gmail.com>
27109
27110 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27111 (ntfscomp_mod_SOURCES): New variable.
27112 (ntfscomp_mod_CFLAGS): Likewise.
27113 (ntfscomp_mod_LDFLAGS): Likewise.
27114
27115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27116 (grub_probe_SOURCES): Likewise.
27117 (grub_emu_SOURCES): Likewise.
27118
27119 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27120 (grub_emu_SOURCES): Likewise.
27121
27122 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27123 (grub_emu_SOURCES): Likewise.
27124
27125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27126 (grub_emu_SOURCES): Likewise.
27127
27128 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27129 (read_run_list): Renamed to grub_ntfs_read_run_list.
27130 (decomp_nextvcn): Moved to ntfscomp.c.
27131 (decomp_getch): Likewise.
27132 (decomp_get16): Likewise.
27133 (decomp_block): Likewise.
27134 (read_block): Likewise.
27135 (read_data): Partially moved to ntfscomp.c.
27136 (fixup): Change unsigned to grub_uint16_t.
27137 (read_mft): Change unsigned long to grub_uint32_t.
27138 (read_attr): Likewise.
27139 (read_data): Likewise.
27140 (read_run_data): Likewise.
27141 (read_run_list): Likewise.
27142 (read_mft): Likewise.
27143
27144 * fs/ntfscomp.c: New file.
27145
27146 * include/grub/ntfs.h: New file.
27147
27148 2007-12-16 Robert Millan <rmh@aybabtu.com>
27149
27150 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27151 IDE disk check, since Linux is known to support 20 IDE disks.
27152 Reported by Colin Watson.
27153
27154 2007-12-15 Bean <bean123ch@gmail.com>
27155
27156 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27157 (lnxboot_img_SOURCES): New variable.
27158 (lnxboot_img_ASFLAGS): Likewise.
27159 (lnxboot_img_LDFLAGS): Likewise.
27160
27161 * boot/i386/pc/lnxboot.S: New file.
27162
27163 2007-11-24 Pavel Roskin <proski@gnu.org>
27164
27165 * configure.ac: Test if '--build-id=none' is supported by the
27166 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27167 objcopy to generate incorrect binary files (binutils
27168 2.17.50.0.18-1 as shipped by Fedora 8).
27169 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27170 linking, so that build ID doesn't break the test.
27171
27172 2007-11-24 Pavel Roskin <proski@gnu.org>
27173
27174 * include/grub/i386/time.h: use "void" in the argument list
27175 of grub_cpu_idle().
27176 * include/grub/powerpc/time.h: Likewise.
27177 * include/grub/sparc64/time.h: Likewise.
27178
27179 2007-11-18 Christian Franke <franke@computer.org>
27180
27181 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27182 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27183 This fixes the problem that function keys did not work in grub-emu.
27184
27185 2007-11-18 Christian Franke <franke@computer.org>
27186
27187 * disk/host.c (grub_host_open): Remove attribute unused from
27188 name parameter. Add check for "host". This fixes the problem
27189 that grub-emu does not find partitions.
27190
27191 2007-11-18 Christian Franke <franke@computer.org>
27192
27193 * util/hostfs.c (is_dir): New function.
27194 (grub_hostfs_dir): Handle missing dirent.d_type case.
27195 (grub_hostfs_read): Add missing fseek().
27196 (grub_hostfs_label): Clear label pointer. This fixes a crash
27197 of grub-emu on "ls (host)".
27198
27199 2007-11-18 Christian Franke <franke@computer.org>
27200
27201 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27202 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27203 to 64 bit boundary by default.
27204
27205 2007-11-18 Bean <bean123ch@gmail.com>
27206
27207 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27208 (hexdump_mod_SOURCES): New variable.
27209 (hexdump_mod_CFLAGS): Likewise.
27210 (hexdump_mod_LDFLAGS): Likewise.
27211
27212 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27213
27214 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27215
27216 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27217
27218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27219
27220 * include/grub/hexdump.h: New file.
27221
27222 * commands/hexdump.c: New file.
27223
27224 2007-11-10 Robert Millan <rmh@aybabtu.com>
27225
27226 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27227 in grub_outb() calls.
27228 (beep_on): Likewise.
27229
27230 2007-11-10 Christian Franke <franke@computer.org>
27231
27232 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27233 (grub_menu_run): Likewise.
27234
27235 2007-11-10 Robert Millan <rmh@aybabtu.com>
27236
27237 * include/grub/i386/efi/machine.h: New file.
27238 * include/grub/i386/linuxbios/machine.h: Likewise.
27239 * include/grub/i386/pc/machine.h: Likewise.
27240 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27241 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27242
27243 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27244 (serial_hw_io_addr): New variable.
27245 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27246 instead of `(unsigned short *) 0x400'.
27247
27248 2007-11-10 Bean <bean123ch@gmail.com>
27249
27250 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27251
27252 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27253
27254 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27255 (vga_mod_SOURCES): Added.
27256 (vga_mod_CFLAGS): Likewise.
27257 (vga_mod_LDFLAGS): Likewise.
27258
27259 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27260 grub_outb() calls.
27261 (set_map_mask): Likewise.
27262 (set_read_map): Likewise.
27263 (set_read_address): Likewise.
27264 (vga_font): Removed variable.
27265 (get_vga_glyph): Removed function.
27266 (invalidate_char): Likewise.
27267 (write_char): Changed to use grub_font_get_glyph() for font
27268 information.
27269 (grub_vga_putchar): Likewise.
27270 (grub_vga_getcharwidth): Likewise.
27271
27272 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27273
27274 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27275 flags.
27276 (pxeboot_img_LDFLAGS): Likewise.
27277 (diskboot_img_LDFLAGS): Likewise.
27278 (kernel_img_LDFLAGS): Likewise.
27279
27280 2007-11-06 Robert Millan <rmh@aybabtu.com>
27281
27282 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27283 in grub_outb() calls.
27284 (serial_hw_init): Likewise.
27285
27286 2007-11-05 Robert Millan <rmh@aybabtu.com>
27287
27288 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27289 spaces. Skip non-regular files.
27290
27291 2007-11-05 Robert Millan <rmh@aybabtu.com>
27292
27293 * kern/disk.c (grub_disk_firmware_fini)
27294 (grub_disk_firmware_is_tainted): New variables.
27295
27296 * include/grub/disk.h (grub_disk_firmware_fini)
27297 (grub_disk_firmware_is_tainted): Likewise.
27298
27299 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27300 (grub_disk_biosdisk_fini): ... to here.
27301 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27302 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27303 is set. Register grub_disk_biosdisk_fini() in
27304 `grub_disk_firmware_fini'.
27305
27306 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27307 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27308 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27309 to finish existing firmware disk interface.
27310
27311 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27312 (ata_mod_SOURCES): New variable.
27313 (ata_mod_CFLAGS): Likewise.
27314 (ata_mod_LDFLAGS): Likewise.
27315
27316 2007-11-05 Robert Millan <rmh@aybabtu.com>
27317
27318 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27319 (grub_ata_wait): Reimplement using grub_millisleep().
27320
27321 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27322 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27323
27324 2007-11-03 Marco Gerards <marco@gnu.org>
27325
27326 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27327 (CRTC_ADDR_PORT): New macro.
27328 (CRTC_DATA_PORT): Likewise.
27329 (CRTC_CURSOR): Likewise.
27330 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27331 (CRTC_CURSOR_ADDR_LOW): Likewise.
27332 (update_cursor): New function.
27333 (grub_console_real_putchar): Call `update_cursor'.
27334 (grub_console_gotoxy): Likewise.
27335 (grub_console_cls): Set the default color when clearing the
27336 screen.
27337 (grub_console_setcursor): Implemented.
27338
27339 2007-11-03 Marco Gerards <marco@gnu.org>
27340
27341 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27342 become activate.
27343 (grub_ata_pio_write): Likewise.
27344
27345 (grub_atapi_identify): Wait after issuing an ATA command.
27346 (grub_atapi_packet): Likewise.
27347 (grub_ata_identify): Likewise.
27348 (grub_ata_readwrite): Likewise.
27349
27350 2007-11-03 Marco Gerards <marco@gnu.org>
27351
27352 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27353 (grub_ata_pio_write): Likewise.
27354 (grub_ata_readwrite): Use `grub_error', instead of
27355 returning `grub_errno'.
27356
27357 2007-11-03 Marco Gerards <marco@gnu.org>
27358
27359 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27360 grub_ata_pio_write once for every single sector, instead of for
27361 multiple sectors.
27362
27363 2007-10-31 Robert Millan <rmh@aybabtu.com>
27364
27365 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27366
27367 * conf/i386-linuxbios.rmk: New file.
27368
27369 * kern/i386/pc/hardware.c: Likewise.
27370 * term/i386/pc/at_keyboard.c: Likewise.
27371 * term/i386/pc/vga_text.c: Likewise.
27372
27373 * include/grub/i386/linuxbios/boot.h: Likewise.
27374 * include/grub/i386/linuxbios/console.h: Likewise.
27375 * include/grub/i386/linuxbios/init.h: Likewise.
27376 * include/grub/i386/linuxbios/kernel.h: Likewise.
27377 * include/grub/i386/linuxbios/loader.h: Likewise.
27378 * include/grub/i386/linuxbios/memory.h: Likewise.
27379 * include/grub/i386/linuxbios/serial.h: Likewise.
27380 * include/grub/i386/linuxbios/time.h: Likewise.
27381
27382 * kern/i386/linuxbios/init.c: Likewise.
27383 * kern/i386/linuxbios/startup.S: Likewise.
27384 * kern/i386/linuxbios/table.c: Likewise.
27385
27386 2007-10-31 Marco Gerards <marco@gnu.org>
27387
27388 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27389 (ata_mod_SOURCES): New variable.
27390 (ata_mod_CFLAGS): Likewise.
27391 (ata_mod_LDFLAGS): Likewise.
27392
27393 * disk/ata.c: New file.
27394
27395 * include/grub/disk.h (grub_disk_dev_id): Add
27396 `GRUB_DISK_DEV_ATA_ID'.
27397
27398 2007-10-31 Robert Millan <rmh@aybabtu.com>
27399
27400 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27401 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27402
27403 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27404 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27405
27406 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27407 `<grub/types.h>'.
27408
27409 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27410
27411 2007-10-27 Robert Millan <rmh@aybabtu.com>
27412
27413 * include/grub/types.h (ULONG_MAX): Define macro.
27414
27415 2007-10-22 Robert Millan <rmh@aybabtu.com>
27416
27417 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27418 `"../realmode.S"'.
27419 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27420
27421 2007-10-22 Robert Millan <rmh@aybabtu.com>
27422
27423 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27424 (pkgdata_MODULES): Add `biosdisk.mod'.
27425 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27426 variables.
27427
27428 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27429 (grub_biosdisk_init): Replace with ...
27430 (GRUB_MOD_INIT(biosdisk)): ... this.
27431 (grub_biosdisk_fini): Replace with ...
27432 (GRUB_MOD_FINI(biosdisk)): ... this.
27433
27434 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27435 (grub_machine_init): Remove call to grub_biosdisk_init().
27436 (grub_machine_fini): Remove call to grub_machine_fini().
27437
27438 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27439
27440 2007-10-22 Robert Millan <rmh@aybabtu.com>
27441
27442 * include/grub/time.h: New file.
27443 * include/grub/i386/time.h: Likewise.
27444 * include/grub/powerpc/time.h: Likewise.
27445 * include/grub/sparc64/time.h: Likewise.
27446
27447 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27448 instances to ...
27449 (KERNEL_MACHINE_TIME_HEADER): ... this.
27450 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27451 instances to ...
27452 (KERNEL_MACHINE_TIME_HEADER): ... this.
27453 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27454 instances to ...
27455 (KERNEL_MACHINE_TIME_HEADER): ... this.
27456
27457 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27458 (grub_millisleep): New function.
27459 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27460 (grub_millisleep): New function.
27461 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27462 Remove `grub/machine/time.h' include.
27463 (grub_millisleep): New function.
27464 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27465 Remove `grub/machine/time.h' include.
27466 (grub_millisleep): New function.
27467
27468 * include/grub/misc.h (grub_div_roundup): New function.
27469
27470 * kern/misc.c: Include `<grub/time.h>'.
27471 (grub_millisleep_generic): New function.
27472
27473 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27474 Add `time.h'.
27475 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27476 Add `time.h'.
27477 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27478 `machine/time.h'. Add `time.h'.
27479 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27480
27481 2007-10-21 Robert Millan <rmh@aybabtu.com>
27482
27483 * include/grub/misc.h (grub_max): New function.
27484
27485 2007-10-21 Robert Millan <rmh@aybabtu.com>
27486
27487 * util/misc.c (grub_util_info): Call fflush() before returning.
27488
27489 2007-10-20 Robert Millan <rmh@aybabtu.com>
27490
27491 * genmk.rb (Image): Copy `extra_flags' from here ...
27492 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27493
27494 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27495 to `argc' and `args' arguments.
27496
27497 2007-10-17 Robert Millan <rmh@aybabtu.com>
27498
27499 * kern/i386/loader.S: New file.
27500
27501 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27502 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27503 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27504 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27505 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27506 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27507 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27508 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27509 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27510 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27511 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27512 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27513 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27514 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27515
27516 * kern/i386/realmode.S: New file.
27517
27518 * kern/i386/pc/startup.S (protstack): Moved from here ...
27519 * kern/i386/realmode.S (protstack)... to here.
27520 * kern/i386/pc/startup.S (gdt): Moved from here ...
27521 * kern/i386/realmode.S (gdt)... to here.
27522 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27523 * kern/i386/realmode.S (prot_to_real)... to here.
27524
27525 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27526 `kern/i386/realmode.S'.
27527
27528 2007-10-17 Robert Millan <rmh@aybabtu.com>
27529
27530 * include/grub/i386/loader.h: New file.
27531
27532 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27533 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27534 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27535 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27536 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27537 * include/grub/i386/loader.h (grub_linux_prot_size)
27538 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27539 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27540 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27541 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27542
27543 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27544
27545 2007-10-15 Robert Millan <rmh@aybabtu.com>
27546
27547 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27548 filesystem when dev->disk is unset.
27549 Do probe for filesystem even when dev->disk->has_partitions is set.
27550 In case a filesystem is found, always report it.
27551 In case it isn't, if dev->disk->has_partitions is set, report that
27552 a partition table was found instead of reporting that no filesystem
27553 could be identified.
27554
27555 2007-10-12 Robert Millan <rmh@aybabtu.com>
27556
27557 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27558 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27559
27560 * include/grub/types.h (grub_host_to_target16): New macro.
27561 (grub_host_to_target32): Likewise.
27562 (grub_host_to_target64): Likewise.
27563 (grub_target_to_host16): Likewise.
27564 (grub_target_to_host32): Likewise.
27565 (grub_target_to_host64): Likewise.
27566
27567 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27568 Renamed from to ...
27569 (GRUB_MOD_ALIGN): ...this. Update all users.
27570
27571 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27572 grub_host_to_target32.
27573 Replace grub_be_to_cpu32 with grub_target_to_host32.
27574 (load_modules): Likewise.
27575 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27576 Replace grub_be_to_cpu32 with grub_target_to_host32.
27577 Replace grub_cpu_to_be16 with grub_host_to_target16.
27578 Replace grub_cpu_to_be32 grub_host_to_target32.
27579
27580 2007-10-12 Robert Millan <rmh@aybabtu.com>
27581
27582 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27583 * util/elf/grub-mkimage.c: ... here.
27584
27585 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27586 `util/powerpc/ieee1275/grub-mkimage.c'.
27587
27588 2007-10-07 Robert Millan <rmh@aybabtu.com>
27589
27590 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27591 and make it easier to figure out.
27592 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27593 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27594 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27595 leave us with less than HEAP_MIN_SIZE total heap.
27596 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27597
27598 2007-10-03 Robert Millan <rmh@aybabtu.com>
27599
27600 * include/grub/i386/io.h: New file.
27601 * commands/i386/pc/play.c (inb): Removed.
27602 (outb): Removed.
27603 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27604 with grub_outb().
27605 * term/i386/pc/serial.c (inb): Removed.
27606 (outb): Removed.
27607 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27608 with grub_outb().
27609 * term/i386/pc/vga.c (inb): Removed.
27610 (outb): Removed.
27611 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27612 with grub_outb().
27613
27614 2007-10-02 Robert Millan <rmh@aybabtu.com>
27615
27616 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27618 Reported by Marcin Kurek.
27619
27620 2007-09-07 Robert Millan <rmh@aybabtu.com>
27621
27622 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27623 SmartFirmware version updates (as released by Sven Luther), and avoid
27624 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27625 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27626 known broken.
27627
27628 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27629
27630 From Hitoshi Ozeki:
27631 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27632 when merging two regions.
27633
27634 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27635
27636 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27637 * normal/completion.c (grub_normal_do_completion): Likewise.
27638 Reported by Hitoshi Ozeki.
27639
27640 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27641
27642 Do not use devices at boot in chainloading.
27643
27644 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27645 (boot_part_addr): Likewise.
27646 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27647 with BOOT_DRIVE and BOOT_PART_ADDR.
27648 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27649 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27650
27651 2007-08-29 Robert Millan <rmh@aybabtu.com>
27652
27653 Patch from Simon Peter <dn.tlp@gmx.net>:
27654 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27655 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27656 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27657 util/i386/pc/grub-setup.c_DEPENDENCIES.
27658 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27659 util/grub-probe.c_DEPENDENCIES.
27660 * conf/powerpc-ieee1275.rmk: Likewise.
27661
27662 2007-08-28 Robert Millan <rmh@aybabtu.com>
27663
27664 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27665 to tell grub-mkdevicemap how to name devices.
27666 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27667 feature).
27668
27669 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27670 util/i386/get_disk_name.c.
27671 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27672 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27673 util/ieee1275/get_disk_name.c.
27674
27675 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27676
27677 * DISTLIST: Add util/i386/get_disk_name.c and
27678 util/ieee1275/get_disk_name.c.
27679
27680 * util/grub-mkdevicemap.c: Replace device naming logic with
27681 grub_util_get_disk_name() calls.
27682
27683 2007-08-20 Robert Millan <rmh@aybabtu.com>
27684
27685 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27686 (so that it works for both plural and singular quantities).
27687
27688 2007-08-05 Robert Millan <rmh@aybabtu.com>
27689
27690 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27691 so that [xz] isn't taken into account when determining order.
27692
27693 2007-08-02 Marco Gerards <marco@gnu.org>
27694
27695 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27696 `include/multiboot2.h', `include/grub/elfload.h',
27697 `include/multiboot.h', `include/grub/multiboot.h',
27698 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27699 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27700 `kern/elf.c', `loader/multiboot_loader.c',
27701 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27702 `loader/i386/pc/multiboot2.c',
27703 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27704 `util/i386/pc/grub-mkrescue.in'. Remove
27705 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27706 `include/grub/i386/pc/util/biosdisk.h' and
27707 `include/grub/powerpc/ieee1275/multiboot.h'.
27708
27709 2007-08-02 Bean <bean123ch@gmail.com>
27710
27711 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27712 (ntfs_mod_SOURCES): New variable.
27713 (ntfs_mod_CFLAGS): Likewise.
27714 (ntfs_mod_LDFLAGS): Likewise.
27715
27716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27717 (grub_probe_SOURCES): Likewise.
27718 (grub_emu_SOURCES): Likewise.
27719
27720 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27721 (grub_emu_SOURCES): Likewise.
27722
27723 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27724 (grub_emu_SOURCES): Likewise.
27725
27726 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27727
27728 * fs/ntfs.c: New file.
27729
27730 2007-08-02 Bean <bean123ch@gmail.com>
27731
27732 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27733
27734 * file.h (grub_file): Likewise.
27735
27736 * fshelp.h (grub_fshelp_read_file): Likewise.
27737
27738 * util/i386/pc/grub-setup.c (setup): Likewise.
27739 (save_first_sector): Likewise.
27740 (save_blocklists): Likewise.
27741
27742 * fs/affs.c (grub_affs_read_file): Likewise.
27743
27744 * fs/ext2.c (grub_ext2_read_file): Likewise.
27745
27746 * fs/fat.c (grub_fat_read_data): Likewise.
27747
27748 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27749
27750 * fs/hfs.c (grub_hfs_read_file): Likewise.
27751
27752 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27753
27754 * fs/jfs.c (grub_jfs_read_file): Likewise.
27755
27756 * fs/minix.c (grub_minix_read_file): Likewise.
27757
27758 * fs/sfs.c (grub_sfs_read_file): Likewise.
27759
27760 * fs/ufs.c (grub_ufs_read_file): Likewise.
27761
27762 * fs/xfs.c (grub_xfs_read_file): Likewise.
27763
27764 * command/blocklist.c (read_blocklist): Likewise.
27765 (print_blocklist): Likewise.
27766
27767 2007-08-02 Marco Gerards <marco@gnu.org>
27768
27769 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27770 `util/hostfs.c'.
27771
27772 * disk/host.c: New file.
27773
27774 * util/hostfs.c: Likewise.
27775
27776 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27777 return `GRUB_ERR_BAD_FS'.
27778 * fs/sfs.c (grub_sfs_mount): Likewise.
27779 * fs/xfs.c (grub_xfs_mount): Likewise.
27780
27781 * include/grub/disk.h (enum grub_disk_dev_id): Add
27782 `GRUB_DISK_DEVICE_HOST_ID'.
27783
27784 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27785
27786 2007-07-24 Jerone Young <jerone@gmail.com>
27787
27788 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27789 modules for compilation.
27790 * conf/powerpc-ieee1275.rmk: Likewise.
27791
27792 * include/multiboot.h: Move multiboot definitions to one file. Rename
27793 many definitions to not get grub specific.
27794 * include/multiboot2.h: Create header with multiboot 2 definitions.
27795 * include/grub/multiboot.h: Header for grub specific function
27796 prototypes and definitions.
27797 * include/grub/multiboot2.h: Likewise.
27798 * include/grub/multiboot_loader.h: Likewise.
27799 * include/grub/i386/pc/multiboot.h: Removed.
27800 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27801
27802 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27803 and 2 to allow for one multiboot and module commands.
27804 * loader/multiboot2.c: Add multiboot2 functionality.
27805 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27806 and definition names.
27807 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27808 2 functions.
27809 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27810 ieee1275 specific multiboot2 code.
27811
27812 * kern/i386/pc/startup.S: Change headers and definition names for
27813 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27814
27815 2007-07-22 Robert Millan <rmh@aybabtu.com>
27816
27817 * geninitheader.sh: Process file specified in first parameter rather
27818 than hardcoding grub_modules_init.lst.
27819 * geninit.sh: Likewise. Also, construct header name dynamically rather
27820 than hardcoding grub_modules_init.h.
27821
27822 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27823 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27824 grub_probe_init.[ch] and grub_setup_init.[ch].
27825
27826 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27827 grub_modules_init.h with grub_emu_init.h.
27828 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27829 grub_probe_init.[ch] files.
27830 * conf/i386-efi.rmk: Likewise.
27831 * conf/i386-pc.rmk: Likewise.
27832 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27833 grub_setup_init.[ch] files.
27834
27835 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27836 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27837 to initialize modules rather than a list of hardcoded functions.
27838 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27839 grub_init_all() to initialize modules rather than a list of hardcoded
27840 functions.
27841
27842 2007-07-22 Robert Millan <rmh@aybabtu.com>
27843
27844 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27845 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27846
27847 2007-07-22 Robert Millan <rmh@aybabtu.com>
27848
27849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27850 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27851 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27852 flag when running on SmartFirmware.
27853 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27854 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27855 was set.
27856
27857 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27858 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27859 rather than decreasing it.
27860
27861 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27862 there's not enough space to do it, fail in the same way as when it
27863 can't be done because there are no partitions.
27864
27865 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27866 when nvsetenv failed.
27867
27868 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27869
27870 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27871 because this rule is automatically generated.
27872 (grub-mkrescue): Removed for the same reason as above.
27873
27874 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27875
27876 Migrate to GNU General Public License Version 3.
27877
27878 * COPYING: Replaced with the plain text version of GPLv3.
27879
27880 * config.guess: Updated from gnulib.
27881 * config.sub: Likewise.
27882
27883 * geninit.sh: Output a GPLv3 copyright notice.
27884 * geninitheader.sh: Likewise.
27885 * genmodsrc.sh: Likewise.
27886 * gensymlist.sh.in: Likewise.
27887
27888 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27889 * boot/i386/pc/diskboot.S: Likewise.
27890 * boot/i386/pc/pxeboot.S: Likewise.
27891 * commands/blocklist.c: Likewise.
27892 * commands/boot.c: Likewise.
27893 * commands/cat.c: Likewise.
27894 * commands/cmp.c: Likewise.
27895 * commands/configfile.c: Likewise.
27896 * commands/echo.c: Likewise.
27897 * commands/help.c: Likewise.
27898 * commands/ls.c: Likewise.
27899 * commands/search.c: Likewise.
27900 * commands/terminal.c: Likewise.
27901 * commands/test.c: Likewise.
27902 * commands/videotest.c: Likewise.
27903 * commands/i386/cpuid.c: Likewise.
27904 * commands/i386/pc/halt.c: Likewise.
27905 * commands/i386/pc/play.c: Likewise.
27906 * commands/i386/pc/reboot.c: Likewise.
27907 * commands/i386/pc/vbeinfo.c: Likewise.
27908 * commands/i386/pc/vbetest.c: Likewise.
27909 * commands/ieee1275/halt.c: Likewise.
27910 * commands/ieee1275/reboot.c: Likewise.
27911 * commands/ieee1275/suspend.c: Likewise.
27912 * disk/loopback.c: Likewise.
27913 * disk/lvm.c: Likewise.
27914 * disk/raid.c: Likewise.
27915 * disk/efi/efidisk.c: Likewise.
27916 * disk/i386/pc/biosdisk.c: Likewise.
27917 * disk/ieee1275/ofdisk.c: Likewise.
27918 * font/manager.c: Likewise.
27919 * fs/affs.c: Likewise.
27920 * fs/ext2.c: Likewise.
27921 * fs/fat.c: Likewise.
27922 * fs/fshelp.c: Likewise.
27923 * fs/hfs.c: Likewise.
27924 * fs/hfsplus.c: Likewise.
27925 * fs/iso9660.c: Likewise.
27926 * fs/jfs.c: Likewise.
27927 * fs/minix.c: Likewise.
27928 * fs/sfs.c: Likewise.
27929 * fs/ufs.c: Likewise.
27930 * fs/xfs.c: Likewise.
27931 * hello/hello.c: Likewise.
27932 * include/grub/acorn_filecore.h: Likewise.
27933 * include/grub/arg.h: Likewise.
27934 * include/grub/bitmap.h: Likewise.
27935 * include/grub/boot.h: Likewise.
27936 * include/grub/cache.h: Likewise.
27937 * include/grub/device.h: Likewise.
27938 * include/grub/disk.h: Likewise.
27939 * include/grub/dl.h: Likewise.
27940 * include/grub/elfload.h: Likewise.
27941 * include/grub/env.h: Likewise.
27942 * include/grub/err.h: Likewise.
27943 * include/grub/file.h: Likewise.
27944 * include/grub/font.h: Likewise.
27945 * include/grub/fs.h: Likewise.
27946 * include/grub/fshelp.h: Likewise.
27947 * include/grub/gzio.h: Likewise.
27948 * include/grub/hfs.h: Likewise.
27949 * include/grub/kernel.h: Likewise.
27950 * include/grub/loader.h: Likewise.
27951 * include/grub/lvm.h: Likewise.
27952 * include/grub/misc.h: Likewise.
27953 * include/grub/mm.h: Likewise.
27954 * include/grub/net.h: Likewise.
27955 * include/grub/normal.h: Likewise.
27956 * include/grub/parser.h: Likewise.
27957 * include/grub/partition.h: Likewise.
27958 * include/grub/pc_partition.h: Likewise.
27959 * include/grub/raid.h: Likewise.
27960 * include/grub/rescue.h: Likewise.
27961 * include/grub/script.h: Likewise.
27962 * include/grub/setjmp.h: Likewise.
27963 * include/grub/symbol.h: Likewise.
27964 * include/grub/term.h: Likewise.
27965 * include/grub/terminfo.h: Likewise.
27966 * include/grub/tparm.h: Likewise.
27967 * include/grub/types.h: Likewise.
27968 * include/grub/video.h: Likewise.
27969 * include/grub/efi/api.h: Likewise.
27970 * include/grub/efi/chainloader.h: Likewise.
27971 * include/grub/efi/console.h: Likewise.
27972 * include/grub/efi/console_control.h: Likewise.
27973 * include/grub/efi/disk.h: Likewise.
27974 * include/grub/efi/efi.h: Likewise.
27975 * include/grub/efi/pe32.h: Likewise.
27976 * include/grub/efi/time.h: Likewise.
27977 * include/grub/i386/linux.h: Likewise.
27978 * include/grub/i386/setjmp.h: Likewise.
27979 * include/grub/i386/types.h: Likewise.
27980 * include/grub/i386/efi/kernel.h: Likewise.
27981 * include/grub/i386/efi/loader.h: Likewise.
27982 * include/grub/i386/efi/time.h: Likewise.
27983 * include/grub/i386/pc/biosdisk.h: Likewise.
27984 * include/grub/i386/pc/boot.h: Likewise.
27985 * include/grub/i386/pc/chainloader.h: Likewise.
27986 * include/grub/i386/pc/console.h: Likewise.
27987 * include/grub/i386/pc/init.h: Likewise.
27988 * include/grub/i386/pc/kernel.h: Likewise.
27989 * include/grub/i386/pc/loader.h: Likewise.
27990 * include/grub/i386/pc/memory.h: Likewise.
27991 * include/grub/i386/pc/multiboot.h: Likewise.
27992 * include/grub/i386/pc/serial.h: Likewise.
27993 * include/grub/i386/pc/time.h: Likewise.
27994 * include/grub/i386/pc/vbe.h: Likewise.
27995 * include/grub/i386/pc/vbeblit.h: Likewise.
27996 * include/grub/i386/pc/vbefill.h: Likewise.
27997 * include/grub/i386/pc/vbeutil.h: Likewise.
27998 * include/grub/i386/pc/vga.h: Likewise.
27999 * include/grub/ieee1275/ieee1275.h: Likewise.
28000 * include/grub/ieee1275/ofdisk.h: Likewise.
28001 * include/grub/powerpc/libgcc.h: Likewise.
28002 * include/grub/powerpc/setjmp.h: Likewise.
28003 * include/grub/powerpc/types.h: Likewise.
28004 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
28005 * include/grub/powerpc/ieee1275/console.h: Likewise.
28006 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
28007 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28008 * include/grub/powerpc/ieee1275/loader.h: Likewise.
28009 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
28010 * include/grub/powerpc/ieee1275/time.h: Likewise.
28011 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
28012 * include/grub/sparc64/libgcc.h: Likewise.
28013 * include/grub/sparc64/setjmp.h: Likewise.
28014 * include/grub/sparc64/types.h: Likewise.
28015 * include/grub/sparc64/ieee1275/console.h: Likewise.
28016 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28017 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28018 * include/grub/sparc64/ieee1275/time.h: Likewise.
28019 * include/grub/util/biosdisk.h: Likewise.
28020 * include/grub/util/getroot.h: Likewise.
28021 * include/grub/util/lvm.h: Likewise.
28022 * include/grub/util/misc.h: Likewise.
28023 * include/grub/util/raid.h: Likewise.
28024 * include/grub/util/resolve.h: Likewise.
28025 * io/gzio.c: Likewise.
28026 * kern/device.c: Likewise.
28027 * kern/disk.c: Likewise.
28028 * kern/dl.c: Likewise.
28029 * kern/elf.c: Likewise.
28030 * kern/env.c: Likewise.
28031 * kern/err.c: Likewise.
28032 * kern/file.c: Likewise.
28033 * kern/fs.c: Likewise.
28034 * kern/loader.c: Likewise.
28035 * kern/main.c: Likewise.
28036 * kern/misc.c: Likewise.
28037 * kern/mm.c: Likewise.
28038 * kern/parser.c: Likewise.
28039 * kern/partition.c: Likewise.
28040 * kern/rescue.c: Likewise.
28041 * kern/term.c: Likewise.
28042 * kern/efi/efi.c: Likewise.
28043 * kern/efi/init.c: Likewise.
28044 * kern/efi/mm.c: Likewise.
28045 * kern/i386/dl.c: Likewise.
28046 * kern/i386/efi/init.c: Likewise.
28047 * kern/i386/efi/startup.S: Likewise.
28048 * kern/i386/pc/init.c: Likewise.
28049 * kern/i386/pc/lzo1x.S: Likewise.
28050 * kern/i386/pc/startup.S: Likewise.
28051 * kern/ieee1275/ieee1275.c: Likewise.
28052 * kern/powerpc/cache.S: Likewise.
28053 * kern/powerpc/dl.c: Likewise.
28054 * kern/powerpc/ieee1275/cmain.c: Likewise.
28055 * kern/powerpc/ieee1275/crt0.S: Likewise.
28056 * kern/powerpc/ieee1275/init.c: Likewise.
28057 * kern/powerpc/ieee1275/openfw.c: Likewise.
28058 * kern/sparc64/cache.S: Likewise.
28059 * kern/sparc64/dl.c: Likewise.
28060 * kern/sparc64/ieee1275/init.c: Likewise.
28061 * kern/sparc64/ieee1275/openfw.c: Likewise.
28062 * loader/efi/chainloader.c: Likewise.
28063 * loader/efi/chainloader_normal.c: Likewise.
28064 * loader/i386/efi/linux.c: Likewise.
28065 * loader/i386/efi/linux_normal.c: Likewise.
28066 * loader/i386/pc/chainloader.c: Likewise.
28067 * loader/i386/pc/chainloader_normal.c: Likewise.
28068 * loader/i386/pc/linux.c: Likewise.
28069 * loader/i386/pc/linux_normal.c: Likewise.
28070 * loader/i386/pc/multiboot.c: Likewise.
28071 * loader/i386/pc/multiboot_normal.c: Likewise.
28072 * loader/powerpc/ieee1275/linux.c: Likewise.
28073 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28074 * normal/arg.c: Likewise.
28075 * normal/cmdline.c: Likewise.
28076 * normal/command.c: Likewise.
28077 * normal/completion.c: Likewise.
28078 * normal/execute.c: Likewise.
28079 * normal/function.c: Likewise.
28080 * normal/lexer.c: Likewise.
28081 * normal/main.c: Likewise.
28082 * normal/menu.c: Likewise.
28083 * normal/menu_entry.c: Likewise.
28084 * normal/misc.c: Likewise.
28085 * normal/parser.y: Likewise.
28086 * normal/script.c: Likewise.
28087 * normal/i386/setjmp.S: Likewise.
28088 * normal/powerpc/setjmp.S: Likewise.
28089 * normal/sparc64/setjmp.S: Likewise.
28090 * partmap/acorn.c: Likewise.
28091 * partmap/amiga.c: Likewise.
28092 * partmap/apple.c: Likewise.
28093 * partmap/gpt.c: Likewise.
28094 * partmap/pc.c: Likewise.
28095 * partmap/sun.c: Likewise.
28096 * term/gfxterm.c: Likewise.
28097 * term/terminfo.c: Likewise.
28098 * term/efi/console.c: Likewise.
28099 * term/i386/pc/console.c: Likewise.
28100 * term/i386/pc/serial.c: Likewise.
28101 * term/i386/pc/vesafb.c: Likewise.
28102 * term/i386/pc/vga.c: Likewise.
28103 * term/ieee1275/ofconsole.c: Likewise.
28104 * util/biosdisk.c: Likewise.
28105 * util/console.c: Likewise.
28106 * util/genmoddep.c: Likewise.
28107 * util/getroot.c: Likewise.
28108 * util/grub-emu.c: Likewise.
28109 * util/grub-mkdevicemap.c: Likewise.
28110 * util/grub-probe.c: Likewise.
28111 * util/lvm.c: Likewise.
28112 * util/misc.c: Likewise.
28113 * util/raid.c: Likewise.
28114 * util/resolve.c: Likewise.
28115 * util/update-grub.in: Likewise.
28116 * util/update-grub_lib.in: Likewise.
28117 * util/grub.d/00_header.in: Likewise.
28118 * util/grub.d/10_hurd.in: Likewise.
28119 * util/grub.d/10_linux.in: Likewise.
28120 * util/i386/efi/grub-install.in: Likewise.
28121 * util/i386/efi/grub-mkimage.c: Likewise.
28122 * util/i386/pc/grub-install.in: Likewise.
28123 * util/i386/pc/grub-mkimage.c: Likewise.
28124 * util/i386/pc/grub-mkrescue.in: Likewise.
28125 * util/i386/pc/grub-setup.c: Likewise.
28126 * util/i386/pc/misc.c: Likewise.
28127 * util/powerpc/ieee1275/grub-install.in: Likewise.
28128 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28129 * util/powerpc/ieee1275/misc.c: Likewise.
28130 * video/bitmap.c: Likewise.
28131 * video/video.c: Likewise.
28132 * video/i386/pc/vbe.c: Likewise.
28133 * video/i386/pc/vbeblit.c: Likewise.
28134 * video/i386/pc/vbefill.c: Likewise.
28135 * video/i386/pc/vbeutil.c: Likewise.
28136 * video/readers/tga.c: Likewise.
28137
28138 2007-07-02 Robert Millan <rmh@aybabtu.com>
28139
28140 * conf/i386-efi.rmk: Replace obsolete reference to
28141 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28142 with util/getroot.c.
28143 * conf/powerpc-ieee1275.rmk: Likewise.
28144 * conf/sparc64-ieee1275.rmk: Likewise.
28145
28146 * util/grub-emu.c (main): Fix unchecked pointer handling.
28147
28148 2007-07-02 Robert Millan <rmh@aybabtu.com>
28149
28150 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28151 invocation to fail, in order to support partition-less media.
28152
28153 * util/i386/pc/grub-install.in: Likewise.
28154
28155 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28156 which fs or partmap modules are needed (akin to its sister scripts).
28157
28158 Also use grub-probe to get rid of unportable /proc/mounts check.
28159
28160 Print the same informational message that the other scripts do, before
28161 exiting.
28162
28163 2007-06-23 Robert Millan <rmh@aybabtu.com>
28164
28165 * util/update-grub_lib.in (font_path): New function. Determine whether
28166 a font file can be found and, if so, echo the GRUB path to it.
28167
28168 * util/update-grub.in: Handle multiple terminals depending on user
28169 input, platform availability and font file presence. Propagate
28170 variables of our findings to /etc/grub.d/ children.
28171
28172 * util/grub.d/00_header.in: Handle multiple terminals, based on
28173 environment setup by update-grub.
28174
28175 2007-06-23 Robert Millan <rmh@aybabtu.com>
28176
28177 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
28178
28179 2007-06-21 Robert Millan <rmh@aybabtu.com>
28180
28181 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28182 indicate end of data section in kernel image.
28183 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28184 GRUB_KERNEL_MACHINE_DATA_END.
28185
28186 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28187 space for it.
28188 * kern/i386/efi/startup.S: Likewise.
28189
28190 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28191 during image generation. Implement --prefix option to override this
28192 patch.
28193 * util/i386/efi/grub-mkimage.c: Likewise.
28194
28195 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28196 code to make path relative to its root into a separate function.
28197
28198 * util/i386/pc/grub-install.in: Use newly provided
28199 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28200 pass the result to grub-install --prefix.
28201
28202 2007-06-13 Robert Millan <rmh@aybabtu.com>
28203
28204 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28205 DEFAULT_DEVICE_MAP.
28206 * util/grub-emu.c: Use above definitions from misc.h instead of
28207 defining them.
28208 * util/grub-mkdevicemap.c: Likewise.
28209 * util/i386/pc/grub-setup.c: Likewise.
28210 * util/grub-probe.c: Likewise.
28211 (probe): Abort with grub_util_error() when either
28212 grub_guess_root_device or grub_util_get_grub_dev fails.
28213
28214 2007-06-12 Robert Millan <rmh@aybabtu.com>
28215
28216 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28217 "pager" assignment.
28218 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28219 "pcdata".
28220 * util/grub-probe.c (probe): Likewise for "drive_name".
28221
28222 2007-06-11 Robert Millan <rmh@aybabtu.com>
28223
28224 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28225 not just the cdrom one.
28226
28227 2007-06-11 Robert Millan <rmh@aybabtu.com>
28228
28229 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28230 Add --pkglibdir=DIR option to override pkglibdir.
28231 Mention --image-type=TYPE in help output.
28232 Fix --grub-mkimage (it was a no-op).
28233 Abort gracefully when no parameter is given.
28234
28235 2007-06-11 Robert Millan <rmh@aybabtu.com>
28236
28237 * util/i386/pc/grub-mkrescue.in: New file.
28238 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28239 * Makefile.in: Handle bin_SCRIPTS.
28240
28241 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28242
28243 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28244 list of video modes.
28245
28246 2007-06-06 Robert Millan <rmh@aybabtu.com>
28247
28248 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28249 file doesn't exist, or if it is in a filesystem grub can't read.
28250
28251 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28252 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28253 header comment to fit in 80 columns when the variables are resolved.
28254
28255 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28256 could be identified by update-grub. Remove redundant check for
28257 unifont.pff existence (since convert_system_path_to_grub_path now
28258 handles that).
28259
28260 2007-06-04 Robert Millan <rmh@aybabtu.com>
28261
28262 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28263
28264 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28265
28266 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28267
28268 2007-06-04 Robert Millan <rmh@aybabtu.com>
28269
28270 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28271
28272 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28273 grub_apple_partition_map_fini.
28274
28275 * util/biosdisk.c
28276 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28277 to access >2 TiB disks).
28278
28279 Print disk->total_sectors with %llu instead of %lu, since this
28280 variable is always 64-bit (prevents wrong disk size from being displayed
28281 on either >2 TiB disk or big-endian CPU).
28282
28283 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28284 into a generic case that supports all (sane) partition maps.
28285
28286 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28287 breaks big-endian.
28288
28289 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28290 and grub_apple_partition_map_fini() after that.
28291
28292 2007-06-01 Robert Millan <rmh@aybabtu.com>
28293
28294 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28295
28296 * util/grub.d/00_header.in: Only enable gfxterm when
28297 convert_system_path_to_grub_path() succeeds.
28298
28299 2007-05-20 Robert Millan <rmh@aybabtu.com>
28300
28301 * util/update-grub_lib.in: New file.
28302 * DISTLIST: Add update-grub_lib.in.
28303 * conf/common.rmk: Generate update-grub_lib and install it in
28304 $(lib_DATA).
28305 * Makefile.in: Add install routine for $(lib_DATA).
28306
28307 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28308 function provided by update-grub_lib to support arbitrary paths of
28309 unifont.pff.
28310 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28311 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28312
28313 2007-05-19 Robert Millan <rmh@aybabtu.com>
28314
28315 * commands/i386/cpuid.c: New module.
28316 * DISTLIST: Add it.
28317 * conf/i386-efi.rmk: Enable cpuid.mod.
28318 * conf/i386-pc.rmk: Likewise.
28319
28320 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28321
28322 * kern/disk.c (grub_disk_read): Check return value of
28323 grub_realloc().
28324
28325 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28326
28327 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28328 arrays.
28329 * disk/raid.c (grub_raid_open): Likewise.
28330
28331 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28332
28333 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28334 stack instead of on the heap.
28335
28336 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28337 before doing a read on it.
28338
28339 * configure.ac: Only use -fno-stack-protector for the target
28340 environment.
28341
28342 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28343
28344 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28345 __attribute_ ((unused)) to mode_type argument.
28346
28347 * util/getroot.c (grub_guess_root_device): Fix #endif.
28348
28349 * kern/misc.c (memcmp): Fix prototype.
28350
28351 * include/grub/partition.h [GRUB_UTIL]
28352 (grub_gpt_partition_map_init): Add prototype.
28353 (grub_gpt_partition_map_fini): Likewise.
28354
28355 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28356 at the right place.
28357
28358 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28359 (grub_fat_read_data): Likewise.
28360 (grub_fat_find_dir): Likewise.
28361
28362 * font/manager.c (find_glyph): Make table a const.
28363 (grub_font_get_glyph): Remove bitmap from if statement.
28364
28365 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28366
28367 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28368 code, first search for device in /dev/mapper, then in /dev.
28369 (grub_util_get_grub_dev): New function.
28370 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28371 prototype.
28372 * util/grub-probe.c (probe): Remove check for RAID, call
28373 grub_util_get_grub_dev() instead of
28374 grub_util_biosdisk_get_grub_dev().
28375 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28376 grub_util_biosdisk_get_grub_dev().
28377 * util/i386/pc/grub-setup.c (main): Likewise.
28378
28379 2007-05-16 Robert Millan <rmh@aybabtu.com>
28380
28381 * DISTLIST: Update for the latest changes.
28382 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28383 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28384 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28385 grub/util/biosdisk.h.
28386 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28387 grub/util/biosdisk.h.
28388
28389 2007-05-16 Robert Millan <rmh@aybabtu.com>
28390
28391 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28392
28393 2007-05-16 Robert Millan <rmh@aybabtu.com>
28394
28395 * util/i386/efi/grub-install.in: New.
28396 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28397 newly added grub-install.
28398 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28399 include.
28400 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28401 grub/util/biosdisk.h.
28402 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28403 grub/util/biosdisk.h.
28404
28405 2007-05-16 Robert Millan <rmh@aybabtu.com>
28406
28407 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28408 * include/grub/util/biosdisk.h: ... here.
28409 * util/i386/pc/biosdisk.c: Moved to ...
28410 * util/biosdisk.c: ... here.
28411 * util/i386/pc/getroot.c: Moved to ...
28412 * util/getroot.c: ... here.
28413 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28414 * util/grub-mkdevicemap.c: ... here.
28415 * util/i386/pc/grub-probe.c: Moved to ...
28416 * util/grub-probe.c: ... here.
28417
28418 2007-05-15 Robert Millan <rmh@aybabtu.com>
28419
28420 * util/update-grub.in: Remove duplicated line in grub.cfg header
28421 message.
28422
28423 2007-05-13 Robert Millan <rmh@aybabtu.com>
28424
28425 * util/update-grub.in: Fix a few assumptions about the devices holding
28426 /, /boot and /boot/grub being the same.
28427 * util/grub.d/00_header.in: Likewise.
28428 * util/grub.d/10_hurd.in: Likewise.
28429 * util/grub.d/10_linux.in: Likewise.
28430
28431 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28432 patterns. Use that to define the `.old' suffix as older than `'.
28433
28434 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28435
28436 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28437 the grub.cfg header message.
28438
28439 2007-05-11 Robert Millan <rmh@aybabtu.com>
28440
28441 * util/update-grub.in: Create device.map if it doesn't already exist,
28442 before attempting to run grub-probe.
28443 Check for grub-probe and grub-mkdevicemap with the same code
28444 grub-install is using.
28445 Remove test mode.
28446
28447 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28448
28449 * Makefile.in: Add the datarootdir autoconf variable.
28450
28451 2007-05-09 Robert Millan <rmh@aybabtu.com>
28452
28453 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28454 fail gracefully if dev->disk->partition == NULL.
28455
28456 2007-05-07 Robert Millan <rmh@aybabtu.com>
28457
28458 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28459 determine partition map module.
28460 * util/i386/pc/grub-install.in: Use this feature to decide which
28461 partition module to load, instead of hardcoding pc and gpt.
28462
28463 2007-05-07 Robert Millan <rmh@aybabtu.com>
28464
28465 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28466 source directory differs from build directory.
28467
28468 2007-05-05 Robert Millan <rmh@aybabtu.com>
28469
28470 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28471 initialisation.
28472
28473 2007-05-05 Robert Millan <rmh@aybabtu.com>
28474
28475 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28476
28477 2007-05-05 Robert Millan <rmh@aybabtu.com>
28478
28479 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28480 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28481
28482 2007-05-05 Robert Millan <rmh@aybabtu.com>
28483
28484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28485 (grub_probe_SOURCES): Likewise.
28486 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28487 GPT and initialize dos_part and bsd_part accordingly.
28488 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28489 install_bsd_part.
28490 (main): Activate gpt module for use during partition identification,
28491 and deactivate it afterwards.
28492 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28493 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28494 partition identification, and deactivate it afterwards.
28495
28496 2007-05-05 Robert Millan <rmh@aybabtu.com>
28497
28498 * term/i386/pc/console.c (grub_console_fini): Call
28499 grub_term_set_current() before grub_term_unregister().
28500
28501 2007-05-04 Robert Millan <rmh@aybabtu.com>
28502
28503 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28504 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28505 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28506 and update-grub_DATA.
28507 * conf/common.rmk: Build and install update-grub components.
28508 * conf/common.mk: Regenerate.
28509 * util/update-grub.in: New. Core of update-grub.
28510 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28511 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28512 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28513 * util/grub.d/README: New. Document grub.d directory layout.
28514
28515 2007-05-01 Robert Millan <rmh@aybabtu.com>
28516
28517 * util/grub-emu.c: Move initialization functions
28518 grub_util_biosdisk_init() and grub_init_all() before
28519 grub_util_biosdisk_get_grub_dev(), which relies on them.
28520
28521 2007-04-19 Robert Millan <rmh@aybabtu.com>
28522
28523 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28524 it is used later.
28525
28526 2007-04-18 Jerone Young <jerone@gmail.com>
28527
28528 * kernel/elf.c: Add missing parenthesis for conditional statement
28529 stanza.
28530
28531 2007-04-10 Jerone Young <jerone@gmail.com>
28532
28533 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28534 continue on and look for device node with real device name.
28535
28536 2007-04-10 Jerone Young <jerone@gmail.com>
28537
28538 * configure.ac: Add argument for autoconf to use transformation
28539 ability.
28540 * Makefile.in: Add autoconf package transformation code.
28541 * util/i386/pc/grub-install.in: Likewise.
28542 * util/powerpc/ieee1275/grub-install.in: Likewise.
28543
28544 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28545
28546 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28547 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28548 (EXT2_REVISION): Likewise.
28549 (EXT2_INODE_SIZE): Likewise.
28550 (struct grub_ext2_block_group): Added a missing member
28551 "used_dirs".
28552 (grub_ext2_read_inode): Divide by the inode size in a superblock
28553 instead of 128 to obtain INODES_PER_BLOCK.
28554 Use the macro EXT2_INODE_SIZE instead of directly using
28555 SBLOCK->INODE_SIZE.
28556
28557 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28558
28559 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28560 superblock instead of the structure size to compute an
28561 offset. This fixes the problem that GRUB could not read a
28562 filesystem when inode size is different from 128-byte.
28563
28564 2007-03-05 Marco Gerards <marco@gnu.org>
28565
28566 * normal/main.c (read_config_file): When "menu" is not set, create
28567 an initial context.
28568
28569 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28570
28571 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28572 (HEAP_LIMIT): New macro.
28573 (grub_claim_heap): Claim memory up to `heaplimit'.
28574
28575 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28576
28577 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28578 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28579 (_start): Likewise.
28580 (grub_arch_modules_addr): Return address after `_end'.
28581 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28582 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28583 (add_segments): Calculate `_end' from phdr size and location.
28584 (ALIGN_UP): Moved to ...
28585 * include/grub/misc.h: here.
28586 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28587 New macro.
28588 (GRUB_IEEE1275_MODULE_BASE): Removed.
28589
28590 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28591
28592 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28593 loop boundary.
28594
28595 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28596
28597 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28598 All users updated.
28599 (grub_elf64_load_hook_t): Likewise.
28600 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28601 debug output.
28602
28603 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28604
28605 * kern/mm.c: Update copyright.
28606 (grub_mm_debug): Correct syntax error.
28607 (grub_mm_dump_free): New function.
28608 (grub_debug_free): Call `grub_free'.
28609 * include/grub/mm.h: Update copyright.
28610 (grub_mm_dump_free): Add declaration.
28611
28612 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28613
28614 * include/grub/ieee1275/ieee1275.h: Update copyright.
28615 * kern/powerpc/ieee1275/init.c: Likewise.
28616 * kern/powerpc/ieee1275/openfw.c: Likewise.
28617
28618 * loader/powerpc/ieee1275/linux.c: Likewise.
28619 * include/grub/elfload.h: Likewise.
28620 * kern/elf.c: Likewise.
28621 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28622 callers.
28623 (grub_elf64_load): Likewise.
28624 (grub_elf32_load_segment): Move to a nested function.
28625 (grub_elf64_load_segment): Likewise.
28626
28627 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28628
28629 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28630 prototype.
28631 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28632 (grub_heap_len): Likewise.
28633 (HEAP_SIZE): New macro.
28634 (grub_claim_heap): New function.
28635 (grub_machine_init): Don't claim heap directly. Call
28636 `grub_claim_heap'.
28637 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28638 (grub_available_iterate): New function.
28639
28640 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28641
28642 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28643 * configure.ac: Use it for testing the HOST and TARGET compilers.
28644
28645 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28646
28647 * Makefile.in (enable_grub_emu): New variable.
28648 * configure.ac (--enable-grub-emu): New option.
28649 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28650 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28651 * conf/i386-pc.rmk: Likewise.
28652 * conf/powerpc-ieee1275.rmk: Likewise.
28653 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28654
28655 2006-12-12 Marco Gerards <marco@gnu.org>
28656
28657 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28658
28659 * kern/env.c (grub_env_unset): Don't free the member `value' when
28660 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28661 pointer.
28662
28663 * normal/main.c (current_menu): Removed.
28664 (free_menu): Unset the `menu' environment variable.
28665 (grub_normal_menu_addentry): Make use of the environment variable
28666 `menu', instead of using the global `current_menu'. Allocate
28667 memory for the sourcecode of this entry.
28668 (read_config_file): New argument `nested', changed all callers.
28669 Only in the case of a new context, initialize a new menu. Set the
28670 `menu' environment variable.
28671 (grub_normal_execute): Don't set and unset the environment
28672 variable `menu' here anymore. Only free the menu when leaving the
28673 context.
28674
28675 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28676 leak.
28677
28678 2006-12-11 Marco Gerards <marco@gnu.org>
28679
28680 * normal/menu_entry.c (run): Fix off by one bug so the last line
28681 is executed. Move the loader check to outside the loop.
28682
28683 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28684
28685 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28686
28687 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28688
28689 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28690 the number of sectors. Reported by Andrey Shuvikov
28691 <mr_hyro@yahoo.com>.
28692
28693 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28694
28695 * kern/disk.c (grub_disk_read): When there is a read error, always
28696 try to read only the necessary data.
28697
28698 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28699 disk/raid.c.
28700 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28701 prototype.
28702 [GRUB_UTIL] (grub_raid_fini): Likewise.
28703 [GRUB_UTIL] (grub_lvm_init): Likewise.
28704 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28705 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28706 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28707 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28708 and grub_raid_fini().
28709
28710 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28711
28712 * include/grub/types.h (__unused): Rename to UNUSED.
28713 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28714 (grub_elf64_size): Likewise.
28715
28716 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28717
28718 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28719 grub_error_push and grub_error_pop in the error-handling path.
28720 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28721 length.
28722
28723 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28724
28725 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28728 (kernel_elf_SOURCES): Likewise.
28729 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28730 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28731 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28732 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28733 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28734 (elf_mod_SOURCES): New variable.
28735 (elf_mod_CFLAGS): Likewise.
28736 (elf_mod_LDFLAGS): Likewise.
28737 * include/grub/types.h (__unused): New macro.
28738 * include/grub/elfload.h: New file.
28739 * kern/elf.c: Likewise.
28740 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28741 (ELF32_LOADMASK): New macro.
28742 (ELF64_LOADMASK): Likewise.
28743 (vmlinux): Removed.
28744 (grub_linux_load32): New function.
28745 (grub_linux_load64): Likewise.
28746 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28747 Use grub_elf_t instead of grub_file_t.
28748
28749 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28750
28751 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28752 `catch_result' to struct set_color_args.
28753
28754 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28755
28756 * normal/menu.c: Include grub/script.h.
28757 * normal/menu_entry.c: Likewise.
28758 * include/grub/normal.h: Do not include grub/script.h.
28759
28760 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28761
28762 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28763
28764 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28765
28766 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28767 disk.
28768 (grub_disk_close): Print debug messages when closing a disk.
28769 (grub_disk_read): Print debug messages when disk read fails.
28770 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28771 filesystem type.
28772 * kern/partition.c: Include misc.h.
28773 (grub_partition_iterate): Print debug messages when detecting
28774 partition type.
28775
28776 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28777
28778 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28779 is negative.
28780 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28781
28782 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28783
28784 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28785 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28786
28787 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28788
28789 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28790 instead of sizeof(lv). Patch by Michael Guntsche.
28791
28792 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28793
28794 * disk/lvm.c: Rename VGS to VG_LIST.
28795 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28796 (grub_lvm_open): Likewise.
28797 Thanks to Michael Guntsche for finding this bug.
28798
28799 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28800
28801 * configure.ac (AC_INIT): Bumped to 1.95.
28802
28803 2006-10-14 Robert Millan <rmh@aybabtu.com>
28804
28805 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28806 with "/dev/.static/dev/md".
28807
28808 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28809
28810 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28811 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28812 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28813 DRIVE_NAME are always freed.
28814
28815 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28816 DOS_PART, as a DOS partition is counted from one instead of zero
28817 now. Reported by Robert Millan.
28818
28819 2006-10-14 Robert Millan <rmh@aybabtu.com>
28820
28821 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28822 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28823 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28824 string returned by grub_guess_root_device.
28825 * util/i386/pc/grub-setup.c: Likewise.
28826 * util/i386/pc/grub-probefs.c: Likewise.
28827
28828 * util/i386/pc/grub-probefs.c: Rename to ...
28829 * util/i386/pc/grub-probe.c: ... this.
28830 * DISTLIST: Remove grub-probefs, add grub-probe.
28831 * conf/i386-efi.rmk: Likewise.
28832 * conf/i386-pc.rmk: Likewise.
28833 * util/i386/pc/grub-install.in: Likewise.
28834
28835 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28836 choose which information we want to print.
28837
28838 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28839
28840 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28841 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28842 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28843 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28844 video/readers/tga.c and video/i386/pc/vbeutil.c.
28845
28846 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28847
28848 Added support for RAID and LVM.
28849
28850 * disk/lvm.c: New file.
28851 * disk/raid.c: Likewise.
28852 * include/grub/lvm.h: Likewise.
28853 * include/grub/raid.h: Likewise.
28854 * include/grub/util/lvm.h: Likewise.
28855 * include/grub/util/raid.h: Likewise.
28856 * util/lvm.c: Likewise.
28857 * util/raid.c: Likewise.
28858
28859 * include/grub/disk.h (grub_disk_dev_id): Add
28860 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28861 (grub_disk_get_size): New prototype.
28862 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28863 returns a partition.
28864 (grub_disk_get_size): New function.
28865
28866 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28867 verbatim if grub_install_dos_part is -2.
28868
28869 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28870 and LVM devices.
28871
28872 * util/i386/pc/grub-setup.c (setup): New argument
28873 MUST_EMBED. Force embedding of GRUB when the argument is
28874 true. Close FILE before returning.
28875 (main): Add support for RAID and LVM.
28876
28877 * conf/common.rmk: Add RAID and LVM modules.
28878 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28879 util/lvm.c.
28880 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28881
28882 * kern/misc.c (grub_strstr): New function.
28883 * include/grub/misc.h (grub_strstr): New prototype.
28884
28885 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28886
28887 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28888
28889 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28890
28891 * kern/misc.c (grub_strtoull): Guess the base only if not
28892 specified.
28893
28894 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28895
28896 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28897 PowerMac support.
28898
28899 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28900
28901 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28902
28903 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28904 Remove `flags' argument. All callers changed.
28905 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28906 (IEEE1275_IHANDLE_INVALID): New variable.
28907 (IEEE1275_CELL_INVALID): New variable.
28908 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28909 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28910 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28911 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28912 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28913 codes from Open Firmware. All callers updated.
28914 (grub_ieee1275_next_property): Directly return Open Firmware return
28915 code.
28916 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28917 Standardize error checking from `grub_ieee1275_get_property'.
28918 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28919 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28920
28921 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28922
28923 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28924 `instance_to_package_args' to `instance_to_path_args'.
28925
28926 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28927 `grub_ieee1275_chosen'.
28928
28929 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28930 `grub_ieee1275_interpret'.
28931
28932 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28933
28934 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28935
28936 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28937
28938 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28939 (__cmpdi): Likewise.
28940
28941 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28942 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28943 `grub_ssize_t'.
28944
28945 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28946
28947 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28948 to type `grub_ssize_t'.
28949 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28950
28951 2006-09-22 Marco Gerards <marco@gnu.org>
28952
28953 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28954 newlines.
28955
28956 2006-09-22 Marco Gerards <marco@gnu.org>
28957
28958 * commands/echo.c: New file.
28959
28960 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28961
28962 * conf/common.rmk (echo_mod_SOURCES): New variable.
28963 (echo_mod_CFLAGS): Likewise.
28964 (echo_mod_LDFLAGS): Likewise.
28965
28966 2006-09-22 Marco Gerards <marco@gnu.org>
28967
28968 * normal/main.c (get_line): Malloc memory instead of using
28969 preallocated memory. Removed the arguments `cmdline' and
28970 `max_len'. Updated all callers.
28971
28972 2006-09-22 Marco Gerards <marco@gnu.org>
28973
28974 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28975 (normal_mod_DEPENDENCIES): Likewise.
28976
28977 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28978 (normal_mod_DEPENDENCIES): Likewise.
28979
28980 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28981
28982 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28983
28984 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28985 programs.
28986 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28987 (normal_mod_DEPENDENCIES): Likewise.
28988 * conf/i386-pc.mk: Regenerate.
28989 * conf/i386-efi.mk: Likewise
28990 * conf/common.mk: Likewise.
28991 * conf/powerpc-ieee1275.mk: Likewise.
28992 * conf/sparc64-ieee1275.mk: Likewise.
28993
28994 2006-09-22 Robert Millan <rmh@aybabtu.com>
28995
28996 Sync with i386 version.
28997 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28998 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28999
29000 2006-09-21 Robert Millan <rmh@aybabtu.com>
29001
29002 Import from GRUB Legacy (lib/device.c):
29003 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
29004 (init_device_map) [__linux__]: Add support for I2O devices.
29005
29006 2006-09-14 Marco Gerards <marco@gnu.org>
29007
29008 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
29009 `-melf_i386'.
29010
29011 2006-09-14 Robert Millan <rmh@aybabtu.com>
29012
29013 * util/i386/pc/grub-install.in: Skip menu.lst when removing
29014 /boot/grub/*.lst.
29015
29016 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
29017
29018 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
29019 before adding it to device.map.
29020
29021 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
29022
29023 * genmk.rb: Let GCC generate dependencies the first time it
29024 compiles a file; using the -MD option.
29025 * conf/common.mk: Regenerate.
29026 * conf/i386-pc.mk: Likewise.
29027 * conf/i386-efi.mk: Likewise.
29028 * conf/powerpc-ieee1275.mk: Likewise.
29029 * conf/sparc64-ieee1275.mk: Likewise.
29030
29031 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
29032
29033 Move the prototypes of grub_setjmp and grub_longjmp to
29034 cpu/setjmp.h, so that each architecture may specify different
29035 attributes.
29036
29037 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
29038 (grub_longjmp): Likewise.
29039 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
29040 (grub_longjmp): Likewise.
29041 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
29042 (grub_longjmp): Likewise.
29043
29044 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
29045 [!GRUB_UTIL] (grub_longjmp): Removed.
29046
29047 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
29048
29049 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
29050 "color!" method does not return any value.
29051
29052 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29053
29054 * include/grub/bitmap.h: New file.
29055
29056 * include/grub/i386/pc/vbeutil.h: Likewise.
29057
29058 * video/bitmap.c: Likewise.
29059
29060 * video/readers/tga.c: Likewise.
29061
29062 * video/i386/pc/vbeutil.c: Likewise.
29063
29064 * commands/videotest.c: Code cleanup and updated to reflect to new
29065 video API.
29066
29067 * term/gfxterm.c: Likewise.
29068
29069 * video/video.c: Likewise.
29070
29071 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
29072 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
29073 (bitmap_mod_SOURCES): New entry.
29074 (bitmap_mod_CFLAGS): Likewise.
29075 (bitmap_mod_LDFLAGS): Likewise.
29076 (tga_mod_SOURCES): Likewise.
29077 (tga_mod_CFLAGS): Likewise.
29078 (tga_mod_LDFLAGS): Likewise.
29079
29080 * include/grub/video.h (grub_video_blit_operators): New enum type.
29081 (grub_video_render_target): Changed as forward declaration and moved
29082 actual definition to be video driver specific.
29083 (grub_video_adapter.blit_bitmap): Added blitting operator.
29084 (grub_video_adapter.blit_render_target): Likewise.
29085 (grub_video_blit_bitmap): Likewise.
29086 (grub_video_blit_render_target): Likewise.
29087
29088 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
29089 driver specific render target definition.
29090 (grub_video_vbe_map_rgba): Added driver internal helper.
29091 (grub_video_vbe_unmap_color): Updated to use
29092 grub_video_i386_vbeblit_info.
29093 (grub_video_vbe_get_video_ptr): Likewise.
29094
29095 * include/grub/i386/pc/vbeblit.h
29096 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
29097 grub_video_i386_vbeblit_info.
29098 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29099 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29100 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29101 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29102 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29103 (grub_video_i386_vbeblit_index_index): Likewise.
29104 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29105 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29106 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29107 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29108 operator.
29109 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29110 operator.
29111
29112 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29113 include/grub/i386/pc/vbeblit.h.
29114
29115 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29116 Updated to use grub_video_i386_vbeblit_info.
29117 (grub_video_i386_vbefill_R8G8B8): Likewise.
29118 (grub_video_i386_vbefill_index): Likewise.
29119 (grub_video_i386_vbefill): Added generic filler.
29120
29121 * video/i386/pc/vbefill.c: Updated to reflect changes on
29122 include/grub/i386/pc/vbefill.h.
29123
29124 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29125 grub_video_i386_vbeblit_info.
29126 (grub_video_vbe_unmap_color): Likewise.
29127 (grub_video_vbe_blit_glyph): Likewise.
29128 (grub_video_vbe_scroll): Likewise.
29129 (grub_video_vbe_draw_pixel): Removed function.
29130 (grub_video_vbe_get_pixel): Likewise.
29131 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29132 updated code to use it.
29133 (common_blitter): Added common blitter for render target and bitmap.
29134 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29135 (grub_video_vbe_blit_render_target): Likewise.
29136
29137 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
29138
29139 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29140 is in text mode if there is no console control protocol instance
29141 available.
29142
29143 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29144
29145 * include/grub/video.h: Code cleanup.
29146
29147 * include/grub/i386/pc/vbe.h: Likewise.
29148
29149 * video/i386/pc/vbe.c: Likewise.
29150
29151 * video/i386/pc/vbeblit.c: Likewise.
29152
29153 * video/i386/pc/vbefill.c: Likewise.
29154
29155 * video/video.c: Likewise. Also added more comments.
29156
29157 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29158
29159 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29160 (struct grub_biosdisk_dap): Likewise.
29161
29162 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29163 linkage settings for all functions.
29164
29165 2006-07-12 Marco Gerards <marco@gnu.org>
29166
29167 * configure.ac (--enable-mm-debug): Fix typo.
29168
29169 * genkernsyms.sh.in: Use proper quoting for `CC'.
29170
29171 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29172
29173 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29174 (normal_mod_ASFLAGS): Remove "-m32".
29175
29176 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29177
29178 * util/misc.c: Include config.h.
29179 [!HAVE_MEMALIGN]: Do not include malloc.h.
29180 (grub_memalign): Use posix_memalign, if present. Then, use
29181 memalign, if present. Otherwise, emit an error.
29182
29183 * util/grub-emu.c: Do not include malloc.h.
29184
29185 * include/grub/util/misc.h: Include unistd.h. This is required for
29186 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29187 D. Eades III <hde@foobar-qux.org>.
29188
29189 * configure.ac (AC_GNU_SOURCE): Added.
29190 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29191 type.
29192
29193 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29194
29195 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29196 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29197
29198 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29199
29200 * include/grub/types.h (grub_host_addr_t): Rename to
29201 grub_target_addr_t.
29202 (grub_host_off_t): Rename to grub_target_off_t.
29203 (grub_host_size_t): Rename to grub_target_size_t.
29204 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29205 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29206
29207 * include/grub/kernel.h (struct grub_module_header): Change type
29208 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29209 (grub_module_info): Likewise.
29210
29211 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29212
29213 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29214 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29215 Velazquez <jesus.velazquez@gmail.com>.
29216
29217 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29218
29219 Count partitions from 1 instead of 0 in the string representation
29220 of partitions. Still use 0-based internally.
29221
29222 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29223 (sun_partition_map_iterate): Use grub_partition_t instead of
29224 struct grub_partition *. Cast DESC->START_CYLINDER to
29225 grub_uint64_t after converting the endian.
29226 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29227 (sun_partition_map_get_name): Add 1 to P->INDEX.
29228
29229 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29230 PCDATA->DOS_PART.
29231 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29232
29233 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29234 zero instead of one.
29235 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29236 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29237
29238 * partmap/apple.c (apple_partition_map_iterate): Change the type
29239 of POS to unsigned.
29240 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29241 (apple_partition_map_get_name): Add 1 into P->INDEX.
29242
29243 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29244 of POS to unsigned.
29245 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29246 calculate the offset of a partition.
29247 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29248 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29249
29250 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29251 SECTOR to grub_disk_addr_t.
29252 (acorn_partition_map_iterate): Likewise.
29253 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29254 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29255 top.
29256 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29257
29258 * kern/i386/pc/init.c (make_install_device): Add 1 into
29259 GRUB_INSTALL_DOS_PART.
29260
29261 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29262 conditional.
29263
29264 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29265
29266 Clean up the code to support 64-bit addressing in disks and
29267 files. This change is not enough for filesystems yet.
29268
29269 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29270 type of "start" to grub_uint64_t.
29271 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29272 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29273 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29274 convert addresses.
29275
29276 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29277 to grub_disk_addr_t.
29278
29279 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29280 string.
29281
29282 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29283
29284 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29285 to char *.
29286
29287 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29288
29289 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29290
29291 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29292
29293 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29294 to grub_off_t, to detect an error from grub_file_seek.
29295 (grub_multiboot_load_elf32): Likewise.
29296
29297 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29298 maximum unsigned long value when an overflow is detected.
29299 (grub_strtoull): New function.
29300 (grub_divmod64): Likewise.
29301 (grub_lltoa): use grub_divmod64.
29302
29303 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29304 grub_disk_addr_t.
29305 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29306 the pointer to next character. Use grub_strtoull instead of
29307 grub_strtoul.
29308 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29309 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29310 respectively.
29311
29312 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29313 return value is signed.
29314 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29315 test if OFFSET is less than zero, as OFFSET is unsigned now.
29316
29317 * kern/disk.c (struct grub_disk_cache): Change the type of
29318 "sector" to grub_disk_addr_t.
29319 (grub_disk_cache_get_index): Change the type of SECTOR to
29320 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29321 unsigned after shifting.
29322 (grub_disk_cache_invalidate): Change the type of SECTOR to
29323 grub_disk_addr_t.
29324 (grub_disk_cache_unlock): Likewise.
29325 (grub_disk_cache_store): Likewise.
29326 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29327 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29328 grub_disk_addr_t and grub_uint64_t, respectively.
29329 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29330 body, as the value of OFFSET is tweaked by
29331 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29332 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29333 respectively.
29334 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29335 body, as the value of OFFSET is tweaked by
29336 grub_disk_check_range. Change the types of LEN and N to
29337 grub_size_t.
29338
29339 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29340 and "saved_offset" to grub_off_t.
29341 (test_header): Cast BUF to char *.
29342 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29343 to char *.
29344 (grub_gzio_read): Change the types of OFFSET and SIZE to
29345 grub_off_t and grub_size_t, respectively.
29346
29347 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29348 Removed.
29349 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29350 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29351 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29352 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29353 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29354
29355 * include/grub/types.h (grub_off_t): Unconditionally set to
29356 grub_uint64_t.
29357 (grub_disk_addr_t): Changed to grub_uint64_t.
29358
29359 * include/grub/partition.h (struct grub_partition): Change the
29360 types of "start", "len" and "offset" to grub_disk_addr_t,
29361 grub_uint64_t and grub_disk_addr_t, respectively.
29362 (grub_partition_get_start): Return grub_disk_addr_t.
29363 (grub_partition_get_len): Return grub_uint64_t.
29364
29365 * include/grub/misc.h (grub_strtoull): New prototype.
29366 (grub_divmod64): Likewise.
29367
29368 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29369 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29370 grub_off_t, respectively.
29371 All callers and references changed.
29372
29373 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29374 grub_size_t in "read".
29375 All callers and references changed.
29376
29377 * include/grub/file.h (struct grub_file): Change the types of
29378 "offset" and "size" to grub_off_t and grub_off_t,
29379 respectively. Change the type of SECTOR to grub_disk_addr_t in
29380 "read_hook".
29381 (grub_file_read): Change the type of LEN to grub_size_t.
29382 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29383 grub_off_t.
29384 (grub_file_size): Return grub_off_t.
29385 (grub_file_tell): Likewise.
29386 All callers and references changed.
29387
29388 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29389 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29390 "write".
29391 (struct grub_disk): Change the type of "total_sectors" to
29392 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29393 "read_hook".
29394 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29395 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29396 (grub_disk_write): Likewise.
29397 All callers and references changed.
29398
29399 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29400 char * for grub_strncmp to silence gcc.
29401 (grub_iso9660_mount): Likewise.
29402 (grub_iso9660_mount): Likewise.
29403 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29404 return statement.
29405 (grub_iso9660_iterate_dir): Likewise.
29406 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29407
29408 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29409 LEN to grub_disk_addr_t and grub_size_t, respectively.
29410
29411 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29412
29413 * fs/jfs.c (grub_jfs_read_file): Likewise.
29414
29415 * fs/minix.c (grub_jfs_read_file): Likewise.
29416
29417 * fs/sfs.c (grub_jfs_read_file): Likewise.
29418
29419 * fs/ufs.c (grub_jfs_read_file): Likewise.
29420
29421 * fs/xfs.c (grub_jfs_read_file): Likewise.
29422
29423 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29424 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29425 respectively.
29426
29427 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29428 BLKNR to -1 instead of returning GRUB_ERRNO.
29429 (grub_ext2_read_file): Change the types of SECTOR and
29430 LEN to grub_disk_addr_t and grub_size_t, respectively.
29431
29432 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29433 LEN to grub_disk_addr_t and grub_size_t, respectively.
29434
29435 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29436 grub_file_read.
29437
29438 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29439 string. Do not cast SECTOR explicitly.
29440
29441 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29442 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29443 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29444 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29445 over 2TB and LBA mode is not supported, raise an error.
29446 (get_safe_sectors): New function.
29447 (grub_biosdisk_read): Use get_safe_sectors.
29448 (grub_biosdisk_write): Likewise.
29449
29450 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29451 (grub_efidisk_write): Likewise.
29452
29453 * disk/loopback.c (delete_loopback): Cosmetic changes.
29454 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29455 correctly.
29456 (grub_loopback_open): Likewise.
29457 (grub_loopback_read): Likewise. Also, change the type of POS to
29458 grub_off_t, and fix the usage of grub_memset.
29459
29460 * commands/i386/pc/play.c: Include grub/machine/time.h.
29461
29462 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29463 print FILE->SIZE.
29464
29465 * commands/configfile.c: Include grub/env.h.
29466
29467 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29468 GRUB_ERRNO directly instead. Change the type of POS to
29469 grub_off_t. Follow the coding standard.
29470
29471 * commands/blocklist.c: Include grub/partition.h.
29472 (grub_cmd_blocklist): Return an error if the underlying device is
29473 not a disk. Take the starting sector of a partition into account,
29474 if a partition is used.
29475
29476 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29477 a length field.
29478 (lba_mode): Support 64-bit addresses.
29479 (chs_mode): Likewise.
29480 (copy_buffer): Adapted to the new offsets of a length field and a
29481 segment field.
29482 (blocklist_default_start): Allocate 64-bit space.
29483
29484 * boot/i386/pc/boot.S (force_lba): Removed.
29485 (boot_drive): Moved to under KERNEL_SECTOR.
29486 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29487 space.
29488 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29489 is useless.
29490 (lba_mode): Refactored to support a 64-bit address. More size
29491 optimization.
29492 (setup_sectors): Likewise.
29493
29494 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29495
29496 * DISTLIST: Added include/grub/i386/linux.h. Removed
29497 include/grub/i386/pc/linux.h
29498
29499 * configure.ac (AC_INIT): Bumped to 1.94.
29500
29501 * config.guess: Updated from gnulib.
29502 * config.sub: Likewise.
29503 * install-sh: Likewise.
29504 * mkinstalldirs: Likewise.
29505
29506 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29507
29508 * conf/common.rmk (grub_modules_init.lst): Depended on
29509 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29510 MODSRCFILES.
29511
29512 * genmk.rb (PModule::rule): Reverted the previous change.
29513
29514 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29515
29516 * conf/common.rmk (grub_modules_init.lst): Depends on
29517 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29518 that the target does not exist before producing.
29519 (grub_modules_init.h): Remove the target before generating.
29520 (grub_emu_init.c): Likewise.
29521
29522 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29523
29524 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29525
29526 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29527 for the target-specific tests. Make sure that we also have the
29528 up-to-date target variables for those tests.
29529
29530 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29531
29532 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29533 (PModule::rule): Likewise.
29534
29535 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29536
29537 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29538 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29539 target-specific flags should be prefixed.
29540 (PModule::rule): Likewise.
29541
29542 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29543
29544 * configure.ac (CMP): Check if cmp is available explicitly.
29545
29546 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29547
29548 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29549 (target_cpu): New variable.
29550 (pkglibdir): Use target_cpu instead of host_cpu.
29551
29552 * util/i386/pc/grub-install.in (host_cpu): Removed.
29553 (target_cpu): New variable.
29554 (pkglibdir): Use target_cpu instead of host_cpu.
29555
29556 * util/genmoddep.c: Removed.
29557
29558 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29559 instead of GRUB_HOST_SIZEOF_VOID_P.
29560 * kern/dl.c: Likewise.
29561
29562 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29563 ...
29564 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29565 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29566 (GRUB_TARGET_SIZEOF_LONG): ... this.
29567 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29568 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29569 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29570 to ...
29571 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29572 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29573 (GRUB_TARGET_SIZEOF_LONG): ... this.
29574 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29575 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29576 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29577 to ...
29578 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29579 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29580 (GRUB_TARGET_SIZEOF_LONG): ... this.
29581 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29582 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29583
29584 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29585 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29586 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29587 instead of GRUB_HOST_SIZEOF_LONG.
29588 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29589 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29590 GRUB_CPU_WORDS_BIGENDIAN.
29591 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29592 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29593 grub_host_ssize_t.
29594
29595 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29596 (genmoddep_SOURCES): Likewise.
29597 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29598 (genmoddep_SOURCES): Likewise.
29599 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29600 (genmoddep_SOURCES): Likewise.
29601 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29602 Likewise.
29603 (genmoddep_SOURCES): Likewise.
29604
29605 * genmoddep.awk: New file.
29606
29607 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29608 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29609 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29610 (PModule::rule): Likewise.
29611 (Program::rule): Likewise.
29612 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29613 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29614 respectively.
29615
29616 * configure.ac: Rewritten intensively to use host and target
29617 instead of build and host, respectively.
29618
29619 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29620 (host_cpu): Removed.
29621 (target_cpu): New variable.
29622 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29623 (BUILD_CC): Removed.
29624 (BUILD_CFLAGS): Likewise.
29625 (BUILD_CPPFLAGS): Likewise.
29626 (TARGET_CC): New variable.
29627 (TARGET_CFLAGS): Likewise.
29628 (TARGET_CPPFLAGS): Likewise.
29629 (TARGET_LDFLAGS): Likewise.
29630 (AWK): Likewise.
29631 (include): Use target_cpu instead of host_cpu.
29632 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29633
29634 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29635
29636 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29637
29638 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29639 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29640 field 'false' to 'exec_on_false'.
29641 (grub_script_create_cmdif): Renamed argument names to reflect above
29642 changes.
29643
29644 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29645
29646 * normal/script.c (grub_script_create_cmdif): Likewise.
29647
29648 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29649
29650 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29651 top.
29652 (grub_hfsplus_btree_recptr): Likewise.
29653 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29654 FILEBLOCK both to pass a block number and store next block
29655 number.
29656 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29657 overflow file correctly. Specify errors appropriately, because
29658 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29659 grub_hfsplus_btree_recptr to get the pointer to a found key.
29660 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29661 is found.
29662
29663 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29664 linux.mod.
29665 (_linux_mod_SOURCES): New variable.
29666 (_linux_mod_CFLAGS): Likewise.
29667 (_linux_mod_LDFLAGS): Likewise.
29668 (linux_mod_SOURCES): Likewise.
29669 (linux_mod_CFLAGS): Likewise.
29670 (linux_mod_LDFLAGS): Likewise.
29671
29672 * DISTLIST: Added loader/i386/efi/linux.c,
29673 loader/i386/efi/linux_normal.c and
29674 include/grub/i386/efi/loader.h.
29675
29676 * loader/i386/efi/linux.c: New file.
29677 * loader/i386/efi/linux_normal.c: Likewise.
29678 * include/grub/i386/efi/loader.h: Likewise.
29679
29680 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29681
29682 * commands/blocklist.c: New file.
29683
29684 * DISTLIST: Added commands/blocklist.c.
29685
29686 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29687 color for the background, and a darker color for the foreground.
29688 (grub_console_checkkey): Return READ_KEY.
29689 (grub_console_cls): Set the background to
29690 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29691
29692 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29693
29694 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29695 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29696
29697 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29698 prototype.
29699
29700 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29701 BG. The spec is wrong again.
29702
29703 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29704 prototype.
29705 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29706
29707 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29708 commands/blocklist.c.
29709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29710
29711 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29712 (blocklist_mod_SOURCES): New variable.
29713 (blocklist_mod_CFLAGS): Likewise.
29714 (blocklist_mod_LDFLAGS): Likewise.
29715
29716 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29717
29718 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29719 duplication.
29720 (lba_mode): Use %eax more intensively to reduce the code size.
29721
29722 2006-05-20 Marco Gerards <marco@gnu.org>
29723
29724 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29725
29726 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29727 for `menuentry'.
29728 (script): Accept leading newlines.
29729 (newlines): New rule to describe 0 or more newlines.
29730 (commands): Accept `command' with trailing newline. Fixed the
29731 order in which arguments were passed to `grub_script_add_cmd'.
29732 Accept commands separated by newlines.
29733 (function): Changed to accept newlines.
29734 (menuentry) Rewritten.
29735
29736 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29737 front of the list, instead of to the end.
29738
29739 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29740
29741 * util/i386/pc/grub-install.in (bindir): New variable.
29742 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29743 Shaver <lbgwjl@gmail.com>.
29744
29745 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29746
29747 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29748 grub/machine/linux.h
29749 * loader/i386/pc/linux.c: Likewise.
29750
29751 * include/grub/i386/pc/linux.h: Moved to ...
29752 * include/grub/i386/linux.h: ... here.
29753
29754 * include/grub/i386/linux.h (struct linux_kernel_params): New
29755 struct.
29756
29757 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29758
29759 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29760 checking.
29761 (grub_video_vbe_blit_glyph): Likewise.
29762 (grub_video_vbe_blit_bitmap): Likewise.
29763 (grub_video_vbe_blit_render_target): Likewise.
29764
29765 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29766
29767 * configure.ac (--with-platform): Properly quote the square
29768 brackets.
29769
29770 2006-05-08 Marco Gerards <marco@gnu.org>
29771
29772 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29773 this...
29774 (kernel_elf_HEADERS): ...to this. Updated all users.
29775 (grubof_symlist.c): Renamed from this...
29776 (kernel_elf_symlist.c): ...to this. Updated all users.
29777 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29778 (grubof_SOURCES): Renamed from this...
29779 (kernel_elf_SOURCES): ...to this.
29780 (grubof_HEADERS): Renamed from this...
29781 (kernel_elf_HEADERS): ...to this.
29782 (grubof_CFLAGS): Renamed from this...
29783 (kernel_elf_CFLAGS): ...to this.
29784 (grubof_ASFLAGS): Renamed from this...
29785 (kernel_elf_ASFLAGS): ...to this.
29786 (grubof_LDFLAGS): Renamed from this...
29787 (kernel_elf_LDFLAGS): ...to this.
29788
29789 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29790 this...
29791 (kernel_elf_HEADERS): ...to this. Updated all users.
29792 (grubof_symlist.c): Renamed from this...
29793 (kernel_elf_symlist.c): ...to this. Updated all users.
29794 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29795 (grubof_SOURCES): Renamed from this...
29796 (kernel_elf_SOURCES): ...to this.
29797 (grubof_HEADERS): Renamed from this...
29798 (kernel_elf_HEADERS): ...to this.
29799 (grubof_CFLAGS): Renamed from this...
29800 (kernel_elf_CFLAGS): ...to this.
29801 (grubof_ASFLAGS): Renamed from this...
29802 (kernel_elf_ASFLAGS): ...to this.
29803 (grubof_LDFLAGS): Renamed from this...
29804 (kernel_elf_LDFLAGS): ...to this.
29805
29806 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29807 `kernel.elf' instead of `grubof'.
29808
29809 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29810
29811 Add --with-platform to configure. Use pkglibdir instead of
29812 pkgdatadir. This is reported by Roger Leigh.
29813
29814 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29815 (host_vendor): Likewise.
29816 (host_os): Likewise.
29817 (pkgdatadir): Likewise.
29818 (platform): New variable.
29819 (pkglibdir): Likewise.
29820 Use PKGLIBDIR instead of PKGDATADIR.
29821
29822 * util/i386/pc/grub-install.in (datadir): Removed.
29823 (host_vendor): Likewise.
29824 (host_os): Likewise.
29825 (pkgdatadir): Likewise.
29826 (platform): New variable.
29827 (pkglibdir): Likewise.
29828 Use PKGLIBDIR instead of PKGDATADIR.
29829
29830 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29831 instead of GRUB_DATADIR.
29832 (main): Likewise.
29833 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29834 (main): Likewise.
29835 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29836 (main): Likewise.
29837
29838 * configure.ac (--with-platform): New option.
29839 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29840
29841 * Makefile.in: Include a makefile based on PLATFORM instead of
29842 HOST_VENDOR.
29843 (pkgdatadir): Not appended by the machine type.
29844 (pkglibdir): Appended by the machine type.
29845 (host_vendor): Removed.
29846 (platform): New variable.
29847 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29848 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29849 (uninstall): Likewise.
29850
29851 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29852
29853 Use the environment context in the menu. Remove the commands
29854 "default" and "timeout", and use variables instead.
29855
29856 * normal/menu.c: Include grub/env.h.
29857 (print_entry): Cast TITLE to silence gcc.
29858 (get_timeout): New function.
29859 (set_timeout): Likewise.
29860 (get_entry_number): Likewise.
29861 (run_menu): Use a default entry, a fallback entry and a timeout
29862 in the environment variables "default", "fallback" and
29863 "timeout". Also, tweak the default entry if it is not within the
29864 current menu entries.
29865 (grub_menu_run): Use a fallback entry in the environment variable
29866 "fallback".
29867
29868 * normal/main.c (read_config_file): Do not initialize
29869 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29870 NEWMENU->TIMEOUT.
29871 (grub_normal_execute): Use a data slot to store the menu.
29872
29873 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29874 fallback_entry and timeout.
29875 (struct grub_menu_list): Removed.
29876 (grub_menu_list_t): Likewise.
29877 (struct grub_context): Likewise.
29878 (grub_context_t): Likewise.
29879 (grub_context_get): Likewise.
29880 (grub_context_get_current_menu): Likewise.
29881 (grub_context_push_menu): Likewise.
29882 (grub_context_pop_menu): Likewise.
29883 (grub_default_init): Likewise.
29884 (grub_default_fini): Likewise.
29885 (grub_timeout_init): Likewise.
29886 (grub_timeout_fini): Likewise.
29887
29888 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29889 and timeout.mod.
29890 (normal_mod_SOURCES): Removed normal/context.c.
29891
29892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29893 commands/default.c, commands/timeout.c and normal/context.c.
29894 (normal_mod_SOURCES): Removed normal/context.c.
29895
29896 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29897 commands/timeout.c and normal/context.c.
29898 (normal_mod_SOURCES): Removed normal/context.c.
29899
29900 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29901 commands/default.c, commands/timeout.c and normal/context.c.
29902 (normal_mod_SOURCES): Removed normal/context.c.
29903
29904 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29905 timeout.mod.
29906 (default_mod_SOURCES): Removed.
29907 (default_mod_CFLAGS): Likewise.
29908 (default_mod_LDFLAGS): Likewise.
29909 (timeout_mod_SOURCES): Removed.
29910 (timeout_mod_CFLAGS): Likewise.
29911 (timeout_mod_LDFLAGS): Likewise.
29912
29913 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29914 normal/context.c.
29915
29916 * commands/default.c: Removed.
29917 * commands/timeout.c: Likewise.
29918 * normal/context.c: Likewise.
29919
29920 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29921
29922 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29923
29924 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29925
29926 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29927 "next" to "prev" for readability.
29928 (struct grub_env_sorted_var): New struct.
29929 (grub_env_context): Renamed to ...
29930 (initial_context): ... this.
29931 (grub_env_var_context): Renamed to ...
29932 (current_context): ... this.
29933 (grub_env_find): Look only at CURRENT_CONTEXT.
29934 (grub_env_context_open): Rewritten to copy exported variables from
29935 previous context.
29936 (grub_env_context_close): Rewritten according to the new
29937 scheme. Also, add an assertion to prevent the initial context from
29938 removed.
29939 (grub_env_insert): Removed the code for the sorted list.
29940 (grub_env_remove): Likewise.
29941 (grub_env_export): Simply mark the variable with
29942 GRUB_ENV_VAR_GLOBAL.
29943 (grub_env_set): A cosmetic change for naming consistency.
29944 (grub_env_get): Likewise.
29945 (grub_env_unset): Likewise.
29946 (grub_env_iterate): Rewritten to sort variables within this
29947 function.
29948 (grub_register_variable_hook): Fixed for naming consistency. Call
29949 grub_env_find again, only if NAME is not found at the first time.
29950 (mangle_data_slot_name): New function.
29951 (grub_env_set_data_slot): Likewise.
29952 (grub_env_get_data_slot): Likewise.
29953 (grub_env_unset_data_slot): Likewise.
29954
29955 * include/grub/env.h (grub_env_var_type): New enum.
29956 (GRUB_ENV_VAR_LOCAL): New constant.
29957 (GRUB_ENV_VAR_GLOBAL): Likewise.
29958 (GRUB_ENV_VAR_DATA): Likewise.
29959 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29960 "type".
29961 (grub_env_set): Replace VAR with NAME for consistency.
29962 (grub_register_variable_hook): Likewise.
29963 (grub_env_export): Specify the name of the argument.
29964 (grub_env_set_data_slot): New prototype.
29965 (grub_env_get_data_slot): Likewise.
29966 (grub_env_unset_data_slot): Likewise.
29967
29968 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29969
29970 Extend the loader so that GRUB can accept a loader which comes
29971 back to GRUB when a loaded image exits. Also, this change adds
29972 support for a chainloader on EFI.
29973
29974 * term/efi/console.c: Include grub/misc.h.
29975 (grub_console_checkkey): Display a scan code on the top for
29976 debugging. This will be removed once the EFI port gets stable.
29977 Correct the scan code mapping.
29978
29979 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29980 allocate memory from larger regions, in order to reduce the number
29981 of allocated regions. Otherwise, the MacOSX loader panics.
29982 (filter_memory_map): Avoid less than 1MB for compatibility with
29983 other loaders.
29984 (add_memory_regions): Allocate from the tail of a region, if
29985 possible, to avoid allocating a region near to 1MB, for the MacOSX
29986 loader.
29987
29988 * kern/efi/init.c (grub_efi_set_prefix): Specify
29989 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29990
29991 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29992 argument IMAGE_HANDLE and specify it to get a loaded image.
29993 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29994 grub_efi_get_loaded_image.
29995 (grub_efi_get_filename): Divide the length by the size of
29996 grub_efi_char16_t.
29997 (grub_efi_get_device_path): New function.
29998 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29999 the length by the size of grub_efi_char16_t for a file path device
30000 path node.
30001
30002 * kern/loader.c (grub_loader_noreturn): New variable.
30003 (grub_loader_set): Accept a new argument NORETURN. Set
30004 GRUB_LOADER_NORETURN to NORETURN.
30005 All callers changed.
30006 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
30007 grub_machine_fini.
30008
30009 * include/grub/efi/efi.h (grub_efi_get_device_path): New
30010 prototype.
30011 (grub_efi_get_loaded_image): Take an argument to specify an image
30012 handle.
30013
30014 * include/grub/loader.h (grub_loader_set): Added one more argument
30015 NORETURN.
30016
30017 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
30018 instead of grub_efi_open_protocol.
30019 (grub_efidisk_get_device_name): Likewise.
30020 (grub_efidisk_close): Print a newline.
30021 (grub_efidisk_get_device_handle): Fixed to use
30022 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
30023 GRUB_EFI_DEVICE_PATH_TYPE.
30024
30025 * disk/efi/efidisk.c (device_path_guid): Moved to ...
30026 * kern/efi/efi.c (device_path_guid): ... here.
30027
30028 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
30029 chain.mod.
30030 (kernel_mod_HEADERS): Added efi/disk.h.
30031 (_chain_mod_SOURCES): New variable.
30032 (_chain_mod_CFLAGS): Likewise.
30033 (_chain_mod_LDFLAGS): Likewise.
30034 (chain_mod_SOURCES): Likewise.
30035 (chain_mod_CFLAGS): Likewise.
30036 (chain_mod_LDFLAGS): Likewise.
30037
30038 * DISTLIST: Added include/grub/efi/chainloader.h,
30039 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
30040
30041 * include/grub/efi/chainloader.h: New file.
30042 * loader/efi/chainloader.c: Likewise.
30043 * loader/efi/chainloader_normal.c: Likewise.
30044
30045 2006-04-30 Marco Gerards <marco@gnu.org>
30046
30047 * commands/configfile.c (grub_cmd_source): New function.
30048 (GRUB_MOD_INIT): Register the commands `source' and `.'.
30049 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
30050
30051 2006-04-30 Marco Gerards <marco@gnu.org>
30052
30053 * normal/execute.c (grub_script_execute_cmd): Change the return
30054 type to `grub_err_t'. Correctly return the error.
30055 (grub_script_execute_cmdline): In case a command line is not a
30056 command or a function, try to interpret it as an assignment.
30057
30058 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30059
30060 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
30061 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
30062 skip a node whose name is obviously invalid as UTF-16,
30063 i.e. contains a NUL character. Stop the iteration when the last
30064 directory entry is found. Instead of using the return value of
30065 grub_hfsplus_btree_iterate_node, store the value in RET and use
30066 it, because the iterator can be stopped by the last directory
30067 entry.
30068
30069 2006-04-30 Marco Gerards <marco@gnu.org>
30070
30071 * include/grub/env.h (grub_env_export): New prototype. Reported
30072 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
30073
30074 2006-04-30 Marco Gerards <marco@gnu.org>
30075
30076 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
30077 size of the extents in a catalog file record.
30078
30079 2006-04-29 Marco Gerards <marco@gnu.org>
30080
30081 * commands/configfile.c (grub_cmd_configfile): Execute the
30082 configfile within its own context.
30083
30084 * include/grub/env.h (grub_env_context_open): New prototype.
30085 (grub_env_context_close): Likewise.
30086
30087 * kern/env.c (grub_env): Removed.
30088 (grub_env_sorted): Likewise.
30089 (grub_env_context): New variable.
30090 (grub_env_var_context): Likewise.
30091 (grub_env_find): Search both the active context and the global
30092 context.
30093 (grub_env_context_open): New function.
30094 (grub_env_context_close): Likewise.
30095 (grub_env_insert): Likewise.
30096 (grub_env_remove): Likewise.
30097 (grub_env_export): Likewise.
30098 (grub_env_set): Changed to use helper functions to avoid code
30099 duplication.
30100 (grub_env_iterate): Rewritten so both the current context and the
30101 global context are being used.
30102
30103 * normal/command.c (export_command): New function.
30104 (grub_command_init): Register the `export' function.
30105
30106 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30107
30108 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30109 explicitly to suppress gcc's warnings.
30110 * fs/fat.c (grub_fat_find_dir): Likewise.
30111 (grub_fat_label): Likewise.
30112 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30113 (grub_xfs_mount): Likewise.
30114 (grub_xfs_label): Likewise.
30115 * fs/affs.c (grub_affs_mount): Likewise.
30116 (grub_affs_label): Likewise.
30117 (grub_affs_iterate_dir): Likewise.
30118 * fs/sfs.c (grub_sfs_mount): Likewise.
30119 (grub_sfs_iterate_dir): Likewise.
30120 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30121 * fs/hfs.c (grub_hfs_mount): Likewise.
30122 (grub_hfs_cmp_catkeys): Likewise.
30123 (grub_hfs_find_dir): Likewise.
30124 (grub_hfs_dir): Likewise.
30125 (grub_hfs_label): Likewise.
30126 * fs/jfs.c (grub_jfs_mount): Likewise.
30127 (grub_jfs_opendir): Likewise.
30128 (grub_jfs_getent): Likewise.
30129 (grub_jfs_lookup_symlink): Likewise.
30130 (grub_jfs_label): Likewise.
30131 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30132 (grub_hfsplus_iterate_dir): Likewise.
30133 (grub_hfsplus_btree_iterate_node): Made static.
30134
30135 * util/grub-emu.c (prefix): New variable.
30136 (grub_machine_set_prefix): New function.
30137 (main): Do not set the environment variable "prefix" here. Only
30138 set PREFIX, which is used later by grub_machine_set_prefix.
30139
30140 * include/grub/video.h: Do not include grub/symbol.h.
30141 (grub_video_register): Not exported. This symbol is not defined in
30142 the kernel.
30143 (grub_video_unregister): Likewise.
30144 (grub_video_iterate): Likewise.
30145 (grub_video_setup): Likewise.
30146 (grub_video_restore): Likewise.
30147 (grub_video_get_info): Likewise.
30148 (grub_video_get_blit_format): Likewise.
30149 (grub_video_set_palette): Likewise.
30150 (grub_video_get_palette): Likewise.
30151 (grub_video_set_viewport): Likewise.
30152 (grub_video_get_viewport): Likewise.
30153 (grub_video_map_color): Likewise.
30154 (grub_video_map_rgb): Likewise.
30155 (grub_video_map_rgba): Likewise.
30156 (grub_video_fill_rect): Likewise.
30157 (grub_video_blit_glyph): Likewise.
30158 (grub_video_blit_bitmap): Likewise.
30159 (grub_video_blit_render_target): Likewise.
30160 (grub_video_scroll): Likewise.
30161 (grub_video_swap_buffers): Likewise.
30162 (grub_video_create_render_target): Likewise.
30163 (grub_video_delete_render_target): Likewise.
30164 (grub_video_set_active_render_target): Likewise.
30165
30166 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30167 Undefined.
30168 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30169
30170 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30171 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30172 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30173 instead of $(srcdir)/genkernsyms.sh.
30174
30175 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30176 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30177 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30178 instead of $(srcdir)/genkernsyms.sh.
30179
30180 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30181 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30182 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30183 instead of $(srcdir)/genkernsyms.sh.
30184
30185 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30186 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30187 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30188 instead of $(srcdir)/genkernsyms.sh.
30189
30190 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30191 genkernsyms.sh.
30192
30193 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30194 genkernsyms.sh.
30195 (gensymlist.sh): New target.
30196 (genkernsyms.sh): Likewise.
30197
30198 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30199 genkernsyms.sh.in and gensymlist.sh.in.
30200
30201 * genkernsyms.sh: Removed.
30202 * gensymlist.sh: Likewise.
30203
30204 * genkernsyms.sh.in: New file.
30205 * gensymlist.sh.in: Likewise.
30206
30207 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30208
30209 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30210 clobber "prefix", since we may have already set it manually.
30211
30212 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30213
30214 * kern/misc.c (abort): New alias for grub_abort.
30215
30216 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30217
30218 A new machine-specific function "grub_machine_set_prefix" is
30219 defined. This is called after loading modules, so that a prefix
30220 initialization can use modules. Also, this change adds an
30221 intensive debugging feature for the memory manager via the
30222 configure option "--enable-mm-debug".
30223
30224 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30225 PART.LEN.
30226
30227 * kern/sparc64/ieee1275/init.c (abort): Removed.
30228 (grub_stop): Likewise.
30229 (grub_exit): New function.
30230 (grub_set_prefix): Renamed to ...
30231 (grub_machine_set_prefix): ... this.
30232 (grub_machine_init): Do not call grub_set_prefix.
30233
30234 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30235 (grub_machine_set_prefix): ... this.
30236 (grub_machine_init): Do not call grub_set_prefix.
30237
30238 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30239 (grub_machine_init): Do not set the prefix here.
30240
30241 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30242
30243 * kern/efi/init.c: Include grub/mm.h.
30244 (grub_efi_set_prefix): New function.
30245
30246 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30247 (grub_efi_get_filename): New function.
30248 (grub_print_device_path): Renamed to ...
30249 (grub_efi_print_device_path): ... this.
30250
30251 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30252 [MM_DEBUG] (grub_realloc): Likewise.
30253 [MM_DEBUG] (grub_free): Likewise.
30254 [MM_DEBUG] (grub_memalign): Likewise.
30255 [MM_DEBUG] (grub_mm_debug): New variable.
30256 [MM_DEBUG] (grub_debug_malloc): New function.
30257 [MM_DEBUG] (grub_debug_free): New function.
30258 [MM_DEBUG] (grub_debug_realloc): New function.
30259 [MM_DEBUG] (grub_debug_memalign): New function.
30260
30261 * kern/misc.c (grub_abort): Print a newline to distinguish
30262 the message.
30263
30264 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30265 grub_set_root_dev after loading modules. This is necessary when
30266 setting a prefix depends on modules.
30267
30268 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30269 (grub_efi_print_device_path): ... this.
30270 (grub_efi_get_filename): New prototype.
30271 (grub_efi_set_prefix): Likewise.
30272
30273 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30274 and grub/disk.h.
30275 (grub_efidisk_get_device_handle): New prototype.
30276 (grub_efidisk_get_device_name): Likewise.
30277
30278 * include/grub/mm.h: Include config.h.
30279 (MM_DEBUG): Removed.
30280 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30281 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30282 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30283 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30284 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30285 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30286 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30287 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30288 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30289
30290 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30291
30292 * disk/efi/efidisk.c: Include grub/partition.h.
30293 (iterate_child_devices): New function.
30294 (add_device): First, compare only last device path nodes, so that
30295 devices are sorted by the types.
30296 (grub_efidisk_get_device_handle): New function.
30297 (grub_efidisk_get_device_name): Likewise.
30298
30299 * configure.ac (--enable-mm-debug): New option to enable the
30300 memory manager debugging feature. This makes the binary much
30301 bigger, so is disabled by default.
30302
30303 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30304
30305 Use grub_abort instead of grub_stop, and grub_exit must be
30306 define in each architecture now. Also, this change adds support
30307 for EFI disks.
30308
30309 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30310 (grub_getkey): New function.
30311 (grub_term_get_current): Likewise.
30312
30313 * util/i386/pc/grub-setup.c: Include grub/term.h.
30314 (grub_getkey): New function.
30315 (grub_term_get_current): Likewise.
30316
30317 * util/misc.c (grub_stop): Renamed to ...
30318 (grub_exit): ... this.
30319
30320 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30321 (grub_exit): ... this.
30322 (grub_machine_init): Use grub_abort instead of abort.
30323 (grub_stop): Removed.
30324
30325 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30326 abort.
30327
30328 * kern/i386/pc/startup.S (grub_exit): New function.
30329 (cold_reboot): New label.
30330
30331 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30332 (grub_efi_init): Call grub_efidisk_init.
30333 (grub_efi_fini): Call grub_efidisk_fini.
30334
30335 * kern/efi/efi.c: Include grub/mm.h.
30336 (grub_efi_console_control_guid): Renamed to ...
30337 (console_control_guid): ... this.
30338 (grub_efi_loaded_image_guid): Renamed to ...
30339 (loaded_image_guid): ... this.
30340 (grub_efi_locate_handle): New function.
30341 (grub_efi_open_protocol): Likewise.
30342 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30343 GRUB_EFI_CONSOLE_CONTROL_GUID.
30344 (grub_efi_exit): Removed.
30345 (grub_stop): Likewise.
30346 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30347 (grub_exit): New function.
30348 (grub_print_device_path): Likewise.
30349
30350 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30351 (grub_enter_rescue_mode): Register "exit".
30352
30353 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30354 (grub_abort): New function.
30355
30356 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30357
30358 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30359
30360 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30361
30362 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30363 (grub_print_device_path): New prototype.
30364 (grub_efi_locate_handle): Likewise.
30365 (grub_efi_open_protocol): Likewise.
30366
30367 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30368 * disk/efi/efidisk.c: Likewise.
30369
30370 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30371
30372 * include/grub/efi/console_control.h
30373 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30374
30375 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30376 last 8 bytes as an array.
30377 (GRUB_EFI_DISK_IO_GUID): New macro.
30378 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30379 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30380 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30381 grub_uint8_t.
30382 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30383 (struct grub_efi_device_path): Rename the member "sub_type" to
30384 "subtype".
30385 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30386 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30387 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30388 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30389 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30390 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30391 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30392 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30393 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30394 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30395 (struct grub_efi_pci_device_path): New structure.
30396 (grub_efi_pci_device_path_t): New type.
30397 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30398 (struct grub_efi_pccard_device_path): New structure.
30399 (grub_efi_pccard_device_path_t): New type.
30400 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30401 (struct grub_efi_memory_mapped_device_path): New structure.
30402 (grub_efi_memory_mapped_device_path_t): New type.
30403 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30404 (struct grub_efi_vendor_device_path): New structure.
30405 (grub_efi_vendor_device_path_t): New type.
30406 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30407 (struct grub_efi_controller_device_path): New structure.
30408 (grub_efi_controller_device_path_t): New type.
30409 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30410 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30411 (struct grub_efi_acpi_device_path): New structure.
30412 (grub_efi_acpi_device_path_t): New type.
30413 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30414 (struct grub_efi_expanded_acpi_device_path): New structure.
30415 (grub_efi_expanded_acpi_device_path_t): New type.
30416 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30417 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30418 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30419 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30420 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30421 (struct grub_efi_atapi_device_path): New structure.
30422 (grub_efi_atapi_device_path_t): New type.
30423 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30424 (struct grub_efi_fibre_channel_device_path): New structure.
30425 (grub_efi_fibre_channel_device_path_t): New type.
30426 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30427 (struct grub_efi_1394_device_path): New structure.
30428 (grub_efi_1394_device_path_t): New type.
30429 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30430 (struct grub_efi_usb_device_path): New structure.
30431 (grub_efi_usb_device_path_t): New type.
30432 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30433 (struct grub_efi_usb_class_device_path): New structure.
30434 (grub_efi_usb_class_device_path_t): New type.
30435 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30436 (struct grub_efi_i2o_device_path): New structure.
30437 (grub_efi_i2o_device_path_t): New type.
30438 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30439 (struct grub_efi_mac_address_device_path): New structure.
30440 (grub_efi_mac_address_device_path_t): New type.
30441 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30442 (struct grub_efi_ipv4_device_path): New structure.
30443 (grub_efi_ipv4_device_path_t): New type.
30444 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30445 (struct grub_efi_ipv6_device_path): New structure.
30446 (grub_efi_ipv6_device_path_t): New type.
30447 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30448 (struct grub_efi_infiniband_device_path): New structure.
30449 (grub_efi_infiniband_device_path_t): New type.
30450 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30451 (struct grub_efi_uart_device_path): New structure.
30452 (grub_efi_uart_device_path_t): New type.
30453 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30454 (struct grub_efi_vendor_messaging_device_path): New structure.
30455 (grub_efi_vendor_messaging_device_path_t): New type.
30456 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30457 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30458 (struct grub_efi_hard_drive_device_path): New structure.
30459 (grub_efi_hard_drive_device_path_t): New type.
30460 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30461 (struct grub_efi_cdrom_device_path): New structure.
30462 (grub_efi_cdrom_device_path_t): New type.
30463 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30464 (struct grub_efi_vendor_media_device_path): New structure.
30465 (grub_efi_vendor_media_device_path_t): New type.
30466 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30467 (struct grub_efi_file_path_device_path): New structure.
30468 (grub_efi_file_path_device_path_t): New type.
30469 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30470 (struct grub_efi_protocol_device_path): New structure.
30471 (grub_efi_protocol_device_path_t): New type.
30472 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30473 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30474 (struct grub_efi_bios_device_path): New structure.
30475 (grub_efi_bios_device_path_t): New type.
30476 (struct grub_efi_disk_io): New structure.
30477 (grub_efi_disk_io_t): New type.
30478 (struct grub_efi_block_io_media): New structure.
30479 (grub_efi_block_io_media_t): New type.
30480 (struct grub_efi_block_io): New structure.
30481 (grub_efi_block_io_t): New type.
30482
30483 * include/grub/misc.h (grub_stop): Removed.
30484 (grub_exit): New prototype.
30485 (grub_abort): Likewise.
30486
30487 * include/grub/disk.h (enum grub_disk_dev_id): Added
30488 GRUB_DISK_DEVICE_EFIDISK_ID.
30489
30490 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30491 disk/efi/efidisk.c.
30492 (kernel_syms.lst): Remove the target if an error occurs.
30493
30494 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30495
30496 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30497 as it was simply too buggy.
30498
30499 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30500
30501 * kern/misc.c (grub_lltoa): New function.
30502 (grub_vsprintf): Added support for the long long suffix,
30503 i.e. "ll".
30504
30505 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30506
30507 * Makefile.in (LDFLAGS): Add variable.
30508 (LD): Remove variable.
30509 * configure.ac: Add -m32 to LDFLAGS.
30510 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30511 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30512 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30513 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30514 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30515 variables.
30516 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30517 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30518 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30519
30520 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30521
30522 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30523 length for unknown glyph.
30524
30525 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30526
30527 Add support for pre-loaded modules into the EFI port.
30528
30529 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30530 completely. Accept one more argument DIR. The caller has changed.
30531
30532 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30533
30534 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30535 (grub_efi_loaded_image_guid): New variable.
30536 (grub_efi_get_loaded_image): New function.
30537 (grub_arch_modules_addr): Likewise.
30538
30539 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30540 prototype.
30541
30542 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30543 (struct grub_efi_loaded_image): New structure.
30544 (grub_efi_loaded_image_t): New type.
30545
30546 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30547
30548 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30549 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30550 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30551
30552 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30553
30554 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30555
30556 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30557
30558 * DISTLIST: Added include/grub/efi/console.h,
30559 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30560 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30561
30562 * include/grub/efi/console.h: New file.
30563 * include/grub/efi/time.h: Likewise.
30564 * include/grub/i386/efi/kernel.h: Likewise.
30565 * kern/efi/init.c: Likewise.
30566 * kern/efi/mm.c: Likewise.
30567 * term/efi/console.c: Likewise.
30568
30569 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30570 (grub_stop): Removed.
30571 (grub_get_rtc): Likewise.
30572 (grub_machine_init): Simply call grub_efi_init.
30573 (grub_machine_fini): Call grub_efi_fini.
30574
30575 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30576 (grub_efi_output_string): Removed.
30577 (grub_efi_stall): New function.
30578 (grub_stop): Likewise.
30579 (grub_get_rtc): Likewise.
30580
30581 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30582 (grub_efi_stall): New prototype.
30583 (grub_efi_allocate_pages): Likewise.
30584 (grub_efi_free_pages): Likewise.
30585 (grub_efi_get_memory_map): Likewise.
30586 (grub_efi_mm_init): Likewise.
30587 (grub_efi_mm_fini): Likewise.
30588 (grub_efi_init): Likewise.
30589 (grub_efi_fini): Likewise.
30590
30591 * include/grub/i386/efi/time.h: Do not include
30592 grub/symbol.h. Include grub/efi/time.h.
30593 (GRUB_TICKS_PER_SECOND): Removed.
30594 (grub_get_rtc): Likewise.
30595
30596 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30597 Added padding. The EFI spec is buggy.
30598 (GRUB_EFI_BLACK): New macro.
30599 (GRUB_EFI_BLUE): Likewise.
30600 (GRUB_EFI_GREEN): Likewise.
30601 (GRUB_EFI_CYAN): Likewise.
30602 (GRUB_EFI_RED): Likewise.
30603 (GRUB_EFI_MAGENTA): Likewise.
30604 (GRUB_EFI_BROWN): Likewise.
30605 (GRUB_EFI_LIGHTGRAY): Likewise.
30606 (GRUB_EFI_BRIGHT): Likewise.
30607 (GRUB_EFI_DARKGRAY): Likewise.
30608 (GRUB_EFI_LIGHTBLUE): Likewise.
30609 (GRUB_EFI_LIGHTGREEN): Likewise.
30610 (GRUB_EFI_LIGHTCYAN): Likewise.
30611 (GRUB_EFI_LIGHTRED): Likewise.
30612 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30613 (GRUB_EFI_YELLOW): Likewise.
30614 (GRUB_EFI_WHITE): Likewise.
30615 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30616 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30617 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30618 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30619 (GRUB_EFI_BACKGROUND_RED): Likewise.
30620 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30621 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30622 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30623 (GRUB_EFI_TEXT_ATTR): Likewise.
30624
30625 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30626 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30627 (kernel_mod_HEADERS): Added efi/time.h.
30628
30629 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30630
30631 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30632 include/grub/efi/api.h, include/grub/efi/console_control.h,
30633 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30634 include/grub/i386/efi/time.h, kern/efi/efi.c,
30635 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30636 and util/i386/efi/grub-mkimage.c.
30637
30638 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30639
30640 * genmk.rb (PModule#rule): Do not export symbols if
30641 #{prefix}_EXPORTS is set to "no".
30642
30643 * conf/i386-efi.mk: New file.
30644 * conf/i386-efi.rmk: Likewise.
30645 * include/grub/efi/api.h: Likewise.
30646 * include/grub/efi/console_control.h: Likewise.
30647 * include/grub/efi/efi.h: Likewise.
30648 * include/grub/efi/pe32.h: Likewise.
30649 * include/grub/i386/efi/time.h: Likewise.
30650 * kern/efi/efi.c: Likewise.
30651 * kern/i386/efi/init.c: Likewise.
30652 * kern/i386/efi/startup.S: Likewise.
30653 * util/i386/efi/grub-mkimage.c: Likewise.
30654
30655 2006-04-17 Marco Gerards <marco@gnu.org>
30656
30657 * include/grub/script.h: Include <grub/parser.h> and
30658 "grub_script.tab.h".
30659 (struct grub_lexer_param): New struct.
30660 (struct grub_parser_param): Likewise.
30661 (grub_script_create_arglist): Pass the state in an argument.
30662 (grub_script_add_arglist): Likewise.
30663 (grub_script_create_cmdline): Likewise.
30664 (grub_script_create_cmdblock): Likewise.
30665 (grub_script_create_cmdif): Likewise.
30666 (grub_script_create_cmdmenu): Likewise.
30667 (grub_script_add_cmd): Likewise.
30668 (grub_script_arg_add): Likewise.
30669 (grub_script_lexer_ref): Likewise.
30670 (grub_script_lexer_deref): Likewise.
30671 (grub_script_lexer_record_start): Likewise.
30672 (grub_script_lexer_record_stop): Likewise.
30673 (grub_script_mem_record): Likewise.
30674 (grub_script_mem_record_stop): Likewise.
30675 (grub_script_malloc): Likewise.
30676 (grub_script_yylex): Likewise.
30677 (grub_script_yyparse): Likewise.
30678 (grub_script_yyerror): Likewise.
30679 (grub_script_yylex): Likewise.
30680 (grub_script_lexer_init): Return the state.
30681
30682 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30683 (grub_script_lexer_done): Likewise.
30684 (grub_script_lexer_getline): Likewise.
30685 (grub_script_lexer_refs): Likewise.
30686 (script): Likewise.
30687 (newscript): Likewise.
30688 (record): Likewise.
30689 (recording): Likewise.
30690 (recordpos): Likewise.
30691 (recordlen): Likewise.
30692 (grub_script_lexer_init): Return the state instead of setting
30693 global variables.
30694 (grub_script_lexer_ref): Use the newly added argument for state
30695 instead of globals.
30696 (grub_script_lexer_deref): Likewise.
30697 (grub_script_lexer_record_start): Likewise.
30698 (grub_script_lexer_record_stop): Likewise.
30699 (recordchar): Likewise.
30700 (nextchar): Likewise.
30701 (grub_script_yylex2): Likewise.
30702 (grub_script_yylex): Likewise.
30703 (grub_script_yyerror): Likewise.
30704
30705 * normal/parser.y (func_mem): Removed variable.
30706 (menu_entry): Likewise.
30707 (err): Likewise.
30708 (%lex-param): New parser option.
30709 (%parse-param): Likewise.
30710 (script): Always return the AST.
30711 (argument): Pass the state around.
30712 (arguments): Likewise.
30713 (grubcmd): Likewise.
30714 (commands): Likewise.
30715 (function): Likewise.
30716 (menuentry): Likewise.
30717 (if_statement): Likewise.
30718 (if): Likewise.
30719
30720 * normal/script.c (grub_script_memused): Removed variable.
30721 (grub_script_parsed): Likewise.
30722 (grub_script_malloc): Added a state argument. Use that instead of
30723 global variables.
30724 (grub_script_mem_record): Likewise.
30725 (grub_script_mem_record_stop): Likewise.
30726 (grub_script_arg_add): Likewise.
30727 (grub_script_add_arglist): Likewise.
30728 (grub_script_create_cmdline): Likewise.
30729 (grub_script_create_cmdif): Likewise.
30730 (grub_script_create_cmdmenu): Likewise.
30731 (grub_script_add_cmd): Likewise.
30732 (grub_script_parse): Setup the state before calling the parser.
30733
30734 2006-04-16 Marco Gerards <marco@gnu.org>
30735
30736 * normal/command.c (grub_command_init): Remove the title command.
30737
30738 * normal/lexer.c (grub_script_yylex): Renamed from this...
30739 (grub_script_yylex2): ... to this.
30740 (grub_script_yylex): New function. Temporary
30741 introduced to filter some tokens.
30742 (grub_script_yyerror): Print a newline.
30743
30744 * normal/main.c (read_config_file): Output information about the
30745 lines that contain errors. Wait for a key after all lines have
30746 been processed. Don't return an empty menu.
30747
30748 * normal/parser.y (func_mem): Don't initialize.
30749 (menu_entry): Likewise.
30750 (err): New variable.
30751 (script): Don't return anything when an error was encountered.
30752 (ws, returns): Removed rules.
30753 (argument): Disabled concatenated variable support.
30754 (arguments): Remove explicit separators.
30755 (grubcmd): Likewise.
30756 (function): Likewise.
30757 (menuentry): Likewise.
30758 (if): Likewise.
30759 (commands): Likewise. Add error handling.
30760
30761 * normal/script.c (grub_script_create_cmdline): If
30762 `grub_script_parsed' is 0, assume the parser encountered an error.
30763
30764 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30765
30766 * configure.ac: Add support for EFI. Fix the typo
30767 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30768
30769 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30770
30771 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30772 foreign multibyte characters should be shown correctly.
30773
30774 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30775
30776 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30777 calculation.
30778 (read_config_file): Made it to close file before returning.
30779
30780 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30781
30782 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30783 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30784 video/i386/pc/vbefill.c.
30785
30786 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30787 video/i386/pc/vbefill.c.
30788
30789 * include/grub/video.h (grub_video_blit_format): New enum.
30790 (grub_video_mode_info): Added new member blit_format.
30791 (grub_video_get_blit_format): New function prototype.
30792
30793 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30794 function prototype.
30795 (grub_video_vbe_map_rgb): Likewise.
30796 (grub_video_vbe_unmap_color): Likewise.
30797
30798 * include/grub/i386/pc/vbeblit.h: New file.
30799
30800 * include/grub/i386/pc/vbefill.h: New file.
30801
30802 * video/video.c (grub_video_get_blit_format): New function.
30803 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30804 (grub_video_vbe_map_rgb): Likewise.
30805 (grub_video_vbe_unmap_color): Likewise.
30806
30807 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30808 optimized fills.
30809 (grub_video_vbe_blit_render_target): Changed to use more optimized
30810 blits.
30811 (grub_video_vbe_setup): Added detection for optimized settings.
30812 (grub_video_vbe_create_render_target): Likewise.
30813
30814 * video/i386/pc/vbeblit.c: New file.
30815
30816 * video/i386/pc/vbefill.c: New file.
30817
30818 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30819
30820 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30821 here...
30822
30823 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30824 parsing to support both hex and dec ranges. If filename was missing
30825 show usage information.
30826
30827 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30828
30829 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30830 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30831
30832 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30833 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30834 (video_mod_SOURCES): Added.
30835 (video_mod_CFLAGS): Likewise.
30836 (video_mod_LDFLAGS): Likewise.
30837 (gfxterm_mod_SOURCES): Likewise.
30838 (gfxterm_mod_CFLAGS): Likewise.
30839 (gfxterm_mod_LDFLAGS): Likewise.
30840 (videotest_mod_SOURCES): Likewise.
30841 (videotest_mod_CFLAGS): Likewise.
30842 (videotest_mod_LDFLAGS): Likewise.
30843 (vesafb_mod_SOURCES): Removed.
30844 (vesafb_mod_CFLAGS): Likewise.
30845 (vesafb_mod_LDFLAGS): Likewise.
30846 (vga_mod_SOURCES): Likewise.
30847 (vga_mod_CFLAGS): Likewise.
30848 (vga_mod_LDFLAGS): Likewise.
30849
30850 * commands/videotest.c: New file.
30851
30852 * font/manager.c (fill_with_default_glyph): Modified to use
30853 grub_font_glyph.
30854 (grub_font_get_glyph): Likewise.
30855 (fontmanager): Renamed from this...
30856 (font_manager): ... to this.
30857
30858 * include/grub/font.h (grub_font_glyph): Added new structure.
30859 (grub_font_get_glyph): Modified to use grub_font_glyph.
30860
30861 * include/grub/misc.h (grub_abs): Added as inline function.
30862
30863 * include/grub/video.h: New file.
30864
30865 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30866 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30867 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30868 (grub_vbe_get_controller_info): Renamed from this...
30869 (grub_vbe_bios_get_controller_info): ... to this.
30870 (grub_vbe_get_mode_info): Renamed from this...
30871 (grub_vbe_bios_get_mode_info): ... to this.
30872 (grub_vbe_set_mode): Renamed from this...
30873 (grub_vbe_bios_set_mode): ... to this.
30874 (grub_vbe_get_mode): Renamed from this...
30875 (grub_vbe_bios_get_mode): ... to this.
30876 (grub_vbe_set_memory_window): Renamed from this...
30877 (grub_vbe_bios_set_memory_window): ... to this.
30878 (grub_vbe_get_memory_window): Renamed from this...
30879 (grub_vbe_bios_get_memory_window): ... to this.
30880 (grub_vbe_set_scanline_length): Renamed from this...
30881 (grub_vbe_set_scanline_length): ... to this.
30882 (grub_vbe_get_scanline_length): Renamed from this...
30883 (grub_vbe_bios_get_scanline_length): ... to this.
30884 (grub_vbe_set_display_start): Renamed from this...
30885 (grub_vbe_bios_set_display_start): ... to this.
30886 (grub_vbe_get_display_start): Renamed from this...
30887 (grub_vbe_bios_get_display_start): ... to this.
30888 (grub_vbe_set_palette_data): Renamed from this...
30889 (grub_vbe_bios_set_palette_data): ... to this.
30890 (grub_vbe_set_pixel_rgb): Removed.
30891 (grub_vbe_set_pixel_index): Likewise.
30892
30893 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30894 from this...
30895 (grub_vbe_bios_get_controller_info): ... to this.
30896 (grub_vbe_get_mode_info): Renamed from this...
30897 (grub_vbe_bios_get_mode_info): ... to this.
30898 (grub_vbe_set_mode): Renamed from this...
30899 (grub_vbe_bios_set_mode): ... to this.
30900 (grub_vbe_get_mode): Renamed from this...
30901 (grub_vbe_bios_get_mode): ... to this.
30902 (grub_vbe_set_memory_window): Renamed from this...
30903 (grub_vbe_bios_set_memory_window): ... to this.
30904 (grub_vbe_get_memory_window): Renamed from this...
30905 (grub_vbe_bios_get_memory_window): ... to this.
30906 (grub_vbe_set_scanline_length): Renamed from this...
30907 (grub_vbe_set_scanline_length): ... to this.
30908 (grub_vbe_get_scanline_length): Renamed from this...
30909 (grub_vbe_bios_get_scanline_length): ... to this.
30910 (grub_vbe_set_display_start): Renamed from this...
30911 (grub_vbe_bios_set_display_start): ... to this.
30912 (grub_vbe_get_display_start): Renamed from this...
30913 (grub_vbe_bios_get_display_start): ... to this.
30914 (grub_vbe_set_palette_data): Renamed from this...
30915 (grub_vbe_bios_set_palette_data): ... to this.
30916 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30917 getting corrupted after calling it. Added more pushes and pops.
30918 (grub_vbe_bios_set_mode): Likewise.
30919 (grub_vbe_bios_get_mode): Likewise.
30920 (grub_vbe_bios_get_memory_window): Likewise.
30921 (grub_vbe_bios_set_scanline_length): Likewise.
30922 (grub_vbe_bios_get_scanline_length): Likewise.
30923 (grub_vbe_bios_get_display_start): Likewise.
30924 (grub_vbe_bios_set_palette_data): Likewise.
30925
30926 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30927 (cl_insert): Likewise.
30928 (cl_delete): Likewise.
30929
30930 * term/gfxterm.c: New file.
30931
30932 * term/i386/pc/vesafb.c: Removed file.
30933
30934 * video/video.c: New file.
30935
30936 * video/i386/pc/vbe.c (real2pm): Added new function.
30937 (grub_video_vbe_draw_pixel): Likewise.
30938 (grub_video_vbe_get_video_ptr): Likewise.
30939 (grub_video_vbe_get_pixel): Likewise
30940 (grub_video_vbe_init): Likewise.
30941 (grub_video_vbe_fini): Likewise.
30942 (grub_video_vbe_setup): Likewise.
30943 (grub_video_vbe_get_info): Likewise.
30944 (grub_video_vbe_set_palette): Likewise.
30945 (grub_video_vbe_get_palette): Likewise.
30946 (grub_video_vbe_set_viewport): Likewise.
30947 (grub_video_vbe_get_viewport): Likewise.
30948 (grub_video_vbe_map_color): Likewise.
30949 (grub_video_vbe_map_rgb): Likewise.
30950 (grub_video_vbe_map_rgba): Likewise.
30951 (grub_video_vbe_unmap_color): Likewise.
30952 (grub_video_vbe_fill_rect): Likewise.
30953 (grub_video_vbe_blit_glyph): Likewise.
30954 (grub_video_vbe_blit_bitmap): Likewise.
30955 (grub_video_vbe_blit_render_target): Likewise.
30956 (grub_video_vbe_scroll): Likewise.
30957 (grub_video_vbe_swap_buffers): Likewise.
30958 (grub_video_vbe_create_render_target): Likewise.
30959 (grub_video_vbe_delete_render_target): Likewise.
30960 (grub_video_vbe_set_active_render_target): Likewise.
30961 (grub_vbe_set_pixel_rgb): Remove function.
30962 (grub_vbe_set_pixel_index): Likewise.
30963 (index_color_mode): Remove static variable.
30964 (active_mode): Likewise.
30965 (framebuffer): Likewise.
30966 (bytes_per_scan_line): Likewise.
30967 (grub_video_vbe_adapter): Added new static variable.
30968 (framebuffer): Likewise.
30969 (render_target): Likewise.
30970 (initial_mode): Likewise.
30971 (mode_in_use): Likewise.
30972 (mode_list): Likewise.
30973
30974 2006-03-10 Marco Gerards <marco@gnu.org>
30975
30976 * configure.ac (AC_INIT): Bumped to 1.93.
30977
30978 * DISTLIST: Added `include/grub/hfs.h'.
30979
30980 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30981
30982 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30983 18H, which might help the BIOS falling back to next boot media.
30984
30985 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30986
30987 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30988 Poe Chen <poe.poechen@gmail.com>.
30989
30990 2006-01-17 Marco Gerards <marco@gnu.org>
30991
30992 * include/grub/normal.h: Include <grub/script.h>.
30993 (grub_command_list): Removed struct.
30994 (grub_command_list_t): Removed type.
30995 (grub_menu_entry): Remove members `num' and `command_list'. Add
30996 members `commands' and `sourcecode'.
30997 * include/grub/script.h: Add inclusion guards.
30998 (grub_script_cmd_menuentry): New struct.
30999 (grub_script_execute_menuentry): New prototype.
31000 (grub_script_lexer_record_start): Likewise.
31001 (grub_script_lexer_record_stop): Likewise.
31002 * normal/execute.c (grub_script_execute_menuentry): New function.
31003 * normal/lexer.c (record, recording, recordpos, recordlen): New
31004 variables.
31005 (grub_script_lexer_record_start): New function.
31006 (grub_script_lexer_record_stop): Likewise.
31007 (recordchar): Likewise.
31008 (nextchar): Likewise.
31009 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
31010 2048 as the buffer size. Add the tokens `menuentry' and `@'.
31011 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
31012 (current_menu): New variable.
31013 (free_menu): Mainly rewritten.
31014 (grub_normal_menu_addentry): New function.
31015 (read_config_file): Rewritten.
31016 * normal/menu.c (run_menu_entry): Mainly rewritten.
31017 * normal/menu_entry.c (make_screen): Rewritten the code to insert
31018 the menu entry.
31019 (run): Mainly rewritten.
31020 * normal/parser.y (menu_entry): New variable.
31021 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
31022 (menuentry): New rule.
31023 (command): Add `menuentry'.
31024 (if_statement): Allow additional returns before `fi'.
31025 * normal/script.c (grub_script_create_cmdmenu): New function.
31026
31027 2006-01-03 Marco Gerards <marco@gnu.org>
31028
31029 * INSTALL: GNU Bison is required.
31030 * configure.ac: Rewritten the test to detect Bison.
31031 * Makefile.in (YACC): New variable. Reported by Xun Sun
31032 <xun.sun.cn@gmail.com>.
31033
31034 2006-01-03 Marco Gerards <marco@gnu.org>
31035
31036 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
31037 the HFS+ filesystem to filesystem blocks.
31038 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
31039 GCC warning is silenced.
31040
31041 2006-01-03 Marco Gerards <marco@gnu.org>
31042
31043 * partmap/apple.c (apple_partition_map_iterate): Convert the data
31044 read from disk from big endian to host byte order.
31045
31046 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
31047
31048 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
31049 documentation.
31050 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
31051 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
31052 embedded HFS+ filesystem.
31053 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
31054 (grub_hfs_sblock): Move from here...
31055 * include/grub/hfs.h: To here... New file.
31056 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
31057 documentation.
31058 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
31059 New macros.
31060 (grub_hfsplus_volheader): Change type of member `magic' to
31061 `grub_uint16_t'.
31062 (grub_hfsplus_data): Add new member `embedded_offset'.
31063 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
31064 returned block.
31065 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
31066 Calculate the offset.
31067
31068 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31069
31070 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
31071 Removed.
31072 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
31073
31074 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31075
31076 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
31077 ENV->NAME is NULL after allocating ENV->VALUE.
31078
31079 2005-12-25 Marco Gerards <marco@gnu.org>
31080
31081 * kern/env.c (grub_env_set): Rewritten the error handling code.
31082
31083 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31084
31085 * geninit.sh: Made more robust, and more portable.
31086
31087 2005-12-25 Marco Gerards <marco@gnu.org>
31088
31089 Add support for Apple HFS+ filesystems.
31090
31091 * fs/hfsplus.c: New file.
31092
31093 * DISTLIST: Added `fs/hfsplus.c'.
31094
31095 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
31096 (hfsplus_mod_SOURCES): New variable.
31097 (hfsplus_mod_CFLAGS): Likewise.
31098 (hfsplus_mod_LDFLAGS): Likewise.
31099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31100 (grub_setup_SOURCES): Likewise.
31101 (grub_mkdevicemap_SOURCES): Likewise.
31102 (grub_emu_SOURCES): Likewise.
31103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31104
31105 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31106
31107 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31108
31109 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31110
31111 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31112 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31113 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31114 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31115 normal/lexer.c, normal/parser.y, normal/script.c, and
31116 partmap/gpt.c.
31117 Removed kern/sparc64/cache.c.
31118
31119 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31120 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31121 grub_emu_init.c.
31122
31123 * configure.ac (AC_INIT): Bumped to 1.92.
31124
31125 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31126
31127 * kern/err.c (grub_error_push): Added new function to support error
31128 stacks.
31129 (grub_error_pop): Likewise.
31130 (grub_error_stack_items): New local variable to support error stacks.
31131 (grub_error_stack_pos): Likewise.
31132 (grub_error_stack_assert): Likewise.
31133 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31134 stack depth.
31135 (grub_print_error): Added support to print errors from error stack.
31136
31137 * include/grub/err.h (grub_error_push): Added function prototype.
31138 (grub_error_pop): Likewise.
31139
31140 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31141
31142 * configure.ac: Accept `powerpc64' as host_cpu.
31143 (amd64): Rename to `biarch32'.
31144
31145 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31146 non-cacheline-aligned addresses.
31147
31148 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31149 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31150 if `size' is non-zero.
31151
31152 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
31153
31154 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31155 and `cd' to make sure the filename is not prefixed with a
31156 directory name.
31157 (pkgdata_MODULES): Add `gpt.mod'.
31158 (gpt_mod_SOURCES): New variable.
31159 (gpt_mod_CFLAGS): Likewise.
31160 (gpt_mod_LDFLAGS): Likewise.
31161
31162 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31163
31164 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31165 New macro.
31166
31167 * partmap/gpt.c: New file.
31168
31169 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31170 GPT partition map is detected.
31171
31172 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31173
31174 * commands/i386/pc/play.c: New file.
31175 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31176 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31177 macros.
31178
31179 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
31180
31181 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31182 ((unused))' to silence gcc warning.
31183
31184 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31185
31186 * configure.ac: Correct `AC_PROG_YACC' test.
31187
31188 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31189
31190 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31191 check before installing files.
31192
31193 2005-11-22 Mike Small <smallm@panix.com>
31194
31195 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31196 number regex so multidigit numbers are recognized correctly.
31197
31198 2005-11-22 Mike Small <smallm@panix.com>
31199
31200 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31201 debugging message before attempting to claim memory.
31202 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31203 multiple addresses in case of failure.
31204
31205 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31206
31207 * term/tparm.c (get_space): Remove empty `if' statement.
31208
31209 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31210
31211 * kern/parser.c (check_varstate): Rename `state' to 's'.
31212
31213 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31214
31215 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31216 variable definitions to the beginning of each function. Sort stack
31217 variables by size.
31218 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31219 `buf' argument to `char *'.
31220
31221 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31222
31223 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31224 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31225 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31226 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31227 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31228 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31229 configfile.mod, search.mod, gzio.mod and test.mod.
31230 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31231 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31232 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31233 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31234 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31235 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31236 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31237 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31238 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31239 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31240 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31241 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31242 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31243 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31244 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31245 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31246 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31247 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31248 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31249 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31250 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31251 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31252 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31253
31254 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31255 `grep --include'.
31256 (pkgdata_MODULES): Add test.mod.
31257
31258 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31259
31260 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31261 appending to variables with "+=".
31262 (PModule): Use full pathname to generate *.lst filenames.
31263
31264 * Makefile.in: Fixed list rules moved from genmk.rb.
31265 (.DELETE_ON_ERROR): New special target.
31266 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31267
31268 * conf/i386-pc.rmk: Include conf/common.mk.
31269 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
31270 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
31271 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31272 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31273 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31274 configfile.mod, search.mod, gzio.mod and test.mod.
31275 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31276 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31277 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31278 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31279 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31280 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31281 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31282 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31283 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31284 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31285 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31286 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31287 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31288 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31289 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31290 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31291 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31292 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31293 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31294 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31295 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31296 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31297 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31298 here...
31299 * conf/common.rmk: ... to here. New file.
31300
31301 * conf/common.mk: New file.
31302
31303 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31304
31305 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31306 (grub_script.tab.c): ... here.
31307
31308 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31309 (grub_script.tab.c): ... here.
31310
31311 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31312 (grub_script.tab.c): ... here.
31313
31314 * normal/command.c (grub_command_find): Fixed a memory leak of
31315 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31316
31317 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31318
31319 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31320 "@" which marks the start of a comment on ARM.
31321 (VARIABLE): Likewise.
31322
31323 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31324
31325 Add support for Linux/ADFS partition tables.
31326
31327 * partmap/acorn.c: New file.
31328
31329 * include/grub/acorn_filecore.h: Likewise.
31330
31331 * DISTLIST: Added `partmap/acorn.c' and
31332 `include/grub/acorn_filecore.h'.
31333
31334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31335 `partmap/acorn.c'.
31336 (pkgdata_MODULES): Add `acorn.mod'.
31337 (acorn_mod_SOURCES): New variable.
31338 (acorn_mod_CFLAGS): Likewise.
31339
31340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31341 `partmap/acorn.c'.
31342 (pkgdata_MODULES): Add `acorn.mod'.
31343 (acorn_mod_SOURCES): New variable.
31344 (acorn_mod_CFLAGS): Likewise.
31345
31346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31347 (pkgdata_MODULES): Add `acorn.mod'.
31348 (acorn_mod_SOURCES): New variable.
31349 (acorn_mod_CFLAGS): Likewise.
31350 (acorn_mod_LDFLAGS): Likewise.
31351
31352 * include/types.h (grub_disk_addr_t): New typedef.
31353
31354 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31355
31356 * geninit.sh: New file.
31357
31358 * geninitheader.sh: Likewise.
31359
31360 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31361 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31362 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31363 * commands/configfile.c (grub_configfile_init)
31364 (grub_configfile_fini): Likewise.
31365 * commands/default.c (grub_default_init, grub_default_fini):
31366 Likewise.
31367 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31368 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31369 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31370 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31371 Likewise.
31372 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31373 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31374 Likewise.
31375 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31376 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31377 Likewise.
31378 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31379 Likewise.
31380 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31381 Likewise.
31382 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31383 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31384 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31385 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31386 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31387 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31388 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31389 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31390 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31391 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31392 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31393 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31394 * partmap/amiga.c (grub_amiga_partition_map_init)
31395 (grub_amiga_partition_map_fini): Likewise.
31396 * partmap/apple.c (grub_apple_partition_map_init)
31397 (grub_apple_partition_map_fini): Likewise.
31398 * partmap/pc.c (grub_pc_partition_map_init)
31399 (grub_pc_partition_map_fini): Likewise.
31400 * partmap/sun.c (grub_sun_partition_map_init,
31401 grub_sun_partition_map_fini): Likewise.
31402 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31403 Likewise.
31404
31405 * util/grub-emu.c: Include <grub_modules_init.h>.
31406 (main): Don't initialize and de-initialize any modules directly,
31407 use `grub_init_all' and `grub_fini_all' instead.
31408
31409 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31410 `grub_vesafb_mod_init'.
31411 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31412 all users.
31413 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31414 `grub_vga_mod_init'. Updated all users.
31415 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31416
31417 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31418 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31419 rules.
31420
31421 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31422 Generate a function to initialize the module in utilities.
31423 Updated all callers.
31424 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31425 initialize the module in utilities. Updated all callers.
31426
31427 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31428
31429 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31430 escape sequence and a literal ^L to clear the screen.
31431
31432 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31433 when returning from Open Firmware.
31434
31435 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31436
31437 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31438 (grub_ofconsole_height): Likewise.
31439 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31440 manually insert a '\n'.
31441 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31442 `grub_ofconsole_height'. Return early if these are already set.
31443
31444 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31445
31446 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31447 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31448 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31449 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31450 and `normal/script.c'.
31451 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31452 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31453 (test_mod_SOURCES): New variable.
31454 (test_mod_CFLAGS): Likewise.
31455 (test_mod_LDFLAGS): Likewise.
31456 (pkgdata_MODULES): Add `test.mod'.
31457 (grub_script.tab.c): New rule.
31458 (grub_script.tab.h): Likewise.
31459
31460 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31461
31462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31463 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31464 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31465 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31466 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31467 (test_mod_SOURCES): New variable.
31468 (test_mod_CFLAGS): Likewise.
31469 (pkgdata_MODULES): Add `test.mod'.
31470 (grub_script.tab.c): New rule.
31471 (grub_script.tab.h): Likewise.
31472
31473 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31474
31475 Add initial scripting support.
31476
31477 * commands/test.c: New file.
31478 * include/grub/script.h: Likewise.
31479 * normal/execute.c: Likewise.
31480 * normal/function.c: Likewise.
31481 * normal/lexer.c: Likewise.
31482 * normal/parser.y: Likewise.
31483 * normal/script.c: Likewise.
31484
31485 * configure.ac: Add `AC_PROG_YACC' test.
31486
31487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31488 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31489 `normal/function.c' and `normal/script.c'.
31490 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31491 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31492 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31493 variables.
31494 (pkgdata_MODULES): Add `test.mod'.
31495 (grub_script.tab.c): New rule.
31496 (grub_script.tab.h): Likewise.
31497
31498 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31499
31500 * include/grub/normal.h (grub_test_init): New prototype.
31501 (grub_test_fini): Likewise.
31502
31503 * normal/command.c: Include <grub/script.h>.
31504 (grub_command_execute): Rewritten.
31505
31506 * util/grub-emu.c (main): Call `grub_test_init' and
31507 `grub_test_fini'.
31508
31509 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31510
31511 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31512 to 0.
31513 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31514 there are no pending characters.
31515
31516 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31517
31518 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31519 `grub_strndup' to drop device arguments. Replace unnecessary
31520 `grub_strndup' with `grub_strdup'.
31521
31522 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31523
31524 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31525 `debug' environment variable has been set.
31526
31527 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31528
31529 * Makefile.in (install-local): Use $(DATA).
31530 (uninstall): Likewise.
31531 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31532 (sbin_UTILITIES): ... to here.
31533 (sbin_SCRIPTS): New variable.
31534 (grub_install_SOURCES): New variable.
31535 * util/powerpc/ieee1275/grub-install.in: New file.
31536 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31537 variable.
31538 (add_segments): Call `grub_util_get_path'.
31539
31540 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31541
31542 From Timothy Baldwin:
31543 * commands/ls.c (grub_ls_list_files): Close FILE with
31544 grub_file_close.
31545 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31546
31547 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31548
31549 * include/grub/parser.h: New file.
31550
31551 * kern/parser.c: Likewise.
31552
31553 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31554 (grub_setup_SOURCES): Likewise.
31555 (grub_probefs_SOURCES): Likewise.
31556 (grub_emu_SOURCES): Likewise.
31557 (kernel_img_HEADERS): Add `parser.h'.
31558
31559 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31560 (grub_emu_SOURCES): Add `kern/parser.c'.
31561 (grubof_SOURCES): Likewise.
31562
31563 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31564 (grubof_SOURCES): Add `kern/parser.c'.
31565
31566 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31567
31568 * kern/misc.c (grub_split_cmdline): Removed function.
31569
31570 * kern/rescue.c: Include <grub/parser.h>.
31571 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31572 of `grub_split_cmdline'.
31573
31574 * normal/command.c: Include <grub/parser.h>.
31575 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31576 of `grub_split_cmdline'.
31577
31578 * normal/completion.c: Include <grub/parser.h>.
31579 (cmdline_state): New variable.
31580 (iterate_dir): End the filename with a quote depending on the
31581 command line state.
31582 (get_state): new function.
31583 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31584 split the arguments and determine the current argument. When the
31585 argument string is not quoted, escape all spaces.
31586
31587 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31588
31589 * normal/sparc64/setjmp.S: New file.
31590
31591 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31592
31593 * include/grub/sparc64/libgcc.h: New file.
31594 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31595 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31596 normal/sparc64/setjmp.c.
31597
31598 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31599
31600 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31601 * kern/sparc64/cache.S: New file.
31602 * kern/sparc64/cache.c: Removed.
31603 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31604 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31605 -mtune=ultrasparc.
31606 (COMMON_LDFLAGS): Add -melf64_sparc.
31607 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31608 (grubof_SOURCES): Use cache.S instead of cache.c.
31609 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31610 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31611 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31612 commented though.
31613 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31614 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31615 (linux_mod_CFLAGS): Commented out.
31616 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31617 out because module isn't built.
31618 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31619 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31620 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31621 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31622 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31623 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31624 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31625 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31626 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31627 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31628 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31629 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31630 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31631 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31632
31633 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31634
31635 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31636 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31637 longer, because HFS should not be used on PC.
31638
31639 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31640
31641 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31642 consistently within the loop.
31643
31644 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31645
31646 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31647 directory can not be read.
31648
31649 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31650
31651 * configure.ac (AC_INIT): Increase the version number to 1.91.
31652
31653 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31654 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31655 term/i386/pc/serial.c.
31656
31657 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31658
31659 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31660 file size must be permitted.
31661
31662 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31663 between %ah and %al.
31664
31665 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31666
31667 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31668 grub_uint64_t.
31669 Call the hook with a NUL-terminated filename.
31670 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31671 grub_cpu_to_be32.
31672
31673 * kern/term.c (cursor_state): New variable.
31674 (grub_term_set_current): Reset the cursor state on a new
31675 terminal.
31676 (grub_setcursor): Rewritten to use CURSOR_STATE.
31677 (grub_getcursor): New function.
31678
31679 * include/grub/term.h (grub_getcursor): New prototype.
31680
31681 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31682 integers on ARM. Reported by Timothy Baldwin
31683 <T.E.Baldwin99@members.leeds.ac.uk>.
31684
31685 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31686
31687 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31688 allocated.
31689 (grub_sfs_dir): Likewise.
31690
31691 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31692
31693 Add support for the SFS filesystem.
31694
31695 * fs/sfs.c: New file.
31696
31697 * DISTLIST: Added `fs/sfs.c'.
31698
31699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31700 (grub_probefs_SOURCES): Likewise.
31701 (grub_emu_SOURCES): Likewise.
31702 (pkgdata_MODULES): Add `sfs.mod'.
31703 (sfs_mod_SOURCES): New variable.
31704 (sfs_mod_CFLAGS): Likewise.
31705 (sfs_mod_LDFLAGS): Likewise.
31706
31707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31708 (pkgdata_MODULES): Add `sfs.mod'.
31709 (sfs_mod_SOURCES): New variable.
31710 (sfs_mod_CFLAGS): Likewise.
31711
31712 * util/grub-emu.c (main): Call `grub_sfs_init' and
31713 `grub_sfs_fini'.
31714
31715 * include/grub/fs.h (grub_sfs_init): New prototype.
31716 (grub_sfs_fini): Likewise.
31717
31718 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31719
31720 Add support for the AFFS filesystem.
31721
31722 * fs/affs.c: New file.
31723
31724 * DISTLIST: Added `fs/affs.c'.
31725
31726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31727 (grub_probefs_SOURCES): Likewise.
31728 (grub_emu_SOURCES): Likewise.
31729 (pkgdata_MODULES): Add `affs.mod'.
31730 (affs_mod_SOURCES): New variable.
31731 (affs_mod_CFLAGS): Likewise.
31732 (affs_mod_LDFLAGS): Likewise.
31733
31734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31735 (pkgdata_MODULES): Add `affs.mod'.
31736 (affs_mod_SOURCES): New variable.
31737 (affs_mod_CFLAGS): Likewise.
31738
31739 * util/grub-emu.c (main): Call `grub_affs_init' and
31740 `grub_affs_fini'.
31741
31742 * include/grub/fs.h (grub_affs_init): New prototype.
31743 (grub_affs_fini): Likewise.
31744
31745 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31746
31747 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31748
31749 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31750
31751 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31752 `-m32' to CFLAGS.
31753
31754 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31755 linking.
31756
31757 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31758 (COMMON_LDFLAGS): New variable.
31759 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31760 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31761 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31762 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31763 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31764 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31765 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31766 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31767 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31768 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31769 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31770 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31771 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31772 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31773 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31774 variables.
31775 (normal_mod_ASFLAGS): Add `-m32'.
31776
31777 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31778 (grub_host_size_t, grub_host_ssize_t): New types.
31779 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31780 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31781 `GRUB_HOST_SIZEOF_VOID_P'.
31782
31783 * include/grub/kernel.h (struct grub_module_header): Type of
31784 member offset changed to `grub_host_off_t'. Type of member size
31785 changed to `grub_host_size_t'.
31786 (struct grub_module_info): Type of member offset changed to
31787 `grub_host_off_t'. Type of member size changed to
31788 `grub_host_size_t'.
31789
31790 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31791
31792 Make GRUB's kernel compliant to Multiboot Specification.
31793
31794 * kern/i386/pc/startup.S (multiboot_header): New label.
31795 (multiboot_entry): Likewise.
31796 (multiboot_trampoline): Likewise.
31797
31798 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31799 Increased to 0x4A0.
31800
31801 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31802 put parentheses after a question mark.
31803 [!GRUB_UTIL] (my_mod): New variable.
31804
31805 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31806
31807 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31808
31809 Adds support for the XFS filesystem. Btrees are not supported
31810 yet.
31811
31812 * fs/xfs.c: New file.
31813
31814 * DISTLIST: Added `fs/xfs.c'.
31815
31816 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31817 (grub_probefs_SOURCES): Likewise.
31818 (grub_emu_SOURCES): Likewise.
31819 (pkgdata_MODULES): Add `xfs.mod'.
31820 (xfs_mod_SOURCES): New variable.
31821 (xfs_mod_CFLAGS): Likewise.
31822
31823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31824 (pkgdata_MODULES): Add `xfs.mod'.
31825 (xfs_mod_SOURCES): New variable.
31826 (xfs_mod_CFLAGS): Likewise.
31827
31828 * util/grub-emu.c (main): Call `grub_xfs_init' and
31829 `grub_xfs_fini'.
31830
31831 * include/grub/fs.h (grub_xfs_init): New prototype.
31832 (grub_xfs_fini): Likewise.
31833
31834
31835 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31836
31837 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31838 color modes, allow greater than 16 colors to be configured as
31839 a default palette.
31840
31841 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31842
31843 * normal/completion.c (complete_arguments): Add the qualifier
31844 const into OPTIONS.
31845
31846 From Omniflux <omniflux+lists@omniflux.com>:
31847 * include/grub/terminfo.h: New file.
31848 * include/grub/tparm.h: Likewise.
31849 * include/grub/i386/pc/serial.h: Likewise.
31850 * term/terminfo.c: Likewise.
31851 * term/tparm.c: Likewise.
31852 * term/i386/pc/serial.c: Likewise.
31853 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31854 serial.mod.
31855 (terminfo_mod_SOURCES): New variable.
31856 (terminfo_mod_CFLAGS): Likewise.
31857 (serial_mod_SOURCES): Likewise.
31858 (serial_mod_CFLAGS): Likewise.
31859
31860 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31861
31862 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31863 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31864 and kern/powerpc/ieee1275/cmain.c, respectively.
31865
31866 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31867 * kern/powerpc/ieee1275/crt0.S: ... here.
31868
31869 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31870 * kern/powerpc/ieee1275/cmain.c: ... here.
31871
31872 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31873 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31874 instead of boot/powerpc/ieee1275/crt0.S and
31875 boot/powerpc/ieee1275/cmain.c, respectively.
31876
31877 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31878 sectors. It was not used anyway.
31879
31880 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31881
31882 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31883 `unused parameter' warning.
31884
31885 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31886
31887 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31888 function.
31889 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31890 getcharwidth.
31891
31892 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31893
31894 * include/grub/normal.h (enum grub_completion_type): Added
31895 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31896
31897 * normal/cmdline.c (print_completion): Handle
31898 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31899 * normal/menu_entry.c (store_completion): Likewise.
31900
31901 * normal/completion.c (complete_arguments): New function.
31902 (grub_normal_do_completion): Call `complete_arguments' when the
31903 current words start with a dash.
31904
31905 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31906
31907 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31908 `gzio.mod' instead of `io.mod').
31909
31910 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31911
31912 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31913 (DISTDIRS): Added io and video.
31914 Rewrite the search routine to make an output consistently.
31915
31916 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31917 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31918 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31919 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31920 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31921 util/powerpc/ieee1275/misc.c.
31922
31923 * include/grub/gzio.h: New file.
31924 * io/gzio.c: Likewise.
31925
31926 * kern/file.c (grub_file_close): Call grub_device_close only if
31927 FILE->DEVICE is not NULL.
31928
31929 * include/grub/mm.h [!NULL] (NULL): New macro.
31930
31931 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31932
31933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31934 (pkgdata_MODULES): Added gzio.mod.
31935 (gzio_mod_SOURCES): New variable.
31936 (gzio_mod_CFLAGS): Likewise.
31937
31938 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31939 (pkgdata_MODULES): Added gzio.mod.
31940 (gzio_mod_SOURCES): New variable.
31941 (gzio_mod_CFLAGS): Likewise.
31942
31943 * commands/cat.c: Include grub/gzio.h.
31944 (grub_cmd_cat): Use grub_gzfile_open instead of
31945 grub_file_open.
31946
31947 * commands/cmp.c: Include grub/gzio.h.
31948 (grub_cmd_cmp): Use grub_gzfile_open instead of
31949 grub_file_open.
31950
31951 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31952 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31953 grub_file_open.
31954 (grub_rescue_cmd_module): Likewise.
31955
31956 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31957
31958 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31959 kern/sparc64/ieee1275/init.c because it contains _start.
31960 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31961
31962 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31963
31964 * configure.ac: Add support for sparc64 host with ieee1275
31965 firmware.
31966 * configure: Generated from configure.ac.
31967 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31968 instead of int.
31969 (grub_ofdisk_read): Likewise.
31970 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31971 pointers as (void *) to remove a warning.
31972 (grub_ofdisk_close): Likewise.
31973 (grub_ofdisk_read): Likewise.
31974 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31975 returns, so make it return void to remove a warning.
31976 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31977 Corresponding prototype change.
31978 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31979 values, and cast the pointers as (void *) to remove a warning.
31980 (grub_mm_dump): Likewise.
31981 * conf/sparc64-ieee1275.mk: New file.
31982 * conf/sparc64-ieee1275.rmk: Likewise.
31983 * include/grub/sparc64/setjmp.h: Likewise.
31984 * include/grub/sparc64/types.h: Likewise.
31985 * include/grub/sparc64/ieee1275/console.h: Likewise.
31986 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31987 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31988 * include/grub/sparc64/ieee1275/time.h: Likewise.
31989 * kern/sparc64/cache.c: Likewise.
31990 * kern/sparc64/dl.c: Likewise.
31991 * kern/sparc64/ieee1275/init.c: Likewise.
31992 * kern/sparc64/ieee1275/openfw.c: Likewise.
31993
31994 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31995
31996 * util/console.c (grub_ncurses_putchar): If C is greater than
31997 0x7f, set C to a question mark.
31998 (grub_ncurses_getcharwidth): New function.
31999 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
32000 getcharwidth.
32001
32002 * normal/menu.c (print_entry): Made aware of Unicode. First,
32003 convert TITLE to UCS-4, and predict the cursor position by
32004 grub_getcharwidth.
32005
32006 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
32007 const to SRC.
32008 * kern/misc.c (grub_utf16_to_utf8): Likewise.
32009
32010 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32011
32012 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
32013 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32014 grub_strcat.
32015
32016 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
32017 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32018 grub_strcpy and grub_strlen. Take it into account that a space
32019 character is inserted as a delimiter.
32020
32021 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32022
32023 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
32024 invalid magic in the error.
32025
32026 * commands/search.c: New file.
32027
32028 * util/grub-emu.c (main): Call grub_search_init and
32029 grub_search_fini.
32030
32031 * kern/rescue.c (grub_rescue_print_disks): Removed.
32032 (grub_rescue_print_devices): New function.
32033 (grub_rescue_cmd_ls): Use grub_device_iterate with
32034 grub_rescue_print_devices instead of grub_disk_dev_iterate with
32035 grub_rescue_print_disks.
32036
32037 * kern/partition.c (grub_partition_iterate): Return the result of
32038 PARTMAP->ITERATE instead of GRUB_ERRNO.
32039
32040 * kern/device.c: Include grub/partition.h.
32041 (grub_device_iterate): New function.
32042
32043 * include/grub/partition.h (grub_partition_iterate): Return int
32044 instead of grub_err_t.
32045
32046 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
32047 prototype.
32048 [GRUB_UTIL] (grub_search_fini): Likewise.
32049
32050 * include/grub/device.h (grub_device_iterate): New prototype.
32051
32052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32053 commands/search.c.
32054 (pkgdata_MODULES): Added search.mod.
32055 (search_mod_SOURCES): New variable.
32056 (search_mod_CFLAGS): Likewise.
32057
32058 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
32059 (pkgdata_MODULES): Added search.mod.
32060 (search_mod_SOURCES): New variable.
32061 (search_mod_CFLAGS): Likewise.
32062
32063 * commands/ls.c (grub_ls_list_disks): Renamed to ...
32064 (grub_ls_list_devices): ... this, and use grub_device_iterate.
32065 All callers changed.
32066
32067 * DISTLIST: Added commands/search.c.
32068
32069 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32070
32071 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
32072 conversion.
32073 (grub_getcharwidth): New function.
32074
32075 * kern/misc.c (grub_utf8_to_ucs4): New function.
32076
32077 * include/grub/term.h (struct grub_term): Added a new member
32078 "getcharwidth".
32079 (grub_getcharwidth): New prototype.
32080
32081 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
32082
32083 * term/i386/pc/console.c (map_char): New function. Segregated from
32084 grub_console_putchar.
32085 (grub_console_putchar): Use map_char.
32086 (grub_console_getcharwidth): New function.
32087 (grub_console_term): Specified grub_console_getcharwidth as
32088 getcharwidth.
32089
32090 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
32091 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
32092
32093 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
32094 GRUB_ERRNO.
32095 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
32096 on grub_strtoul completely.
32097 (write_char): Declare local variables in the beginning of the
32098 function.
32099 (grub_vesafb_getcharwidth): New function.
32100 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32101 getcharwidth.
32102
32103 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32104
32105 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32106 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32107 commands/i386/pc/vbetest.c.
32108
32109 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32110 call grub_vbe_get_controller_info again, because the returned
32111 information is volatile.
32112 (grub_vbe_set_video_mode): Mostly rewritten.
32113 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32114 grub_vbe_status_t correctly.
32115 (grub_vbe_get_video_mode_info): Likewise.
32116 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32117 several if statements.
32118
32119 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32120 * commands/i386/pc/vbeinfo.c: ... this.
32121
32122 * commands/i386/pc/vbe_test.c: Renamed to ...
32123 * commands/i386/pc/vbetest.c: ... this.
32124
32125 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32126 ...
32127 (grub_cmd_vbeinfo): ... this. Save video modes before
32128 iterating. Skip a video mode, if it is not available, not enough
32129 information is given or it is monochrome. Show the memory
32130 model. Leave the interpretation of MODEVAR to grub_strtoul
32131 completely.
32132 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32133 (GRUB_MOD_FINI): Likewise.
32134
32135 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32136 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32137 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32138 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32139 grub_strtoul completely.
32140 (real2pm): Removed.
32141 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32142 (GRUB_MOD_FINI): Likewise.
32143
32144 * normal/misc.c: Include grub/mm.h.
32145
32146 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32147 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32148 (vbe_list_modes_mod_SOURCES): Removed.
32149 (vbe_list_modes_mod_CFLAGS): Likewise.
32150 (vbe_test_mod_SOURCES): Likewise.
32151 (vbe_test_mod_CFLAGS): Likewise.
32152 (vbeinfo_mod_SOURCES): New variable.
32153 (vbeinfo_mod_CFLAGS): Likewise.
32154 (vbetest_mod_SOURCES): Likewise.
32155 (vbetest_mod_CFLAGS): Likewise.
32156
32157 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32158
32159 * normal/misc.c: New file.
32160
32161 * DISTLIST: Added normal/misc.c.
32162
32163 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32164 DISK to HOOK. Call HOOK with DISK.
32165 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32166 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32167 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32168
32169 * normal/menu_entry.c (struct screen): Added a new member
32170 "completion_shown".
32171 (completion_buffer): New global variable.
32172 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32173 (store_completion): New function.
32174 (complete): Likewise.
32175 (clear_completions): Likewise.
32176 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32177 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32178 a tab, call complete.
32179
32180 * normal/completion.c (disk_dev): Removed.
32181 (print_simple_completion): Likewise.
32182 (print_partition_completion): Likewise.
32183 (print_func): New global variable.
32184 (add_completion): Do not take the arguments WHAT or PRINT any
32185 longer. Added a new argument TYPE. Instead of printing directly,
32186 call PRINT_FUNC if not NULL.
32187 All callers changed.
32188 (complete_device): Use a local variable DEV instead of
32189 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32190 (grub_normal_do_completion): Take a new argument HOOK. Do not
32191 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32192 empty string, return NULL instead.
32193 All callers changed.
32194
32195 * normal/cmdline.c (print_completion): New function.
32196
32197 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32198 to HOOK.
32199 All callers changed.
32200
32201 * kern/disk.c (grub_print_partinfo): Removed.
32202
32203 * include/grub/partition.h (struct grub_partition_map): Add a new
32204 argument DISK into HOOK of ITERATE.
32205 (grub_partition_iterate): Add a new argument DISK to HOOK.
32206
32207 * include/grub/normal.h (enum grub_completion_type): New enum.
32208 (grub_completion_type_t): New type.
32209 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32210 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32211 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32212 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32213 (grub_normal_do_completion): Added a new argument HOOK.
32214 (grub_normal_print_device_info): New prototype.
32215
32216 * include/grub/disk.h (grub_print_partinfo): Removed.
32217
32218 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32219 (normal_mod_SOURCES): Likewise.
32220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32221 (normal_mod_SOURCES): Likewise.
32222
32223 * commands/ls.c (grub_ls_list_disks): Use
32224 grub_normal_print_device_info instead of grub_print_partinfo. Free
32225 PNAME.
32226 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32227 duplicating the code.
32228
32229 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32230
32231 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
32232 follow GCS more precisely.
32233 * commands/i386/pc/vbe_test.c: Likewise.
32234 * include/grub/i386/pc/vbe.h: Likewise.
32235 * term/i386/pc/vesafb.c: Likewise.
32236 * video/i386/pc/vbe.c: Likewise.
32237
32238 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32239
32240 * DISTLIST: Added term/i386/pc/vesafb.c
32241 DISTLIST: Added video/i386/pc/vbe.c
32242 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32243 DISTLIST: Added commands/i386/pc/vbe_test.c.
32244 * commands/i386/pc/vbe_list_modes.c: New file.
32245 * commands/i386/pc/vbe_test.c: Likewise.
32246 * term/i386/pc/vesafb.c: Likewise.
32247 * video/i386/pc/vbe.c: Likewise.
32248 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32249 (grub_vbe_probe) Added prototype.
32250 (grub_vbe_set_video_mode) Likewise.
32251 (grub_vbe_get_video_mode) Likewise.
32252 (grub_vbe_get_video_mode_info) Likewise.
32253 (grub_vbe_set_pixel_rgb) Likewise.
32254 (grub_vbe_set_pixel_index) Likewise.
32255 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32256 (pkgdata_MODULES): Added vesafb.mod.
32257 (pkgdata_MODULES): Added vbe_list_modes.mod.
32258 (pkgdata_MODULES): Added vbe_test.mod.
32259 (vbe_mod_SOURCES): Added.
32260 (vbe_mod_CFLAGS): Likewise.
32261 (vesafb_mod_SOURCES): Likewise.
32262 (vesafb_mod_CFLAGS): Likewise.
32263 (vbe_list_modes_mod_SOURCES): Likewise.
32264 (vbe_list_modes_mod_CFLAGS): Likewise.
32265 (vbe_test_mod_SOURCES): Likewise.
32266 (vbe_test_mod_CFLAGS): Likewise.
32267
32268 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32269
32270 * normal/command.c (grub_command_execute): If INTERACTIVE is
32271 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32272 CMDLINE. Disable the pager if INTERACTIVE is true.
32273 All callers are changed.
32274
32275 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32276 before reading a config file.
32277 * normal/main.c (read_config_file): Even if a command is not
32278 found, register it if it is within an entry.
32279
32280 * util/grub-emu.c: Include sys/types.h and unistd.h.
32281 (options): Added --hold.
32282 (struct arguments): Added a new member "hold".
32283 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32284 missing.
32285 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32286 cleared by a debugger, if it is not zero.
32287
32288 * include/grub/normal.h (grub_command_execute): Add an argument
32289 INTERACTIVE.
32290
32291 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32292
32293 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32294
32295 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32296
32297 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32298 program with another one, because the old one didn't detect a bug
32299 in gcc-3.4. Always use regparm 2, because the new test is still
32300 not enough for gcc-4.0. Someone must investigate a simple test
32301 case which detects a bug in gcc-4.0.
32302
32303 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32304
32305 * DISTLIST: Added normal/completion.c.
32306
32307 * normal/completion.c: New file.
32308
32309 * term/i386/pc/console.c (grub_console_getwh): New function.
32310 (grub_console_term): Assign grub_console_getwh to getwh.
32311
32312 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32313 function is defined in normal/completion.c as
32314 grub_normal_do_completion.
32315 (grub_cmdline_get): Use grub_normal_do_completion instead of
32316 grub_tab_complete.
32317
32318 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32319 returns non-zero, otherwise return 0.
32320 (grub_partition_iterate): First, probe the partition map. Then,
32321 call ITERATE only for this partition map.
32322
32323 * kern/misc.c (grub_strncmp): Rewritten.
32324
32325 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32326 returns non-zero. Otherwise return 0.
32327
32328 * include/grub/partition.h (grub_partition_map_iterate): Return
32329 int instead of void.
32330
32331 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32332
32333 * include/grub/misc.h (grub_strncmp): Change the type of N to
32334 grub_size_t.
32335
32336 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32337 of void.
32338
32339 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32340 unsigned explicitly before comparing it with I.
32341
32342 * kern/main.c (grub_env_write_root): Add the attribute unused into
32343 VAR.
32344
32345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32346 normal/completion.c.
32347 (normal_mod_SOURCES): Likewise.
32348 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32349 (normal_mod_SOURCES): Likewise.
32350
32351 * normal/command.c (grub_iterate_commands): If ITERATE returns
32352 non-zero, return one immediately.
32353
32354 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32355
32356 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32357 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32358 descriptions.
32359 (grub_vbe_get_controller_info): New function.
32360 (grub_vbe_get_mode_info): Likewise.
32361 (grub_vbe_set_mode): Likewise.
32362 (grub_vbe_get_mode): Likewise.
32363 (grub_vbe_set_memory_window): Likewise.
32364 (grub_vbe_get_memory_window): Likewise.
32365 (grub_vbe_set_scanline_length): Likewise.
32366 (grub_vbe_get_scanline_length): Likewise.
32367 (grub_vbe_set_display_start): Likewise.
32368 (grub_vbe_get_display_start): Likewise.
32369 (grub_vbe_set_palette_data): Likewise.
32370 * include/grub/i386/pc/vbe.h: New file.
32371
32372 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32373
32374 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32375 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32376 * DISTLIST: Likewise.
32377 * kern/ieee1275/of.c: Moved to ...
32378 * kern/ieee1275/ieee1275.c: ... here.
32379
32380 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32381
32382 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32383 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32384 Pass 0 as `end' parameter to grub_strtoul().
32385
32386 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32387
32388 * include/grub/powerpc/ieee1275/console.h: Do not include
32389 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32390 ifdef.
32391 (grub_console_cur_color): Remove i386-specific prototype.
32392 (grub_console_real_putchar): Likewise.
32393 (grub_console_checkkey): Likewise.
32394 (grub_console_getkey): Likewise.
32395 (grub_console_getxy): Likewise.
32396 (grub_console_gotoxy): Likewise.
32397 (grub_console_cls): Likewise.
32398 (grub_console_setcursor): Likewise.
32399 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32400 Include <grub/machine/console.h>.
32401 * term/ieee1275/ofconsole.c: Likewise.
32402
32403 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32404
32405 * Makefile.in (LIBLZO): New variable.
32406
32407 * configure.ac: Check for LZO version 2.
32408
32409 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32410 lzo/lzo1x.h instead of lzo1x.h.
32411
32412 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32413 of -llzo.
32414
32415 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32416 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32417
32418 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32419 copying the data from PARTITION to P.
32420
32421 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32422
32423 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32424 negative, unload the module.
32425
32426 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32427 map is "pc_partition_map" but not "pc".
32428 (usage): Fix the description. The options are --boot-image and
32429 --core-image but not --boot-file or --core-file.
32430 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32431 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32432 DEFAULT_DIRECTORY.
32433
32434 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32435 --core-file. Specify INSTALL_DEVICE as an argument.
32436
32437 * util/console.c: Include config.h.
32438 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32439 [HAVE_NCURSES_H]: Include ncurses.h.
32440 [HAVE_CURSES_H]: Include curses.h.
32441 [!A_NORMAL] (A_NORMAL): Defined as zero.
32442 [!A_STANDOUT] (A_STANDOUT): Likewise.
32443
32444 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32445 -lncurses.
32446 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32447
32448 * configure.ac: Check for curses libraries and headers.
32449
32450 * Makefile.in (LIBCURSES): New variable.
32451
32452 * genmk.rb (Script::rule): Set the executable bits.
32453
32454 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32455 name of the PC partition map is "pc_partition_map" but not "pc".
32456
32457 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32458
32459 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32460 (modules): Likewise.
32461 (usage): Added descriptions for --modules and --grub-probefs.
32462 Handle --modules and --grub-probefs. Save the arguments in MODULES
32463 and GRUB_PROBEFS, respectively.
32464 Auto-detect a filesystem module against GRUBDIR. If the result is
32465 empty and modules are not specified explicitly, abort the
32466 installation. Add the result to MODULES.
32467
32468 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32469 disk/powerpc/ieee1275/ofdisk.c,
32470 include/grub/powerpc/ieee1275/init.h and
32471 term/powerpc/ieee1275/ofconsole.c.
32472 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32473 term/ieee1275/ofconsole.c.
32474
32475 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32476
32477 * COPYING: Upgraded to the latest version. Only the address of the
32478 FSF office has changed.
32479
32480 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32481
32482 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32483 kern/ieee1275.c with kern/ieee1275/of.c.
32484
32485 * kern/ieee1275.c: Moved to ...
32486 * kern/ieee1275/of.c: ... here.
32487
32488 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32489
32490 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32491 readability.
32492
32493 * config.guess: Updated to the latest version from gnulib.
32494 * config.sub: Likewise.
32495 * install.sh: Likewise.
32496 * mkinstalldirs: Likewise.
32497
32498 * include/grub/console.h: Removed. This file is arch-specific. Do
32499 not put this in include/grub.
32500
32501 * include/grub/i386/pc/console.h: Resurrected.
32502
32503 * util/console.c: Include grub/machine/console.h instead of
32504 grub/console.h.
32505 * util/grub-emu.c: Likewise.
32506
32507 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32508
32509 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32510 hardcoded value.
32511
32512 From Vincent Pelletier <subdino2004@yahoo.fr>
32513 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32514 Redefined to use grub_getwh.
32515 (grub_term): New member named getwh.
32516 (grub_getwh): New prototype.
32517 * kern/term.c (grub_getwh): New function.
32518 * term/i386/pc/console.c (grub_console_getwh): New function.
32519 (grub_console_term): New member `getwh'.
32520 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32521 (grub_vga_term): New member `getwh'.
32522 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32523 grub_ssize_t.
32524 (grub_ofconsole_getw): New function.
32525 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32526 (grub_ofconsole_term): New field named getwh and new initial
32527 value.
32528
32529 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32530
32531 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32532 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32533 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32534 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32535 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32536 of <grub/machine/ieee1275.h>.
32537 * commands/ieee1275/reboot.c: Likewise.
32538 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32539 * kern/ieee1275.c: ... to here. All users updated. Change all
32540 parameter structs to use new type `grub_ieee1275_cell_t'.
32541 * term/powerpc/ieee1275/ofconsole.c: Move ...
32542 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32543 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32544 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32545 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32546 to return int.
32547 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32548 Remove unused prototypes. All users updated.
32549 * include/grub/powerpc/ieee1275/console.h: Removed.
32550 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32551 `grub_ieee1275_cell_t'.
32552 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32553 Cast comparisons with -1 to the correct type.
32554 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32555 type to match `grub_ieee1275_entry_fn'.
32556
32557 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32558
32559 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32560
32561 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32562 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32563 partmap/sun.c.
32564 (grub_probefs_SOURCES): New variable.
32565
32566 * util/i386/pc/grub-probefs.c: New file.
32567
32568 * util/i386/pc/grub-setup.c (main): Call
32569 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32570 grub_hfs_init and grub_jfs_init to initialize the system. Call
32571 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32572 grub_pc_partition_map_fini to finish the system.
32573
32574 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32575
32576 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32577 function.
32578 (grub_multiboot_load_elf32): Likewise.
32579 (grub_multiboot_is_elf64): Likewise.
32580 (grub_multiboot_load_elf64): Likewise.
32581 (grub_multiboot_load_elf): Likewise.
32582 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32583 an ELF32 or ELF64 file.
32584 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32585
32586 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32587 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32588 NULL before calling FS->LABEL.
32589 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32590 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32591 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32592 before calling FS->LABEL.
32593
32594 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32595
32596 * util/i386/pc/grub-install.in (datadir): New variable.
32597 (libdir): Removed.
32598 (pkgdatadir): New variable.
32599 (pkglibdir): Removed.
32600
32601 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32602
32603 * DISTLIST: Added util/i386/pc/grub-install.in.
32604
32605 * util/i386/pc/grub-install.in: New file.
32606
32607 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32608 (grub_install_SOURCES): Likewise.
32609
32610 * genmk.rb: Added support for scripts.
32611 (Script): New class.
32612 (scripts): New variable.
32613
32614 * Makefile.in (install-local): Install sbin_SCRIPTS by
32615 INSTALL_SCRIPT.
32616 (uninstall): Remove sbin_SCRIPTS.
32617
32618 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32619 device, try to get a GRUB device by
32620 grub_util_biosdisk_get_grub_dev.
32621 Free DEST_DEV.
32622
32623 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32624 description for --device-map.
32625
32626 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32627
32628 Change the semantics of variable hooks. They now return strings
32629 instead of error values.
32630
32631 * util/i386/pc/grub-setup.c: Include grub/env.h.
32632 (setup): Use grub_device_set_root instead of grub_env_set.
32633
32634 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32635 grub_env_get instead of grub_device_set_root and
32636 grub_device_get_root, respectively.
32637
32638 * kern/main.c (grub_env_write_root): New function.
32639 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32640 grub_env_set instead of grub_device_set_root.
32641
32642 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32643 many variables.
32644 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32645 rather than calling ENV->WRITE_HOOK afterwards.
32646 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32647 passing a pointer of a pointer.
32648 (grub_register_variable_hook): Change the types of "read_hook" and
32649 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32650 respectively.
32651 Allocate the default empty string on the heap, because this string
32652 may be freed later.
32653
32654 * kern/device.c: Include grub/env.h.
32655 (grub_device_set_root): Removed.
32656 (grub_device_get_root): Likewise.
32657 (grub_device_open): Use grub_env_get instead of
32658 grub_device_get_root.
32659
32660 * include/grub/env.h (grub_env_read_hook_t): New type.
32661 (grub_env_write_hook_t): Likewise.
32662 (grub_env_var): Change the types of "read_hook" and "write_hook"
32663 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32664 (grub_register_variable_hook): Likewise.
32665
32666 * include/grub/device.h (grub_device_set_root): Removed.
32667 (grub_device_set_root): Likewise.
32668
32669 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32670 make sure that DIRNAME terminates with '/', so that
32671 grub_fat_find_dir will fail if PATH is not a directory.
32672
32673 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32674 from DIRNAME.
32675 Use the qualifier auto for print_files and print_files_long.
32676 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32677 as a regular file.
32678 Put a newline only if there is no error.
32679 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32680 used.
32681
32682 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32683
32684 * kern/partition.c (grub_partition_probe): Initialize PART to
32685 NULL. Otherwise, when no partition map is registered, this returns
32686 a garbage.
32687
32688 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32689
32690 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32691 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32692 valid.
32693
32694 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32695
32696 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32697 information on each device, if it does not have partitions. Print
32698 "Device" instead of "Disk", because this function is not specific
32699 to disk devices.
32700
32701 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32702 static to ensure that it is put on the memory rather than a
32703 register.
32704
32705 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32706
32707 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32708 (grub_cat_init): Likewise.
32709 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32710 (options): Likewise.
32711 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32712 (grub_configfile_init): Likewise.
32713 * font/manager.c (GRUB_MOD_INIT): Likewise.
32714 * commands/help.c (GRUB_MOD_INIT): Likewise.
32715 (grub_help_init): Likewise.
32716 * normal/command.c (grub_command_init): Likewise.
32717 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32718 * disk/loopback.c (grub_loop_init): Likewise.
32719 (GRUB_MOD_INIT): Likewise.
32720 * commands/ls.c (grub_ls_init): Likewise.
32721 (GRUB_MOD_INIT): Likewise.
32722 (options): Likewise.
32723 * commands/boot.c (grub_boot_init): Likewise.
32724 (GRUB_MOD_INIT): Likewise.
32725 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32726 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32727 (GRUB_MOD_INIT): Likewise.
32728 * commands/cmp.c (grub_cmp_init): Likewise.
32729 (GRUB_MOD_INIT): Likewise.
32730
32731 * normal/arg.c: Use <> instead of "" to include header files.
32732 (SHORT_ARG_HELP): New macro.
32733 (SHORT_ARG_USAGE): Likewise.
32734 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32735 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32736 descriptions.
32737 (find_short): Check if C is 'h' or 'u' explicitly.
32738 (grub_arg_show_help): Use space characters instead of tabs. Treat
32739 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32740 are shown with --help and --usage only if they are not used for
32741 the command itself.
32742 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32743 'h' and 'u'.
32744
32745 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32746 const into "longarg". Change the type of "shortarg" to int.
32747
32748 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32749
32750 * boot/i386/pc/boot.S (boot_drive_check): New label.
32751
32752 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32753 macro.
32754
32755 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32756 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32757
32758 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32759
32760 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32761 When turning off Gate A20, skip the check and return immediately,
32762 because this is not fatal usually.
32763
32764 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32765
32766 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32767 be 0x7C00 instead of 0x8000.
32768
32769 * boot/i386/pc/pxeboot.S: Rewritten.
32770
32771 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32772 EXT_C.
32773 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32774 result.
32775
32776 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32777
32778 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32779 robustness. This routine now supports a BIOS call and System
32780 Control Port A to modify the gate A20.
32781
32782 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32783 Increased to 0x440.
32784
32785 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32786
32787 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32788 device path and resulting ihandle.
32789 (grub_ofdisk_close): dprintf the ihandle being closed.
32790 (grub_ofdisk_read): dprintf function parameters.
32791 * kern/mm.c (grub_mm_init_region): Likewise.
32792 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32793 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32794 size, and boot arguments.
32795 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32796 before loading into memory.
32797 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32798 before loading into memory.
32799
32800 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32801
32802 * kern/mm.c: Added much documentation.
32803 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32804 8, set to 5 instead of 8.
32805
32806 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32807
32808 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32809
32810 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32811 (grub_mkdevicemap_SOURCES): New variable.
32812
32813 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32814 lib/device.c of GRUB Legacy.
32815
32816 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32817
32818 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32819 instead of PATH is NULL.
32820
32821 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32822
32823 * commands/cmp.c (BUFFER_SIZE): New macro.
32824 (grub_cmd_cmp): Close the right file at the right time. Compare
32825 only data just read. Don't report files of different size as
32826 identical. Dynamically allocate buffers. Move variable
32827 declarations at the beginning of function.
32828
32829 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32830
32831 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32832 reverse.
32833
32834 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32835
32836 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32837 when backspace is pressed at beginning of line.
32838
32839 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32840
32841 * DISTLIST: Added genfslist.sh.
32842
32843 * normal/main.c (fs_module_list): New variable.
32844 (autoload_fs_module): New function.
32845 (read_fs_list): Likewise.
32846 (grub_normal_execute): Call read_fs_list.
32847
32848 * kern/fs.c (grub_fs_autoload_hook): New variable.
32849 (grub_fs_probe): Added support for auto-loading.
32850
32851 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32852 (grub_fs_module_list_t): New type.
32853
32854 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32855 (grub_fs_autoload_hook): New prototype.
32856
32857 * genfslist.sh: New file.
32858
32859 * genmk.rb: Added a rule to generate a filesystem list.
32860
32861 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32862
32863 * configure.ac: Fix the test for cross-compiling.
32864
32865 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32866 define GRUB_UTIL anymore.
32867
32868 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32869 so this function works on other systems than just big endian.
32870 (load_modules): Likewise.
32871 (add_segments): Likewise.
32872
32873 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32874
32875 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32876 contains `l' modifier, get a long from va_arg().
32877
32878 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32879
32880 * kern/mm.c (grub_free): If the next free block which is being
32881 merged is the first free block, set the first block to the block
32882 being freed.
32883 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32884
32885 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32886
32887 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32888 `grub_ieee1275_chosen'.
32889
32890 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32891
32892 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32893 (grub_ieee1275_chosen): New variable.
32894 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32895 `chosen'.
32896 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32897 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32898 Rename first argument to `phandle' for consistency.
32899 (grub_ieee1275_get_property_length): Likewise.
32900 (grub_ieee1275_next_property): Likewise. Change type of first argument
32901 to grub_ieee1275_phandle_t.
32902 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32903 Move export next to declaration.
32904 (grub_ieee1275_chosen): New variable.
32905 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32906 Correct cosmetic typo.
32907 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32908 `grub_ieee1275_chosen'.
32909 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32910 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32911 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32912 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32913 `grub_ieee1275_chosen'.
32914
32915 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32916
32917 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32918 /chosen/bootargs.
32919 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32920 /chosen/bootargs as "variable=value" pairs.
32921
32922 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32923
32924 * include/grub/misc.h (grub_dprintf): New macro.
32925 (grub_real_dprintf): New prototype.
32926 (grub_strword): Likewise.
32927 (grub_iswordseparator): Likewise.
32928 * kern/misc.c (grub_real_dprintf): New function.
32929 (grub_strword): Likewise.
32930 (grub_iswordseparator): Likewise.
32931
32932 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32933
32934 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32935 (roundup): Remove macro.
32936 (grub_ieee1275_flags): Make static.
32937 (grub_ieee1275_realmode): Remove.
32938 (grub_ieee1275_test_flag): New function.
32939 (grub_ieee1275_set_flag): Likewise.
32940 (find_options): Rename to `grub_ieee1275_find_options'; update
32941 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32942 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32943 (cmain): New prototype.
32944 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32945 `grub_ieee1275_flags' directly.
32946 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32947 machine/biosdisk.h.
32948 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32949 Don't include grub/machine/init.h.
32950 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32951 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32952 Remove prototype.
32953 (grub_ieee1275_realmode): Likewise.
32954 (grub_ieee1275_flag): New enum.
32955 (grub_ieee1275_test_flag): New prototype.
32956 (grub_ieee1275_set_flag): New prototype.
32957 * include/grub/powerpc/ieee1275/init.h: Remove file.
32958 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32959 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32960 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32961 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32962 comment.
32963 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32964 `grub_ieee1275_test_flag'.
32965 (grub_ieee1275_encode_devname): Likewise.
32966
32967 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32968
32969 * include/grub/powerpc/ieee1275/ieee1275.h
32970 (grub_ieee1275_encode_devname): New prototype.
32971 (grub_ieee1275_get_filename): Likewise.
32972 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32973 function.
32974 (grub_set_prefix): Likewise.
32975 (grub_machine_init): Call grub_set_prefix.
32976 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32977 (grub_parse_type): New enum.
32978 (grub_ieee1275_get_devargs): New function.
32979 (grub_ieee1275_get_devname): Likewise.
32980 (grub_ieee1275_parse_args): Likewise.
32981 (grub_ieee1275_get_filename): Likewise.
32982 (grub_ieee1275_encode_devname): Likewise.
32983
32984 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32985
32986 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32987 `grub_loader_unset'.
32988
32989 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32990
32991 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32992 instead of grub_ieee1275_interpret.
32993 (grub_halt_init): New function.
32994 (grub_halt_fini): Likewise.
32995 (GRUB_MOD_INIT): Correct message grammar.
32996 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32997 instead of grub_ieee1275_interpret.
32998 (grub_reboot_init): New function.
32999 (grub_reboot_fini): Likewise.
33000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
33001 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
33002 util/i386/pc/misc.c with commands/ieee1275/halt.c,
33003 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
33004 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
33005 function.
33006 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
33007 Add prototype.
33008 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
33009 prototype.
33010 (grub_halt): Likewise.
33011 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
33012 (cmain): Remove __attribute__((unused)).
33013 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
33014 (grub_heap_len): Likewise.
33015 (grub_machine_fini): New function.
33016 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
33017 (grub_halt): Likewise.
33018 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
33019 function.
33020 * util/powerpc/ieee1275/misc.c: New file.
33021
33022 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33023
33024 * DISTLIST: New file.
33025 * gendistlist.sh: Likewise.
33026
33027 * Makefile.in (COMMON_DISTFILES): Removed.
33028 (BOOT_DISTFILES): Likewise.
33029 (CONF_DISTFILES): Likewise.
33030 (DISK_DISTFILES): Likewise.
33031 (FS_DISTFILES): Likewise.
33032 (INCLUDE_DISTFILES): Likewise.
33033 (KERN_DISTFILES): Likewise.
33034 (LOADER_DISTFILES): Likewise.
33035 (TERM_DISTFILES): Likewise.
33036 (UTIL_DISTFILES): Likewise.
33037 (DISTFILES): Likewise.
33038 (uninstall): Uninstall files in $(pkgdata_DATA).
33039 (DISTLIST): New target.
33040 (distdir): Use the contents of the file DISTLIST to get a list of
33041 distributed files.
33042
33043 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33044
33045 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
33046 descriptor. This is ported from GRUB Legacy.
33047
33048 * gencmdlist.sh: Added an extra semicolon to make it work with
33049 old sed versions. Reported by Robert Bihlmeyer
33050 <robbe@orcus.priv.at>.
33051
33052 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
33053
33054 Automatic loading of commands is supported.
33055
33056 * normal/main.c (read_command_list): New function.
33057 (grub_normal_execute): Call read_command_list.
33058
33059 * normal/command.c (grub_register_command): Return zero or CMD.
33060 Allocate CMD->NAME from the heap.
33061 Initialize CMD->MODULE_NAME to zero.
33062 Find the same name as well. If the same command is found and it is
33063 a dummy command, overwrite members. If it is not a dummy command,
33064 return zero.
33065 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
33066 (grub_command_find): If a dummy command is found, load a module
33067 and retry to find a command only once.
33068
33069 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
33070 make sure that each command is loaded.
33071
33072 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
33073 macro.
33074 (struct grub_command): Remove const from the member `name'.
33075 Add a new member `module_name'.
33076 (grub_register_command): Return grub_command_t.
33077
33078 * commands/help.c (grub_cmd_help): Call grub_command_find to make
33079 sure that each command is loaded.
33080
33081 * genmk.rb (PModule::rule): Specify a module name without the
33082 suffix ".mod" to gencmdlist.sh.
33083
33084 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33085
33086 * gencmdlist.sh: New file.
33087
33088 * genmk.rb (PModule::rule): Generate a rule for a command list.
33089 Clean command.lst.
33090 Generate command.lst from $(COMMANDFILES).
33091
33092 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
33093 (DATA): Added $(pkgdata_DATA).
33094 (install-local): Install files in $(pkgdata_DATA).
33095
33096 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33097
33098 * term/i386/pc/vga.c (debug_command): Removed.
33099 (GRUB_MOD_INIT): Do not register the command "debug".
33100
33101 From Hollis Blanchard:
33102 * commands/configfile.c: New file.
33103 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33104 commands/configfile.c.
33105 (pkgdata_MODULES): Added configfile.mod.
33106 (configfile_mod_SOURCES): New variable.
33107 (configfile_mod_CFLAGS): Likewise.
33108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33109 commands/configfile.c.
33110 (pkgdata_MODULES): Added configfile.mod.
33111 (configfile_mod_SOURCES): New variable.
33112 (configfile_mod_CFLAGS): Likewise.
33113 * util/grub-emu.c (main): Call grub_configfile_init and
33114 grub_configfile_fini.
33115 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33116 prototype.
33117 [GRUB_UTIL] (grub_configfile_fini): Likewise.
33118
33119 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33120
33121 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33122 address.
33123
33124 * commands/help.c (grub_cmd_help): Do not print newlines after
33125 the last command in print_command_help.
33126
33127 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33128
33129 * commands/default.h: New file.
33130 * commands/timeout.h: Likewise.
33131 * normal/context.c: Likewise.
33132
33133 * util/misc.c: Do not include sys/times.h.
33134 Include sys/time.h and grub/machine/time.h.
33135 (grub_get_rtc): Rewritten with gettimeofday.
33136
33137 * util/grub-emu.c (main): Call grub_default_init and
33138 grub_timeout_init before grub_normal_init, and call
33139 grub_timeout_fini and grub_default_fini after grub_main.
33140
33141 * util/console.c (grub_ncurses_checkkey): Return the read
33142 character or -1.
33143
33144 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33145 timeouts.
33146
33147 * normal/main.c (read_config_file): Push MENU. If this fails,
33148 print an error and wait for a user input.
33149 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33150 If a menu is empty or an error occurs, pop MENU.
33151 (grub_normal_execute): Pop and free MENU after grub_menu_run
33152 returns.
33153
33154 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33155
33156 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33157 include time.h.
33158 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33159 without GRUB_UTIL.
33160 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33161 time.h.
33162 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33163 without GRUB_UTIL.
33164
33165 * include/grub/normal.h (struct grub_menu_list): New struct.
33166 (grub_menu_list_t): New type.
33167 (struct grub_context): New struct.
33168 (grub_context_t): New type.
33169 (grub_register_command): Got rid of EXPORT_FUNC.
33170 (grub_unregister_command): Likewise.
33171 (grub_context_get): New prototype.
33172 (grub_context_get_current_menu): Likewise.
33173 (grub_context_push_menu): Likewise.
33174 (grub_context_pop_menu): Likewise.
33175 [GRUB_UTIL] (grub_default_init): Likewise.
33176 [GRUB_UTIL] (grub_default_fini): Likewise.
33177 [GRUB_UTIL] (grub_timeout_init): Likewise.
33178 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33179
33180 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33181 commands/timeout.c and normal/context.c.
33182 (pkgdata_MODULES): Added default.mod and timeout.mod.
33183 (normal_mod_SOURCES): Added normal/context.c.
33184 (default_mod_SOURCES): New variable.
33185 (default_mod_CFLAGS): Likewise.
33186 (timeout_mod_SOURCES): Likewise.
33187 (timeout_mod_CFLAGS): Likewise.
33188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33189 conf/i386-pc.rmk.
33190 (pkgdata_MODULES): Added default.mod and timeout.mod.
33191 (normal_mod_SOURCES): Added normal/context.c.
33192 (default_mod_SOURCES): New variable.
33193 (default_mod_CFLAGS): Likewise.
33194 (timeout_mod_SOURCES): Likewise.
33195 (timeout_mod_CFLAGS): Likewise.
33196
33197 * Makefile.in (all-local): Added $(MKFILES).
33198
33199 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33200
33201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33202 (grub_emu_SOURCES): Likewise.
33203 (pkgdata_MODULES): Add `sun.mod'.
33204 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33206 `partmap/sun.c'.
33207 (pkgdata_MODULES): Add `sun.mod'.
33208 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33209 * include/grub/partition.h (grub_sun_partition_map_init): New
33210 prototype.
33211 (grub_sun_partition_map_fini): Likewise.
33212 * partmap/sun.c: New file.
33213 * util/grub-emu.c (main): Initialize and de-initialize the sun
33214 partitionmap support.
33215
33216 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33217
33218 This implements an Emacs-like menu entry editor.
33219
33220 * normal/menu_entry.c: New file.
33221
33222 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33223 characters to ASCII.
33224 (saved_char): New variable.
33225 (grub_ncurses_checkkey): Rewritten completely.
33226 (grub_ncurses_getkey): Likewise.
33227 (grub_ncurses_init): Call raw instead of cbreak.
33228
33229 * normal/menu.c (print_entry): Do not put a space.
33230 (init_page): Renamed to ...
33231 (grub_menu_init_page): ... this. All callers changed.
33232 (edit_menu_entry): Removed.
33233 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33234
33235 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33236
33237 * kern/misc.c (grub_vprintf): Call grub_refresh.
33238
33239 * normal/menu.c (DISP_LEFT): Renamed to ...
33240 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33241 * normal/menu.c (DISP_UP): Renamed to ...
33242 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33243 * normal/menu.c (DISP_RIGHT): Renamed to ...
33244 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33245 * normal/menu.c (DISP_DOWN): Renamed to ...
33246 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33247 * normal/menu.c (DISP_HLINE): Renamed to ...
33248 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33249 * normal/menu.c (DISP_VLINE): Renamed to ...
33250 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33251 * normal/menu.c (DISP_UL): Renamed to ...
33252 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33253 * normal/menu.c (DISP_UR): Renamed to ...
33254 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33255 * normal/menu.c (DISP_LL): Renamed to ...
33256 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33257 * normal/menu.c (DISP_LR): Renamed to ...
33258 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33259 * normal/menu.c (TERM_WIDTH): Renamed to ...
33260 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33261 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33262 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33263 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33264 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33265 * normal/menu.c (TERM_MARGIN): Renamed to ...
33266 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33267 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33268 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33269 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33270 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33271 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33272 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33273 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33274 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33275 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33276 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33277 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33278 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33279 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33280 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33281 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33282 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33283 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33284 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33285 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33286 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33287 All callers changed.
33288
33289 * include/grub/normal.h: New prototype.
33290
33291 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33292 normal/menu_entry.c.
33293 (normal_mod_SOURCES): Likewise.
33294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33295 (normal_mod_SOURCES): Likewise.
33296
33297 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33298
33299 * include/grub/normal.h (grub_halt_init): New prototype.
33300 (grub_halt_fini): Likewise.
33301 (grub_reboot_init): Likewise.
33302 (grub_reboot_fini): Likewise.
33303
33304 * util/grub-emu.c: Include signal.h.
33305 (main_env): New global variable.
33306 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33307 catch C-c.
33308 (grub_machine_fini): New function.
33309 (main): Call grub_halt_init and grub_reboot_init before
33310 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33311 Call setjmp with MAIN_ENV to go back afterwards.
33312 Call grub_machine_fini right before return.
33313
33314 * include/grub/util/misc.h: Include setjmp.h.
33315 (main_env): New prototype.
33316
33317 * include/grub/kernel.h (grub_machine_fini): New prototype.
33318 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33319 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33320
33321 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33322 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33323 * term/i386/pc/console.c (grub_console_fini): Likewise.
33324
33325 * util/i386/pc/misc.c: New file.
33326
33327 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33328 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33329 commands/i386/pc/reboot.c.
33330
33331 2005-02-14 Guillem Jover <guillem@hadrons.org>
33332
33333 * include/grub/dl.h (grub_dl_check_header): New prototype.
33334 (grub_arch_dl_check_header): Change return type to grub_err_t,
33335 remove size parameter and export function. Update all callers.
33336 * kern/dl.c (grub_dl_check_header): New function.
33337 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33338 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33339 are inside the core.
33340 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33341 independent ELF header checks.
33342 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33343 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33344 `grub_dl_check_header' instead of explicit checks. Check for the
33345 ELF type.
33346 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33347 `grub_dl_check_header' instead of explicit checks. Remove arch
33348 specific ELF header checks.
33349
33350 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33351 argument SIZE.
33352
33353 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33354
33355 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33356 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33357
33358 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33359
33360 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33361 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33362 (part_map_iterate): Clear `grub_errno' and return 0 if
33363 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33364 * partmap/amiga.c (amiga_partition_map_iterate): Return
33365 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33366 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33367
33368 2005-02-01 Guillem Jover <guillem@hadrons.org>
33369
33370 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33371 help info.
33372
33373 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33374
33375 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33376 Removed prototype.
33377 (grub_rescue_cmd_linux): New prototype.
33378 (grub_rescue_cmd_initrd): Likewise.
33379 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33380 `bi_rec'.
33381 (grub_linux_release_mem): Release the memory for the initrd.
33382 (grub_load_linux): Renamed from this...
33383 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33384 Changed `entry' not to be static. Loop over memory regions to
33385 find another one when the default fails.
33386 (grub_rescue_cmd_initrd): New function.
33387 (grub_linux_init): Remove function.
33388 (grub_linux_fini): Likewise.
33389 (GRUB_MOD_INIT): Register `initrd'.
33390 (GRUB_MOD_FINI): Unregister `initrd'.
33391 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33392 Function removed.
33393 (grub_linux_normal_fini): Likewise.
33394 (GRUB_MOD_INIT): Register `initrd'.
33395 (GRUB_MOD_FINI): Unregister `initrd'.
33396
33397 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33398
33399 * commands/help.c: New file.
33400 * normal/arg.c (show_help): Renamed to...
33401 (grub_arg_show_help): ... this.
33402 * commands/i386/pc/halt.c: New file.
33403 * commands/i386/pc/reboot.c: Likewise.
33404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33405 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33406 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33407 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33408 variables.
33409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33410 `commands/help.c'.
33411 (pkgdata_MODULES): Add `help.mod'.
33412 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33413 * grub/i386/pc/init.h (grub_reboot): New prototype.
33414 (grub_halt): Likewise.
33415 * include/grub/normal.h (grub_arg_show_help): New prototype.
33416 (grub_help_init): Likewise.
33417 (grub_help_fini): Likewise.
33418 * util/grub-emu.c (main): Initialize and deinitialize the help
33419 command.
33420
33421 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33422
33423 * normal/command.c (grub_command_init): Fixed the description of
33424 the `set' and `unset' commands.
33425
33426 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33427
33428 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33429 function.
33430 * commands/ieee1275/halt.c: New file.
33431 * commands/ieee1275/reboot.c: Likewise.
33432 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33433 `__attribute__ ((unused))'. Some GCS related fixed.
33434 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33435 (grub_suspend_fini): Likewise.
33436 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33437 and `halt.mod'.
33438 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33439 (halt_mod_CFLAGS): New variables.
33440 * include/grub/powerpc/ieee1275/ieee1275.h
33441 (grub_ieee1275_interpret): New prototype.
33442
33443 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33444
33445 * include/grub/misc.h (memmove): New prototype.
33446 (memcpy): Likewise.
33447
33448 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33449
33450 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33451 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33452
33453 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33454
33455 * kern/misc.c (grub_strndup): Function rewritten.
33456
33457 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33458
33459 * normal/menu.c (TERM_WIDTH): Macro redefined.
33460 (TERM_TOP_BORDER_Y): Likewise.
33461 (draw_border): Replaced while-loop by a for-loop. Make the number
33462 of lines consistent with the number of lines displayed in
33463 print_entries. Added a margin below the rectangle.
33464 (print_entry): Make the entry fit in the rectangle.
33465 (print_entries): Display the scroll arrows next to the right
33466 border.
33467
33468 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33469
33470 * fs/minix.c (grub_minix_find_file): Reserve more space for
33471 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33472 `grub_strncpy' to copy `path' into it.
33473
33474 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33475
33476 Add the loopback device, a device via which files can be accessed
33477 as devices.
33478
33479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33480 (pkgdata_MODULES): Add loopback.mod.
33481 (loopback_mod_SOURCES): New variable.
33482 (loopback_mod_CFLAGS): Likewise.
33483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33484 `disk/loopback.c'.
33485 (pkgdata_MODULES): Add loopback.mod.
33486 (loopback_mod_SOURCES): New variable.
33487 (loopback_mod_CFLAGS): Likewise.
33488 * disk/loopback.c: new file.
33489 * include/grub/normal.h (grub_loop_init): New prototype.
33490 (grub_loop_fini): New prototype.
33491 * util/grub-emu.c (main): Initialize and de-initialize loopback
33492 support.
33493 * include/grub/disk.h (grub_disk_dev_id): Add
33494 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33495
33496 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33497
33498 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33499 function.
33500 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33501 (suspend_mod_SOURCES): New variable.
33502 (suspend_mod_CFLAGS): Likewise.
33503 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33504 New prototype.
33505 * commands/ieee1275/suspend.c: New file.
33506
33507 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33508
33509 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33510 ((unused))' to `__attribute__ ((used))'.
33511 (GRUB_MOD_FINI): Likewise.
33512 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33513 * genmk.rb (PModule): Assign space to common symbols when linking
33514 modules.
33515
33516 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33517
33518 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33519 `unsigned' arguments to `grub_size_t'.
33520 (grub_malloc): Likewise.
33521 (grub_realloc): Likewise.
33522 (grub_memalign): Likewise.
33523 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33524 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33525 * util/misc.c (grub_malloc): Likewise.
33526 (grub_realloc): Likewise.
33527 * kern/mm.c (get_header_from_pointer): Change the casts to
33528 `unsigned' into a cast to `grub_size_t'.
33529
33530 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33531 point to `currnode' when `currnode' is changed.
33532
33533 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33534 Schottelius <nico-linux@schottelius.org>.
33535
33536 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33537
33538 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33539 (note_path): Remove variable.
33540 (GRUB_IEEE1275_NOTE_NAME): New macro.
33541 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33542 (grub_ieee1275_note_hdr): New structure.
33543 (grub_ieee1275_note_desc): Likewise.
33544 (grub_ieee1275_note): Likewise.
33545 (load_note): Remove `dir' argument. All callers updated. Remove
33546 `note_img' and `path'. Do not load a file from `note_path'.
33547 Initialize a struct grub_ieee1275_note and write that to `out'.
33548 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33549
33550 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33551
33552 * util/misc.c (grub_util_read_image): Revert last change. It
33553 called `grub_util_read_at', which seeks from the beginning of the
33554 file.
33555
33556 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33557
33558 * TODO: Add note about endianness in grub-mkimage.
33559 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33560 section.
33561 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33562 (grub_mkimage_SOURCES): New target.
33563 * include/grub/kernel.h (grub_start_addr): Remove variable.
33564 (grub_end_addr): Likewise.
33565 (grub_total_module_size): Likewise.
33566 (grub_kernel_image_size): Likewise.
33567 (GRUB_MODULE_MAGIC): New constant.
33568 (grub_module_info): New structure.
33569 (grub_arch_modules_addr): New prototype.
33570 (grub_get_end_addr): Remove prototype.
33571 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33572 * include/grub/powerpc/ieee1275/kernel.h: New file.
33573 * include/grub/util/misc.h (grub_util_get_fp_size): New
33574 prototype.
33575 (grub_util_read_at): Likewise.
33576 (grub_util_write_image_at): Likewise.
33577 * kern/main.c (grub_get_end_addr): Remove function.
33578 (grub_load_modules): Call grub_arch_modules_addr instead of using
33579 grub_end_addr. Look for a grub_module_info struct in memory. Use
33580 the grub_module_info fields instead of calling grub_get_end_addr
33581 as loop conditions. Move grub_add_unused_region code here.
33582 (grub_add_unused_region): Remove function.
33583 * kern/i386/pc/init.c: Include grub/cache.h.
33584 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33585 one call to add_mem_region.
33586 (grub_arch_modules_addr): New function.
33587 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33588 (grub_total_module_size): Likewise.
33589 Include grub/machine/kernel.h.
33590 (grub_arch_modules_addr): New function.
33591 * util/grub-emu.c (grub_end_addr): Remove variable.
33592 (grub_total_module_size): Likewise.
33593 (grub_arch_modules_addr): New function.
33594 * util/misc.c: Include unistd.h.
33595 (grub_util_get_fp_size): New function.
33596 (grub_util_read_at): Likewise.
33597 (grub_util_write_image_at): Likewise.
33598 (grub_util_read_image): Call grub_util_read_at.
33599 (grub_util_write_image): Call grub_util_write_image_at.
33600 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33601 additional memory in kernel_img for a struct grub_module_info.
33602 Fill in that grub_module_info.
33603 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33604
33605 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33606
33607 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33608 New function.
33609 * include/grub/powerpc/ieee1275/ieee1275.h
33610 (grub_ieee1275_milliseconds): New prototype.
33611 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33612 Change to 1000.
33613 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33614 grub_ieee1275_milliseconds.
33615
33616 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33617
33618 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33619 variable.
33620 (find_options): New function.
33621 (cmain): Call find_options.
33622 * include/grub/powerpc/ieee1275/ieee1275.h
33623 (grub_ieee1275_realmode): New extern variable.
33624 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33625 grub_map if grub_ieee1275_realmode is false.
33626
33627 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33628
33629 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33630 lines are inserted and make it work like readline. Reported by
33631 Vincent Pelletier <subdino2004@yahoo.fr>.
33632
33633 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33634
33635 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33636
33637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33638 `kern/powerpc/cache.S'.
33639
33640 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33641
33642 * genmk.rb: Handle the `Program' class in the main loop. Written
33643 by Johan Rydberg <jrydberg@gnu.org>.
33644 (Program): New class.
33645 (programs): New variable.
33646 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33647 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33648 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33649 (help_arch): Function removed.
33650 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33651 `powerpc/libgcc.h' and `loader.h'.
33652 (pkgdata_PROGRAMS): New variable.
33653 (sbin_UTILITIES): Variable removed.
33654 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33655 (grubof_SOURCES): Variable re-defined so it only includes the
33656 core functionality.
33657 (grubof_CFLAGS): Remove `-DGRUBOF'.
33658 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33659 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33660 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33661 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33662 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33663 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33664 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33665 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33666 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33667 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33668 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33669 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33670 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33671 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33672 (pc_mod_CFLAGS): New variables.
33673 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33674 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33675 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33676 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33677 Moved from here...
33678 * include/grub/i386/pc/init.h (grub_os_area_addr)
33679 (rub_os_area_size): ... to here.
33680 * include/grub/powerpc/ieee1275/ieee1275.h
33681 (grub_ieee1275_entry_fn): Export symbol.
33682 * include/grub/powerpc/ieee1275/init.h: New file.
33683 * include/grub/powerpc/libgcc.h: Likewise.
33684 * include/grub/cache.h: Likewise.
33685 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33686 <hollis@penguinppc.org>.
33687 * kern/dl.c: Include <grub/cache.h>.
33688 (grub_dl_flush_cache): New function.
33689 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33690 for this module.
33691 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33692 (grub_console_init): Removed prototypes.
33693 (grub_machine_init): Don't initialize the modules anymore.
33694 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33695 static.
33696 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33697 Macro undef removed.
33698 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33699 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33700 relocation `R_PPC_REL32'. Return an error when the relocation is
33701 unknown.
33702 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33703 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33704 * util/misc.c (grub_arch_sync_caches): Likewise.
33705
33706 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33707
33708 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33709 `symlist.c', add `grubof_symlist.c'.
33710 (symlist.c): Variable removed.
33711 (grubof_HEADERS): Variable added.
33712 (grubof_symlist.c): New target.
33713 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33714 `kernel_img_HEADERS'.
33715 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33716 * kern/powerpc/dl.c: New file.
33717 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33718 Function removed.
33719 (grub_arch_dl_relocate_symbols): Likewise.
33720 (grub_register_exported_symbols): Likewise.
33721
33722 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33723
33724 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33725 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33726 to fail instead. Reported by Vincent Pelletier
33727 <subdino2004@yahoo.fr>.
33728
33729 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33730 it is not allocated. Reported by Vincent Pelletier
33731 <subdino2004@yahoo.fr>.
33732
33733 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33734 output so the output looks better.
33735
33736 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33737
33738 Modulize the partition map support and add support for the amiga
33739 partition map.
33740
33741 * commands/ls.c: Include <grub/partition.h> instead of
33742 <grub/machine/partition.h>.
33743 * kern/disk.c: Likewise.
33744 * kern/rescue.c: Likewise.
33745 * loader/i386/pc/chainloader.c: Likewise.
33746 * normal/cmdline.c: Likewise.
33747 * kern/powerpc/ieee1275/init.c: Likewise.
33748 (grub_machine_init): Call `grub_pc_partition_map_init',
33749 `grub_amiga_partition_map_init' and
33750 `grub_apple_partition_map_init'.
33751 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33752 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33753 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33754 `partition.h' and `pc_partition.h'.
33755 (grub_setup_SOURCES): Remove
33756 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33757 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33758 (grub_emu_SOURCES): Likewise.
33759 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33760 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33761 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33763 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33764 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33765 (grubof_SOURCES): Likewise.
33766 * disk/i386/pc/partition.c: File removed.
33767 * disk/powerpc/ieee1275/partition.c: Likewise.
33768 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33769 * include/grub/i386/pc/partition.h: Likewise.
33770 * kern/partition.c: New file.
33771 * partmap/amiga.c: Likewise.
33772 * partmap/apple.c: Likewise.
33773 * partmap/pc.c: Likewise.
33774 * include/grub/partition.h: Likewise..
33775 * include/grub/pc_partition.h: Likewise.
33776 * util/grub-emu.c: Include <grub/partition.h> instead of
33777 <grub/machine/partition.h>.
33778 (main): Call `grub_pc_partition_map_init',
33779 `grub_amiga_partition_map_init' and
33780 `grub_apple_partition_map_init' and deinitialize afterwards.
33781 * util/i386/pc/biosdisk.c: Include `#include
33782 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33783 `<grub/machine/partition.h>'.
33784 * util/i386/pc/grub-setup.c: Likewise.
33785 * util/i386/pc/biosdisk.c: Likewise.
33786 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33787 partition information in case of a PC partition.
33788 * util/i386/pc/grub-setup.c: Include `#include
33789 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33790 `<grub/machine/partition.h>'.
33791 (setup): Only access the PC specific partition information in case
33792 of a PC partition.
33793
33794 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33795
33796 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33797 (grub_longjmp): Likewise.
33798 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33799 20.
33800 * normal/powerpc/setjmp.S: New file.
33801 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33802 `normal/powerpc/setjmp.S'.
33803 (grubof_CFLAGS): Add `-DGRUBOF'.
33804 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33805 [GRUB_UTIL && !GRUBOF].
33806
33807 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33808
33809 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33810 property named `name'. Correctly handle the error returned by
33811 `grub_ieee1275_finddevice' if a device can not be opened.
33812
33813 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33814
33815 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33816 `actual' for negativity.
33817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33818 kern/fshelp.c.
33819
33820 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33821
33822 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33823 (PAGE_OFFSET): New macro.
33824 (CRTC_ADDR_PORT): Likewise.
33825 (CRTC_DATA_PORT): Likewise.
33826 (START_ADDR_HIGH_REGISTER): Likewise.
33827 (START_ADDR_LOW_REGISTER): Likewise.
33828 (GRAPHICS_ADDR_PORT): Likewise.
33829 (GRAPHICS_DATA_PORT): Likewise.
33830 (READ_MAP_REGISTER): Likewise.
33831 (INPUT_STATUS1_REGISTER): Likewise.
33832 (INPUT_STATUS1_VERTR_BIT): Likewise.
33833 (page): New variable.
33834 (wait_vretrace): New function.
33835 (set_read_map): Likewise.
33836 (set_start_address): Likewise.
33837 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33838 the right page.
33839 (check_vga_mem): Take the page into account.
33840 (write_char): Likewise.
33841 (write_cursor): Likewise.
33842 (scroll_up): Likewise. Copy the page to the page that is not
33843 shown and switch between both pages.
33844 (grub_vga_putchar): Fix off by one error.
33845 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33846 account.
33847
33848 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33849
33850 Add support for iso9660 (including rockridge).
33851
33852 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33853 (iso9660_mod_SOURCES): New variable.
33854 (iso9660_mod_CFLAGS): Likewise.
33855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33856 * include/grub/fs.h (grub_iso9660_init): New prototype.
33857 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33858 * fs/iso9660.c: New file.
33859
33860 * include/grub/misc.h (grub_strncat): New prototype.
33861 * kern/misc.c (grub_strncat): New function.
33862
33863 * fs/hfs.c (grub_hfs_mount): Translate the error
33864 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33865 * fs/jfs.c (grub_jfs_mount): Likewise.
33866 * fs/ufs.c (grub_ufs_mount): Likewise.
33867
33868 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33869
33870 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33871 which initialized BAT registers.
33872 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33873 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33874 Move from here...
33875 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33876 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33877 ... to here.
33878 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33879 (grub_mapclaim): Likewise.
33880 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33881 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33882 hand.
33883
33884 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33885
33886 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33887 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33888 -ffreestanding and -msoft-float.
33889
33890 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33891
33892 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33893 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33894 set in grub_ieee1275_flags.
33895
33896 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33897
33898 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33899 prototype.
33900 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33901 grub_console_init first.
33902 Change the memory range used for grub_ieee1275_claim and
33903 grub_mm_init_region.
33904 Print an error message if the claim fails.
33905 Include <grub/misc.h>.
33906
33907 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33908
33909 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33910 Call grub_children_iterate for device nodes of type `scsi',
33911 `ide', or `ata'.
33912 (grub_ofdisk_open): Remove manual device alias resolution.
33913 Fix memory leak when device cannot be opened.
33914 * include/grub/powerpc/ieee1275/ieee1275.h
33915 (grub_children_iterate): New prototype.
33916 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33917 New function.
33918 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33919 Return -1 if args.size was -1.
33920
33921 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33922
33923 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33924 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33925 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33926 Open Firmware's memory for it; claim memory from _start to _end.
33927 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33928 (_end): New extern.
33929 (_start): Zero BSS from __bss_start to _end.
33930 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33931 New extern.
33932 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33933
33934 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33935
33936 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33937 -1 if args.base was -1.
33938
33939 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33940
33941 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33942 escape sequence instead of a literal ^L. Also call
33943 grub_ofconsole_gotoxy.
33944
33945 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33946
33947 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33948 void * arguments to grub_addr_t. All callers updated. Also make
33949 the `result' argument optional.
33950 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33951 All callers updated.
33952
33953 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33954
33955 * commands/ls.c (grub_ls_list_files): Use the string following the
33956 initial ')', if present, as the filesystem path.
33957 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33958
33959 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33960
33961 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33962
33963 Make the source code of the menu interface more readable.
33964
33965 * normal/menu.c: Include grub/mm.h.
33966 (TERM_WIDTH): New macro.
33967 (TERM_HEIGHT): Likewise.
33968 (TERM_INFO_HEIGHT): Likewise.
33969 (TERM_MARGIN): Likewise.
33970 (TERM_SCROLL_WIDTH): Likewise.
33971 (TERM_TOP_BORDER_Y): Likewise.
33972 (TERM_LEFT_BORDER_X): Likewise.
33973 (TERM_BORDER_WIDTH): Likewise.
33974 (TERM_MESSAGE_HEIGHT): Likewise.
33975 (TERM_BORDER_HEIGHT): Likewise.
33976 (TERM_NUM_ENTRIES): Likewise.
33977 (TERM_FIRST_ENTRY_Y): Likewise.
33978 (TERM_ENTRY_WIDTH): Likewise.
33979 (TERM_CURSOR_X): Likewise.
33980 (draw_border): Use macros instead of magic numbers.
33981 (print_entry): Likewise.
33982 (print_entries): Likewise.
33983 (run_menu): Likewise. Also, handle the key 'e'.
33984 (run_menu_entry): Ignore empty command lines.
33985 (print_message): Added a new argument EDIT. If EDIT is true,
33986 print a different message.
33987 (init_page): Likewise.
33988 (edit_menu_entry): New function. Not implemented yet.
33989
33990 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33991
33992 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33993 can be loaded from normal mode.
33994
33995 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33996 `multiboot.mod'.
33997 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33998 (multiboot_mod_CFLAGS): New variables.
33999 * loader/i386/pc/linux_normal.c: New file.
34000 * loader/i386/pc/multiboot_normal.c: Likewise.
34001
34002 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
34003 attribute `unused'.
34004
34005 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
34006 `fdiro' to read the mode information from instead of `diro'.
34007
34008 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
34009 looking up a symlink.
34010
34011 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
34012 macro.
34013 * normal/command.c (grub_command_execute): Don't parse the
34014 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
34015 flags of the command.
34016
34017 * normal/menu.c (grub_menu_run): Fix typo.
34018
34019 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
34020
34021 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
34022
34023 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
34024 `y + 1' instead of `y - 1'.
34025
34026 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
34027
34028 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
34029
34030 From Hollis Blanchard <hollis@penguinppc.org>:
34031 * kern/misc.c (memmove): New alias for grub_memmove.
34032 (memcmp): New alias for grub_memcmp.
34033 (memset): New alias for grub_memset.
34034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34035 Change "int handle" to "grub_ieee1275_phandle_t handle".
34036 * include/grub/powerpc/ieee1275/ieee1275.h
34037 (grub_ieee1275_get_property): Likewise.
34038
34039 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
34040
34041 Added normal mode command `chainloader' as module chain.mod, which
34042 depends on normal.mod and _chain.mod.
34043
34044 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
34045 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
34046 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
34047 Deleted prototype.
34048 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
34049 but arguments parsing moved to ...
34050 (grub_chainloader_cmd): ... here. New function.
34051 * include/grub/i386/pc/chainloader.h: New file.
34052 * loader/i386/pc/chainloader_normal.c: Likewise.
34053
34054 2004-09-11 Marco Gerards <metgerards@student.han.nl>
34055
34056 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
34057 (grub_mkimage_LDFLAGS): Likewise.
34058 (grub_emu_SOURCES): Likewise.
34059 (kernel_img_HEADERS): Added fshelp.h.
34060 * fs/ext2.c: Include <grub/fshelp.h>.
34061 (FILETYPE_REG): New macro.
34062 (FILETYPE_INO_REG): Likewise.
34063 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
34064 Changed all users.
34065 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
34066 all users.
34067 (grub_fshelp_node): New struct.
34068 (grub_ext2_data): Added member `diropen'. Changed member `inode'
34069 to a pointer.
34070 (grub_ext2_get_file_block): Removed function.
34071 (grub_ext2_read_block): New function.
34072 (grub_ext2_read_file): Replaced parameter `data' by `node'.
34073 This function was written.
34074 (grub_ext2_mount): Read the root inode. Create a diropen struct.
34075 (grub_ext2_find_file): Removed function.
34076 (grub_ext2_read_symlink): New function.
34077 (grub_ext2_iterate_dir): Likewise.
34078 (grub_ext2_open): Rewritten.
34079 (grub_ext2_dir): Rewritten.
34080 * include/grub/fshelp.h: New file.
34081 * fs/fshelp.c: Likewise.
34082
34083 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
34084
34085 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
34086 (print_message): Add a missing newline.
34087 (run_menu): Added timeout support.
34088 (run_menu_entry): New local function.
34089 (grub_menu_run): Added support for booting.
34090
34091 * kern/loader.c (grub_loader_is_loaded): New function.
34092
34093 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
34094 (grub_get_rtc): Exported.
34095
34096 * include/grub/i386/pc/time.h: Include grub/symbol.h.
34097 (grub_get_rtc): Exported.
34098
34099 * include/grub/normal.h (struct grub_command_list): Remove
34100 constant from the member `command'.
34101
34102 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34103
34104 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34105
34106 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34107
34108 2004-08-28 Marco Gerards <metgerards@student.han.nl>
34109
34110 Add support for the JFS filesystem.
34111
34112 * fs/jfs.c: New file.
34113 * include/grub/fs.h (grub_jfs_init): New prototype.
34114 (grub_jfs_fini): New prototype.
34115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34116 (grub_emu_SOURCES): Likewise.
34117 (pkgdata_MODULES): Add jfs.mod.
34118 (jfs_mod_SOURCES): New variable.
34119 (jfs_mod_CFLAGS): Likewise.
34120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34121 (grubof_SOURCES): Likewise.
34122 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34123
34124 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34125 endian to the host endian.
34126 (grub_fat_utf16_to_utf8): Move function from there...
34127 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
34128 the endianness of the source string anymore.
34129 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34130
34131 2004-08-24 Marco Gerards <metgerards@student.han.nl>
34132
34133 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34134 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34135 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34136 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
34137
34138 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34139 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34140 for `node_found' and `it_dir'.
34141 (grub_hfs_dir): Add prototype for `dir_hook'.
34142
34143 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34144 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34145 and `indir32' to silence a gcc warning.
34146
34147 * include/grub/fs.h (grub_hfs_init): New prototype.
34148 (grub_hfs_fini): Likewise.
34149
34150
34151 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34152
34153 Each disk device has its own id now. This is useful to make use
34154 of multiple disk devices.
34155
34156 * include/grub/disk.h (grub_disk_dev_id): New enum.
34157 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34158 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34159
34160 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34161 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34162
34163 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34164 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34165
34166 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34167 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34168
34169 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34170 "id" which is used by the cache manager.
34171
34172 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34173 of just "GRUB".
34174
34175 2004-08-18 Marco Gerards <metgerards@student.han.nl>
34176
34177 * fs/hfs.c: New file.
34178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34179 (grub_emu_SOURCES): Likewise.
34180 (pkgdata_MODULES): Add hfs.mod.
34181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34182 (grubof_SOURCES): Likewise.
34183 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34184
34185 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34186 * kern/misc.c (grub_strncasecmp): Add function.
34187
34188 2004-08-14 Marco Gerards <metgerards@student.han.nl>
34189
34190 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34191 with parentheses.
34192
34193 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34194 (grub_ext2_dir): In case the directory entry type is unknown, read
34195 it from the inode.
34196
34197 2004-08-02 Peter Bruin <pjbruin@dds.nl>
34198
34199 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34200 grub_load_linux instead of grub_rescue_cmd_linux as second
34201 argument of grub_rescue_register_command.
34202
34203 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34204
34205 2004-07-27 Marco Gerards <metgerards@student.han.nl>
34206
34207 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34208 function.
34209 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34210 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34211 `loader/powerpc/ieee1275/linux.c',
34212 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34213 * include/grub/powerpc/ieee1275/ieee1275.h
34214 (grub_ieee1275_release): New prototype.
34215 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34216 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34217 normal, boot, linux and linux_normal.
34218 * loader/powerpc/ieee1275/linux.c: New file.
34219 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34220
34221 2004-07-12 Marco Gerards <metgerards@student.han.nl>
34222
34223 * normal/arg.c (grub_arg_parse): Correct error handling after
34224 reallocating the argumentlist (check if `argl' is not null instead
34225 of checking if `args' is not null).
34226 * kern/mm.c (grub_realloc): Return the same pointer when using the
34227 same region, instead of returning the header address.
34228
34229 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34230
34231 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34232 one block instead of two when looking for the initial partition.
34233 (grub_partition_probe): Initialize the local variable `p' with 0.
34234 Use base 10 for the grub_strtoul call.
34235 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34236 need for one local variable.
34237 (grub_strtoul): Don't add the new value to `num', instead of that
34238 just assign it.
34239
34240 2004-07-11 Marco Gerards <metgerards@student.han.nl>
34241
34242 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34243 (pxeboot_img_SOURCES): New variable.
34244 (pxeboot_img_ASFLAGS): Likewise.
34245 (pxeboot_img_LDFLAGS): Likewise.
34246 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34247 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34248 <lode_leroy@hotmail.com>.
34249
34250 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34251
34252 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34253 there was no input.
34254
34255 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34256
34257 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34258 the history buffer logic.
34259
34260 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34261
34262 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34263 (FILETYPE_INO_SYMLINK): New macros.
34264 (grub_ext2_find_file): Check if the node is a directory using the
34265 inode stat information instead of using the filetype in the
34266 dirent. Exclude the first character of an absolute symlink.
34267 (grub_ext2_dir): Mask out the filetype part of the mode member of
34268 the inode.
34269
34270 2004-05-24 Marco Gerards <metgerards@student.han.nl>
34271
34272 Add support for UFS version 1 and 2. Add support for the minix
34273 filesystem version 1 and 2, both the variants with 14 and 30 long
34274 filenames.
34275
34276 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34277 fs/minix.c.
34278 (grub_emu_SOURCES): Likewise.
34279 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34280 (ufs_mod_SOURCES): New variable.
34281 (ufs_mod_CFLAGS): Likewise.
34282 (minix_mod_SOURCES): Likewise.
34283 (minix_mod_CFLAGS): Likewise.
34284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34285 fs/minix.c.
34286 (grubof_SOURCES): Likewise.
34287 * fs/ufs.c: New file.
34288 * fs/minix.c: New file.
34289 * include/grub/fs.h (grub_ufs_init): New prototype.
34290 (grub_ufs_fini): Likewise.
34291 (grub_minix_init): Likewise.
34292 (grub_minix_fini): Likewise.
34293 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34294 minix fs.
34295
34296 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34297
34298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34299 commands/ls.c, commands/terminal.c, commands/boot.c,
34300 commands/cmp.c and commands/cat.c.
34301 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34302
34303 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34304 "env.h"
34305
34306 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34307
34308 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34309 and grub_, respectively. Because the conversion is trivial and
34310 mechanical, I omit the details here. Please refer to the CVS
34311 if you need more information.
34312
34313 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34314
34315 * include/pupa: Renamed to ...
34316 * include/grub: ... this.
34317 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34318 * util/i386/pc/grub-mkimage.c: ... this.
34319 * util/i386/pc/pupa-setup.c: Renamed to ...
34320 * util/i386/pc/grub-setup.c: ... this.
34321 * util/pupa-emu.c: Renamed to ...
34322 * util/grub-emu.c: ... this.
34323
34324 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34325
34326 Add support for the newworld apple macintosh (PPC). This has been
34327 tested on the powerbook 2000 only. It only adds support for
34328 generic ieee1275 functions, console and disk support. This should
34329 be easy to port to other architectures with support for Open
34330 Firmware.
34331
34332 * configure.ac: Accept the powerpc as host_cpu. In the case of
34333 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34334 specific tests are only executed while building for the i386.
34335 Inverse test for crosscompile.
34336 * genmk.rb (Utility): Allow assembler files.
34337 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34338 * conf/powerpc-ieee1275.rmk: New file.
34339 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34340 * disk/powerpc/ieee1275/partition.c: Likewise.
34341 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34342 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34343 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34344 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34345 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34346 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34347 * include/pupa/powerpc/ieee1275/loader.h
34348 * include/pupa/powerpc/setjmp.h: Likewise.
34349 * include/pupa/powerpc/types.h: Likewise.
34350 * kern/powerpc/ieee1275/init.c: Likewise.
34351 * kern/powerpc/ieee1275/openfw.c: Likewise.
34352 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34353
34354 These files were written by Johan Rydberg
34355 (jrydberg@night.trouble.net) and I only modified them slightly.
34356
34357 * boot/powerpc/ieee1275/cmain.c: New file.
34358 * boot/powerpc/ieee1275/crt0.S: Likewise.
34359 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34360 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34361
34362 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34363
34364 * Makefile.in: Update copyright.
34365 * genmodsrc.sh: Likewise.
34366 * gensymlist.sh: Likewise.
34367 * term/i386/pc/vga.c: Indent correctly.
34368
34369 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34370 bugreporting address.
34371 * util/i386/pc/pupa-setup.c (usage): Likewise,
34372 (main): Call pupa_ext2_init and pupa_ext2_fini.
34373
34374 * fs/fat.c (log2): Renamed to ...
34375 (fat_log2): ... this.
34376 All callers changed.
34377 * kern/misc.c (memcpy): Alias to pupa_memmove.
34378 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34379 lvalue cast.
34380 * util/console.c (pupa_ncurses_fini): Return 0.
34381
34382 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34383 Move fail label here.
34384 [__GNU__]: Don't warn when using stat.
34385 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34386 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34387 long int. Use strtol instead of strtoul.
34388
34389 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34390
34391 * commands/boot.c: New file.
34392 * commands/cat.c: Likewise.
34393 * commands/cmp.c: Likewise.
34394 * commands/ls.c: Likewise.
34395 * commands/terminal.c: Likewise.
34396 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34397 (pupa_register_command): Changed interface to match the new
34398 argument parser.
34399 (pupa_command_execute): Changed (almost rewritten) so it uses
34400 pupa_split_command. Added support for setting variables using the
34401 syntax `foo=bar'.
34402 (rescue_command): Changed to work with the new argument parser.
34403 (terminal_command): Moved from here to commands/terminal.c.
34404 (set_command): New function.
34405 (unset_command): New function.
34406 (insmod_command): New function.
34407 (rmmod_command): New function.
34408 (lsmod_command): New function.
34409 (pupa_command_init): Don't initialize the command terminal
34410 anymore. Initialize the commands set, unset, insmod, rmmod and
34411 lsmod.
34412 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34413 (kernel_img_HEADERS): Add arg.h and env.h.
34414 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34415 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34416 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34417 normal/arg.c.
34418 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34419 terminal.mod.
34420 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34421 (boot_mod_SOURCES): New variable.
34422 (terminal_mod_SOURCES): Likewise.
34423 (ls_mod_SOURCES): Likewise.
34424 (cmp_mod_SOURCES): Likewise.
34425 (cat_mod_SOURCES): Likewise.
34426
34427 * normal/arg.c: New file.
34428 * kern/env.c: Likewise.
34429 * include/pupa/arg.h: Likewise.
34430 * include/pupa/env.h: Likewise.
34431 * font/manager.c (font_command): Changed to match argument parsing
34432 interface changes.
34433 (PUPA_MOD_INIT): Likewise.
34434 * hello/hello.c (pupa_cmd_hello): Likewise.
34435 (PUPA_MOD_INIT): Likewise.
34436 * include/pupa/disk.h: Include <pupa/device.h>.
34437 (pupa_print_partinfo): New prototype.
34438 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34439 (pupa_dl_get_prefix): Likewise.
34440 * include/pupa/misc.h: Include <pupa/err.h>.
34441 (pupa_isgraph): New prototype.
34442 (pupa_isdigit): Likewise.
34443 (pupa_split_cmdline): Likewise.
34444 * include/pupa/normal.h: Include <pupa/arg.h>.
34445 (pupa_command): Changed the prototype of the member `func' to
34446 match the argument parsing interface. Added member `options'.
34447 (pupa_register_command): Updated to match function.
34448 (pupa_arg_parse): New prototype.
34449 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34450 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34451 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34452 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34453 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34454 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34455 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34456 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34457 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34458 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34459 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34460 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34461 * kern/disk.c: Include <pupa/file.h>.
34462 (pupa_print_partinfo): New function.
34463 * kern/dl.c: Include <pupa/env.h>.
34464 (pupa_dl_dir): Variable removed.
34465 (pupa_dl_load): Use the environment variable `prefix' instead of
34466 the variable pupa_dl_dir.
34467 (pupa_dl_set_prefix): Function removed.
34468 (pupa_dl_get_prefix): Likewise.
34469 * kern/i386/pc/init.c: Include <pupa/env.h>.
34470 (pupa_machine_init): Use the environment variable `prefix' instead of
34471 using pupa_dl_set_prefix to set the prefix.
34472 * kern/main.c: Include <pupa/env.h>.
34473 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34474 using pupa_dl_get_prefix to get the prefix.
34475 * kern/misc.c: Include <pupa/env.h>.
34476 (pupa_isdigit): New function.
34477 (pupa_isgraph): Likewise.
34478 (pupa_ftoa): Likewise.
34479 (pupa_vsprintf): Added support for printing values of the type
34480 `double'. Make it possible to format variable output when using
34481 formatting like `%1.2%f'.
34482 (pupa_split_cmdline): New function.
34483 * kern/rescue.c: Include <pupa/env.h>.
34484 (next_word): Removed function.
34485 (pupa_rescue_cmd_prefix): Likewise.
34486 (pupa_rescue_cmd_set): New function.
34487 (pupa_rescue_cmd_unset): New function.
34488 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34489 split the command line instead of splitting it here. Added
34490 support for setting variables using the syntax `foo=bar'. Don't
34491 initialize the prefix command anymore. Initialized the set and
34492 unset commands.
34493 * normal/cmdline.c: Include <pupa/env.h>.
34494 (pupa_tab_complete): Added prototypes for print_simple_completion,
34495 print_partition_completion, add_completion, iterate_commands,
34496 iterate_dev, iterate_part and iterate_dir. Moved code to print
34497 partition information from here to kern/disk.c.
34498 (pupa_cmdline_run): Don't check if the function exists anymore.
34499 * normal/main.c: Include <pupa/env.h>.
34500 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34501 instead of using pupa_dl_get_prefix to get the prefix.
34502 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34503 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34504 warning.
34505 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34506 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34507 ((unused))' to silence a gcc warning.
34508 (pupa_vga_setcolor): Likewise.
34509 (debug_command): Changed to match argument parsing
34510 interface changes.
34511 * util/pupa-emu.c: Include <pupa/env.h>.
34512 (options): Added 0's for unused fields to silence a gcc warning.
34513 (argp): Likewise.
34514 (main): Use the environment variable `prefix' instead of using
34515 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34516 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34517 and terminal.
34518
34519 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34520 * util/misc.c: Include <malloc.h>.
34521 (pupa_malloc): Rewritten so errors are correctly reported.
34522 (pupa_realloc): Likewise.
34523 (pupa_memalign): Likewise.
34524 (pupa_mm_init_region): Declare unused variables with
34525 `__attribute__ ((unused))' to silence a gcc warning.
34526 * normal/i386/setjmp.S: Remove tab at the end of the file to
34527 silence a gcc warning.
34528 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34529 variables with `__attribute__ ((unused))' to silence a gcc
34530 warning.
34531 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34532 local variable i unsigned to silence a gcc warning.
34533
34534 * kern/term.c: Include <pupa/misc.h>.
34535 (pupa_more_lines): New variable.
34536 (pupa_more): Likewise.
34537 (pupa_putcode): When the pager is active pause at the end of every
34538 screen.
34539 (pupa_set_more): New function.
34540 * include/pupa/term.h (pupa_set_more): New prototype.
34541
34542
34543 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34544
34545 Now this project is GRUB 2 rather than PUPA. The location of
34546 the CVS repository was moved to GRUB's.
34547
34548 * configure.ac: Use bug-grub as the reporting address.
34549 Use GRUB instead of PUPA.
34550 Change the version number to 1.90.
34551
34552 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34553
34554 * genkernsyms.sh: Updated copyright information.
34555 * genmk.rb: Likewise.
34556 * genmodsrc.sh: Likewise.
34557 * gensymlist.sh: Likewise.
34558 * boot/i386/pc/boot.S: Likewise.
34559 * boot/i386/pc/diskboot.S: Likewise.
34560 * disk/i386/pc/biosdisk.c: Likewise.
34561 * disk/i386/pc/partition.c: Likewise.
34562 * font/manager.c: Likewise.
34563 * fs/ext2.c: Likewise.
34564 * fs/fat.c: Likewise.
34565 * include/pupa/boot.h: Likewise.
34566 * include/pupa/device.h: Likewise.
34567 * include/pupa/disk.h: Likewise.
34568 * include/pupa/dl.h: Likewise.
34569 * include/pupa/elf.h: Likewise.
34570 * include/pupa/err.h: Likewise.
34571 * include/pupa/file.h: Likewise.
34572 * include/pupa/font.h: Likewise.
34573 * include/pupa/fs.h: Likewise.
34574 * include/pupa/kernel.h: Likewise.
34575 * include/pupa/loader.h: Likewise.
34576 * include/pupa/misc.h: Likewise.
34577 * include/pupa/mm.h: Likewise.
34578 * include/pupa/net.h: Likewise.
34579 * include/pupa/normal.h: Likewise.
34580 * include/pupa/rescue.h: Likewise.
34581 * include/pupa/setjmp.h: Likewise.
34582 * include/pupa/symbol.h: Likewise.
34583 * include/pupa/term.h: Likewise.
34584 * include/pupa/types.h: Likewise.
34585 * include/pupa/i386/setjmp.h: Likewise.
34586 * include/pupa/i386/types.h: Likewise.
34587 * include/pupa/i386/pc/biosdisk.h: Likewise.
34588 * include/pupa/i386/pc/boot.h: Likewise.
34589 * include/pupa/i386/pc/console.h: Likewise.
34590 * include/pupa/i386/pc/init.h: Likewise.
34591 * include/pupa/i386/pc/kernel.h: Likewise.
34592 * include/pupa/i386/pc/linux.h: Likewise.
34593 * include/pupa/i386/pc/loader.h: Likewise.
34594 * include/pupa/i386/pc/memory.h: Likewise.
34595 * include/pupa/i386/pc/multiboot.h: Likewise.
34596 * include/pupa/i386/pc/partition.h: Likewise.
34597 * include/pupa/i386/pc/time.h: Likewise.
34598 * include/pupa/i386/pc/vga.h: Likewise.
34599 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34600 * include/pupa/util/getroot.h: Likewise.
34601 * include/pupa/util/misc.h: Likewise.
34602 * include/pupa/util/resolve.h: Likewise.
34603 * kern/device.c: Likewise.
34604 * kern/disk.c: Likewise.
34605 * kern/dl.c: Likewise.
34606 * kern/err.c: Likewise.
34607 * kern/file.c: Likewise.
34608 * kern/fs.c: Likewise.
34609 * kern/loader.c: Likewise.
34610 * kern/main.c: Likewise.
34611 * kern/misc.c: Likewise.
34612 * kern/mm.c: Likewise.
34613 * kern/rescue.c: Likewise.
34614 * kern/term.c: Likewise.
34615 * kern/i386/dl.c: Likewise.
34616 * kern/i386/pc/init.c: Likewise.
34617 * kern/i386/pc/lzo1x.S: Likewise.
34618 * kern/i386/pc/startup.S: Likewise.
34619 * loader/i386/pc/chainloader.c: Likewise.
34620 * loader/i386/pc/linux.c: Likewise.
34621 * loader/i386/pc/multiboot.c: Likewise.
34622 * normal/cmdline.c: Likewise.
34623 * normal/command.c: Likewise.
34624 * normal/main.c: Likewise.
34625 * normal/menu.c: Likewise.
34626 * normal/i386/setjmp.S: Likewise.
34627 * term/i386/pc/console.c: Likewise.
34628 * term/i386/pc/vga.c: Likewise.
34629 * util/console.c: Likewise.
34630 * util/genmoddep.c: Likewise.
34631 * util/misc.c: Likewise.
34632 * util/pupa-emu.c: Likewise.
34633 * util/resolve.c: Likewise.
34634 * util/unifont2pff.rb: Likewise.
34635 * util/i386/pc/biosdisk.c: Likewise.
34636 * util/i386/pc/getroot.c: Likewise.
34637 * util/i386/pc/pupa-mkimage.c: Likewise.
34638 * util/i386/pc/pupa-setup.c: Likewise.
34639
34640 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34641
34642 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34643 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34644 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34645 reading and reset it after reading.
34646 (pupa_ext2_close): Return PUPA_ERR_NONE.
34647
34648 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34649 Correct value.
34650 (struct linux_kernel_header): Add kernel_version and
34651 initrd_addr_max.
34652 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34653 pupa_file_read succeeds.
34654 (pupa_rescue_cmd_initrd): Implement.
34655
34656 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34657
34658 * fs/ext2.c (pupa_ext2_label): New function.
34659 (pupa_ext2_fs): Added label.
34660 * fs/fat.c (pupa_fat_label): New function.
34661 (pupa_fat_fs): Added label.
34662 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34663
34664 * kern/misc.c (pupa_strndup): New function.
34665 * include/pupa/misc.h (pupa_strndup): New prototype.
34666
34667 * include/pupa/normal.h: Include <pupa/err.h>.
34668 (pupa_set_history): New prototype.
34669 (pupa_iterate_commands): New prototype.
34670 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34671 <pupa/disk.h>, <pupa/file.h>.
34672 (hist_size): New variable.
34673 (hist_lines): Likewise.
34674 (hist_end): Likewise.
34675 (hist_used): Likewise.
34676 (pupa_set_history): New function.
34677 (pupa_history_get): Likewise.
34678 (pupa_history_add): Likewise.
34679 (pupa_history_replace): Likewise.
34680 (pupa_tab_complete): Likewise.
34681 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34682 completion shows partitionnames while completing partitions, this
34683 feature was suggested by Jeff Bailey.
34684 * normal/command.c (pupa_iterate_commands): New function.
34685 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34686 (pupa_normal_init): Initialize history buffer.
34687 (PUPA_MOD_INIT): Likewise.
34688 (pupa_normal_fini): Free the history buffer.
34689 (PUPA_MOD_FINI): Likewise.
34690
34691 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34692 key.
34693
34694 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34695 * configure.ac [i386]: Check for regparam bug.
34696 (NESTED_FUNC_ATTR) [! i386]: Defined.
34697
34698 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34699
34700 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34701 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34702 (pupa_emu_SOURCES): New variable.
34703 (pupa_emu_LDFLAGS): Likewise.
34704 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34705 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34706 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34707 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34708 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34709 (pupa_jmp_buf): New typedef.
34710 (pupa_setjmp) [PUPA_UTIL]: New macro.
34711 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34712 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34713 (pupa_refresh): New prototype.
34714 * include/pupa/util/getroot.h: New file.
34715 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34716 it.
34717 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34718 (pupa_rescue_cmd_cat): Likewise.
34719 (pupa_rescue_cmd_ls): Likewise.
34720 (pupa_rescue_cmd_testload): Likewise.
34721 (pupa_rescue_cmd_lsmod): Likewise.
34722 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34723 * normal/menu.c (run_menu): Likewise.
34724 * kern/term.c (pupa_cls): Likewise.
34725 (pupa_refresh): New function.
34726 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34727 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34728 * util/console.c: New file.
34729
34730 * util/i386/pc/getroot.c: New file.
34731 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34732 (pupa_putchar): New function.
34733 (pupa_refresh): Likewise.
34734 (xgetcwd): Function moved to ...
34735 (strip_extra_slashes): Likewise.
34736 (get_prefix): Likewise.
34737 * util/i386/pc/getroot.c: ... here.
34738 (find_root_device): Function moved and renamed to...
34739 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34740 Changed all callers.
34741 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34742 and renamed to...
34743 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34744 Changed all callers.
34745 * util/misc.c (pupa_memalign): New function.
34746 (pupa_mm_init_region): Likewise.
34747 (pupa_register_exported_symbols): Likewise.
34748 (pupa_putchar): Function removed.
34749 * util/pupa-emu.c: New file.
34750
34751 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34752
34753 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34754 (_multiboot_mod_SOURCES): New variable.
34755 (_multiboot_mod_CFLAGS): Likewise.
34756 * loader/i386/pc/multiboot.c: New file.
34757 * include/pupa/i386/pc/multiboot.h: Likewise.
34758 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34759 (pupa_multiboot_real_boot): New function.
34760 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34761 (pupa_multiboot_real_boot): New prototype.
34762 (pupa_rescue_cmd_multiboot): Likewise
34763 (pupa_rescue_cmd_module): Likewise.
34764
34765 * kern/loader.c (pupa_loader_set): Continue when
34766 pupa_loader_unload_func() fails.
34767 (pupa_loader_unset): New function.
34768 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34769
34770 * kern/misc.c (pupa_stpcpy): New function.
34771 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34772
34773 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34774
34775 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34776 for available extensions.
34777
34778 * include/pupa/i386/pc/time.h: New file.
34779 * kern/disk.c: Include <pupa/machine/time.h>.
34780 (PUPA_CACHE_TIMEOUT): New macro.
34781 (pupa_last_time): New variable.
34782 (pupa_disk_open): Flush the cache when there was a timeout.
34783 (pupa_disk_close): Reset the timer.
34784 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34785 pupa_currticks.
34786 * util/misc.c: Include <sys/times.h>
34787 (pupa_get_rtc): New function.
34788
34789 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34790
34791 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34792 as blocks.
34793 (pupa_ext2_get_file_block): Use blocks member.
34794
34795 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34796 first block. Return -1 instead of pupa_errno on error.
34797
34798 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34799
34800 * README: In the pupa-mkimage example use _chain instead of chain
34801 and ext2 instead of fat.
34802 * TODO: Replace ext2fs with jfs as an example. Add an item for
34803 adding journal playback for ext2fs.
34804 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34805 (pkgdata_MODULES): Added ext2.mod.
34806 (ext2_mod_SOURCES): New variable.
34807 (ext2_mod_CFLAGS): Likewise.
34808 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34809 * include/pupa/misc.h (pupa_strncpy): New prototype.
34810 (pupa_strcat): Likewise.
34811 (pupa_strncmp): Likewise.
34812 * kern/misc.c (pupa_strcat): Enable function.
34813 (pupa_strncpy): New function.
34814 (pupa_strncmp): Likewise.
34815 * fs/ext2.c: New file.
34816
34817 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34818 when the read failed before retrying.
34819 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34820 (_FILE_OFFSET_BITS): Likewise.
34821 * configure.ac: Added AC_SYS_LARGEFILE.
34822
34823 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34824
34825 * genmk.rb (PModule#rule): Make sure to get only symbol names
34826 from the output of nm.
34827 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34828
34829 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34830
34831 I forgot to check in these changes for a long time. This adds
34832 incomplete support for VGA console, and this is still very
34833 buggy. Also, a lot of consideration is required for I18N,
34834 UNICODE, and VGA font issues. Therefore, assume that this is
34835 such that "better than nothing".
34836
34837 * font/manager.c: New file.
34838 * include/pupa/font.h: Likewise.
34839 * include/pupa/i386/pc/vga.h: Likewise.
34840 * term/i386/pc/vga.c: Likewise.
34841 * util/unifont2pff.rb: Likewise.
34842
34843 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34844 (pkgdata_MODULES): Added vga.mod and font.mod.
34845 (vga_mod_SOURCES): New variables.
34846 (vga_mod_CFLAGS): Likewise.
34847 (font_mod_SOURCES): Likewise.
34848 (font_mod_CFLAGS): Likewise.
34849
34850 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34851
34852 * include/pupa/term.h: Include pupa/err.h.
34853 (struct pupa_term): Added init and fini.
34854 Changed the argument of putchar to pupa_uint32_t.
34855
34856 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34857 (pupa_console_real_putchar): New prototype.
34858 (pupa_console_putchar): Removed.
34859 (pupa_console_checkkey): Exported.
34860 (pupa_console_getkey): Likewise.
34861
34862 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34863 characters.
34864
34865 * kern/term.c (pupa_term_set_current): Rewritten.
34866 (pupa_putchar): Likewise.
34867 (pupa_putcode): New function.
34868
34869 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34870 (pupa_console_real_putchar): ... this.
34871 (pupa_vga_set_mode): New function.
34872 (pupa_vga_get_font): Likewise.
34873
34874 * normal/command.c: Include pupa/term.h.
34875 (terminal_command): New function.
34876 (pupa_command_init): Register the command "terminal".
34877
34878 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34879 (DISP_UP): Likewise.
34880 (DISP_RIGHT): Likewise.
34881 (DISP_DOWN): Likewise.
34882 (DISP_HLINE): Likewise.
34883 (DISP_VLINE): Likewise.
34884 (DISP_UL): Likewise.
34885 (DISP_UR): Likewise.
34886 (DISP_LL): Likewise.
34887 (DISP_LR): Likewise.
34888
34889 * term/i386/pc/console.c (pupa_console_putchar): New function.
34890
34891 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34892
34893 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34894 FIX. Reverse the path_list.
34895
34896 * include/pupa/normal.h: Export pupa_register_command and
34897 pupa_unregister_command.
34898
34899 * hello/hello.c (pupa_cmd_hello): New module.
34900 * conf/i386-pc.rmk: Added hello.mod.
34901
34902 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34903
34904 * kern/i386/pc/lzo1x.S: New file.
34905
34906 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34907 (compress_kernel): New variable.
34908 (generate_image): Heavily modified to support compressing a
34909 large part of the core image.
34910
34911 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34912 leak.
34913 (pupa_util_load_image): New function.
34914
34915 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34916 (pupa_compressed_size): New variable.
34917 (codestart): Enable Gate A20 here.
34918 Decompress the compressed part of the core image.
34919 Rearrange the code to put functions and variables which are
34920 required for initialization in the non-compressed part.
34921 Include lzo1x.S.
34922
34923 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34924 here.
34925
34926 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34927
34928 * include/pupa/i386/pc/kernel.h
34929 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34930 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34931 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34932 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34933 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34934
34935 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34936
34937 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34938 (Utility#rule): Likewise.
34939
34940 * configure.ac: Check if LZO is available.
34941
34942 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34943
34944 * include/pupa/normal.h: New file.
34945 * include/pupa/setjmp.h: Likewise.
34946 * include/pupa/i386/setjmp.h: Likewise.
34947 * normal/cmdline.c: Likewise.
34948 * normal/command.c: Likewise.
34949 * normal/main.c: Likewise.
34950 * normal/menu.c: Likewise.
34951 * normal/i386/setjmp.S: Likewise.
34952
34953 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34954 (pupa_rescue_cmd_initrd): Likewise.
34955
34956 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34957 Likewise.
34958
34959 * kern/i386/pc/startup.S (translation_table): New variable.
34960 (translate_keycode): New function.
34961 (pupa_console_getkey): Call translate_keycode.
34962
34963 * kern/rescue.c (attempt_normal_mode): New function.
34964 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34965 it failed, print a message.
34966
34967 * kern/mm.c (pupa_real_malloc): Print more information when a
34968 free magic is broken.
34969 (pupa_free): If the first free header is not free actually, set
34970 it to P.
34971
34972 * kern/main.c (pupa_load_normal_mode): Just load the module
34973 "normal".
34974 (pupa_main): Don't print the message
34975 "Entering into rescue mode..." here.
34976
34977 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34978 Declared.
34979 (pupa_rescue_cmd_initrd): Likewise.
34980 (pupa_rescue_cmd_initrd): Likewise.
34981
34982 * include/pupa/symbol.h (FUNCTION): Specify the type.
34983 (VARIABLE): Likewise.
34984
34985 * include/pupa/err.h (pupa_err_t): Added
34986 PUPA_ERR_UNKNOWN_COMMAND.
34987
34988 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34989 (pupa_dl_get_prefix): Likewise.
34990
34991 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34992 Added _chain.mod and _linux.mod instead of chain.mod and
34993 linux.mod.
34994 (chain_mod_SOURCES): Renamed to ...
34995 (_chain_mod_SOURCES): ... this.
34996 (chain_mod_CFLAGS): Renamed to ...
34997 (_chain_mod_CFLAGS): ... this.
34998 (linux_mod_SOURCES): Renamed to ...
34999 (_linux_mod_SOURCES): ... this.
35000 (linux_mod_CFLAGS): Renamed to ...
35001 (_linux_mod_CFLAGS): ... this.
35002 (normal_mod_SOURCES): New variable.
35003 (normal_mod_CFLAGS): Likewise.
35004 (normal_mod_ASFLAGS): Likewise.
35005
35006 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
35007
35008 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
35009 possible.
35010
35011 * kern/dl.c (pupa_dl_ref): Refer depending modules
35012 recursively.
35013 (pupa_dl_unref): Unrefer depending modules recursively.
35014 Don't call pupa_dl_unload implicitly, because PUPA can crash if
35015 a module is unloaded before one depending on that module is
35016 unloaded.
35017 (pupa_dl_unload): Unload depending modules explicitly,
35018 if possible.
35019
35020 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
35021
35022 * include/pupa/i386/pc/linux.h: New file.
35023 * loader/i386/pc/linux.c: Likewise.
35024
35025 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
35026 Removed.
35027 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
35028 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
35029 of PUPA_CHAINLOADER_BOOT_SECTOR.
35030
35031 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
35032 (pupa_linux_prot_size): New variable.
35033 (pupa_linux_tmp_addr): Likewise.
35034 (pupa_linux_real_addr): Likewise.
35035 (pupa_linux_boot_zimage): New function.
35036 (pupa_linux_boot_bzimage): Likewise.
35037
35038 * kern/i386/pc/init.c (struct mem_region): New structure.
35039 (MAX_REGIONS): New macro.
35040 (mem_regions): New variable.
35041 (num_regions): Likewise.
35042 (pupa_os_area_addr): Likewise.
35043 (pupa_os_area_size): Likewise.
35044 (pupa_lower_mem): Likewise.
35045 (pupa_upper_mem): Likewise.
35046 (add_mem_region): New function.
35047 (compact_mem_regions): Likewise.
35048 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
35049 the size of the conventional memory and that of so-called upper
35050 memory (before the first memory hole).
35051 Instead of adding each found region to free memory, use
35052 add_mem_region and add them after removing overlaps.
35053 Also, add only 1/4 of the upper memory to free memory. The rest
35054 is used for loading OS images. Maybe this is ad hoc, but this
35055 makes it much easier to relocate OS images when booting.
35056
35057 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
35058 (pupa_enter_rescue_mode): Don't register initrd and module.
35059
35060 * kern/mm.c: Include pupa/dl.h.
35061
35062 * kern/main.c: Include pupa/file.h and pupa/device.h.
35063
35064 * kern/loader.c (pupa_loader_load_module_func): Removed.
35065 (pupa_loader_load_module): Likewise.
35066
35067 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
35068 ``.o''.
35069
35070 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
35071 (pupa_linux_tmp_addr): Likewise.
35072 (pupa_linux_real_addr): Likewise.
35073 (pupa_linux_boot_zimage): Likewise.
35074 (pupa_linux_boot_bzimage): Likewise.
35075
35076 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
35077 (pupa_upper_mem): Likewise.
35078 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
35079 module is too dangerous.
35080
35081 * include/pupa/loader.h (pupa_os_area_addr): Declared.
35082 (pupa_os_area_size): Likewise.
35083 (pupa_loader_set): Remove the first argument. Loader doesn't
35084 manage modules or initrd any longer.
35085 (pupa_loader_load_module): Removed.
35086
35087 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
35088 (linux_mod_SOURCES): New variable.
35089 (linux_mod_CFLAGS): Likewise.
35090
35091 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
35092
35093 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
35094 the length of a blocklist correctly.
35095
35096 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
35097 Use ioctl only if the OS file is a block device.
35098 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
35099 not very useful for normal files.
35100
35101 * kern/main.c (pupa_set_root_dev): New function.
35102 (pupa_load_normal_mode): Likewise.
35103 (pupa_main): Call those above.
35104
35105 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35106 pupa_uint16_t.
35107
35108 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35109
35110 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35111
35112 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35113 (setup): Configure the installed partition information and the
35114 dl prefix.
35115
35116 * loader/i386/pc/chainloader.c (my_mod): New variable.
35117 (pupa_chainloader_unload): New function.
35118 (pupa_rescue_cmd_chainloader): Refer itself.
35119 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35120
35121 * kern/i386/pc/startup.S (install_partition): Removed.
35122 (version_string): Likewise.
35123 (config_file): Likewise.
35124 (pupa_install_dos_part): New variable.
35125 (pupa_install_bsd_part): Likewise.
35126 (pupa_prefix): Likewise.
35127 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35128
35129 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35130 and pupa/misc.h.
35131 (make_install_device): New function.
35132 (pupa_machine_init): Set the dl prefix.
35133
35134 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35135 (buf): Renamed to ...
35136 (linebuf): ... this.
35137 (pupa_rescue_cmd_prefix): New function.
35138 (pupa_rescue_cmd_insmod): Likewise.
35139 (pupa_rescue_cmd_rmmod): Likewise.
35140 (pupa_rescue_cmd_lsmod): Likewise.
35141 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35142 rmmod and lsmod.
35143
35144 * kern/mm.c (pupa_memalign): If failed even after invalidating
35145 disk caches, unload unneeded modules and retry.
35146
35147 * kern/misc.c (pupa_memmove): New function.
35148 (pupa_memcpy): Removed.
35149 (pupa_strcpy): New function.
35150 (pupa_itoa): Made static.
35151
35152 * kern/dl.c (pupa_dl_iterate): New function.
35153 (pupa_dl_ref): Likewise.
35154 (pupa_dl_unref): Likewise.
35155 (pupa_dl_unload): Return if succeeded or not.
35156 (pupa_dl_unload_unneeded): New function.
35157 (pupa_dl_unload_all): Likewise.
35158 (pupa_dl_init): Renamed to ...
35159 (pupa_dl_set_prefix): ... this.
35160 (pupa_dl_get_prefix): New function.
35161
35162 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35163 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35164 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35165 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35166 (pupa_install_dos_part): Declared.
35167 (pupa_install_bsd_part): Likewise.
35168 (pupa_prefix): Likewise.
35169 (pupa_boot_drive): Likewise.
35170
35171 * include/pupa/types.h: Fix a typo.
35172
35173 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35174 pupa_memmove.
35175 (pupa_memmove): Declared.
35176 (pupa_strcpy): Likewise.
35177
35178 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35179 pupa_mod_init takes one argument, its own module.
35180 (pupa_dl_unload_unneeded): Declared.
35181 (pupa_dl_unload_all): Likewise.
35182 (pupa_dl_ref): Likewise.
35183 (pupa_dl_unref): Likewise.
35184 (pupa_dl_iterate): Likewise.
35185 (pupa_dl_init): Renamed to ...
35186 (pupa_dl_set_prefix): ... this.
35187 (pupa_dl_get_prefix): Declared.
35188
35189 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
35190 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
35191 unloaded.
35192 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35193 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35194
35195 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35196 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35197
35198 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35199
35200 * util/i386/pc/pupa-setup.c (setup): Define the internal
35201 function find_first_partition_start at the top level, because GCC
35202 3.0.x cannot compile internal functions in deeper scopes
35203 correctly.
35204 (find_root_device): Use lstat instead of stat.
35205 Don't follow symbolic links.
35206 Fix the path-constructing code.
35207
35208 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35209 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35210 by a BLKGETSIZE ioctl first, because block devices don't fill
35211 the member st_mode of the structure stat on Linux.
35212 [__linux__] (linux_find_partition): Use a temporary buffer
35213 REAL_DEV for the working space. Copy it to DEV before returning.
35214 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35215 buffer cache consistent.
35216 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35217 strncmp. The previous value was merely wrong.
35218 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35219
35220 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35221 FAT size is 12. The previous value was merely wrong.
35222
35223 * kern/main.c (pupa_main): Don't split the starting message from
35224 newlines.
35225
35226 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35227 LF, because BIOS goes crazy about character attributes in this
35228 case.
35229
35230 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35231
35232 * include/i386/pc/util/biosdisk.h: New file.
35233 * util/i386/pc/biosdisk.c: Likewise.
35234 * util/i386/pc/pupa-setup.c: Likewise.
35235
35236 * Makefile.in (INCLUDE_DISTFILES): Added
35237 include/pupa/i386/pc/util/biosdisk.h.
35238 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35239 directory util/i386/pc.
35240 (install-local): Added a rule for sbin_UTILITIES.
35241 (uninstall): Likewise.
35242
35243 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35244
35245 * util/misc.c (xrealloc): New function.
35246 (pupa_malloc): Likewise.
35247 (pupa_free): Likewise.
35248 (pupa_realloc): Likewise.
35249 (pupa_stop): Likewise.
35250 (pupa_putchar): Likewise.
35251
35252 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35253
35254 * include/pupa/util/misc.h (xrealloc): Declared.
35255
35256 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35257 macro.
35258 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35259 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35260
35261 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35262 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35263
35264 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35265 way should be implemented.
35266 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35267
35268 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35269 the size of NAME for safety.
35270 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35271 0x88.
35272
35273 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35274 (pupa_setup_SOURCES): Likewise.
35275
35276 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35277
35278 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35279
35280 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35281 bunch of pushl's from pusha, because this destroys the return
35282 value.
35283
35284 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35285
35286 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35287 This means that any missing prototypes could be fatal. Also, you
35288 must take care when writing assembly code. See the comments at
35289 the beginning of startup.S, for more details.
35290
35291 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35292 compilation mechanism.
35293 (pupa_chainloader_real_boot): Likewise.
35294 (pupa_biosdisk_rw_int13_extensions): Likewise.
35295 (pupa_biosdisk_rw_standard): Likewise.
35296 (pupa_biosdisk_check_int13_extensions): Likewise.
35297 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35298 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35299 (pupa_get_memsize): Likewise.
35300 (pupa_get_mmap_entry): Likewise.
35301 (pupa_console_putchar): Likewise.
35302 (pupa_console_setcursor): Likewise.
35303 (pupa_getrtsecs): Use pushl instead of push.
35304
35305 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35306 memory instead of the stack for a mmap entry, because some
35307 BIOSes may ignore the maximum size and overflow.
35308
35309 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35310
35311 * genmk.rb (PModule#rule): Compile automatically generated
35312 sources with module-specific CFLAGS as well as other sources.
35313
35314 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35315
35316 * configure.ac: Check ld.
35317 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35318 respectively, before checking endianness and sizes.
35319
35320 * Makefile.in (LD): New variable.
35321
35322 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35323
35324 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35325
35326 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35327
35328 * Changelog: New file.
35329