]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* docs/grub.texi (normal): New section.
[grub2.git] / ChangeLog
1 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2
3 * docs/grub.texi (normal): New section.
4 (normal_exit): New section.
5 (Embedded configuration): Add reference to normal.
6 (GRUB only offers a rescue shell): Likewise.
7 * docs/grub-dev.texi (Error Handling): Fix typo.
8
9 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
10
11 * NEWS: Drop obsolete entry about probe-only btrfs support.
12
13 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
14
15 * util/import_gcry.py: Fix typo.
16
17 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * NEWS: Add btrfs support.
20
21 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
23
24 BtrFS support. Written by me (Vladimir) with important bugfixes and
25 even more important testing by Colin.
26
27 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
28 * grub-core/Makefile.core.def (btrfs): Add crc.c.
29 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
30 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
31 mem_input_off and mem_input. All users updated to accept in-RAM input.
32 (gzio_seek): New function.
33 (test_zlib_header): Likewise.
34 (grub_gzio_read): Likewise.
35 (grub_zlib_decompress): Likewise.
36 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
37 Accept partial and non-virtual mounts.
38 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
39 avoid receiving /dev/dm-X as device.
40 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
41 Handle bind and partial mounts.
42 * grub-core/lib/crc.c: New file.
43 * include/grub/deflate.h: Likewise.
44 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
45 proto.
46 * include/grub/lib/crc.h: New file.
47
48 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
49
50 Implement automatic module license checking according to new GNU
51 guidelines.
52
53 * grub-core/kern/dl.c (grub_dl_check_license): New function.
54 (grub_dl_load_core): Use grub_dl_check_license.
55 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
56 (GRUB_MOD_LICENSE): Likewise.
57 (GRUB_MOD_DUAL_LICENSE): Likewise.
58 All modules updated.
59
60 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
61
62 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
63 reserved_first_sector to 1. btrfs reserves plenty of space for boot
64 loaders.
65 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
66
67 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
70
71 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * util/grub-fstest.c (read_file): Report GRUB error if file opening
74 failed.
75
76 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/kern/file.c (grub_file_open): Don't take into account the
79 parenthesis in the middle of the filename.
80
81 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
84 rather than trying to put initrd way too high.
85 Reported by: Ryan Lortie <desrt@desrt.ca>
86
87 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
90 improperly removed string.
91
92 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
95 is_disk.
96 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
97 (open_device) Likewise.
98 (grub_util_biosdisk_close): Likewise.
99 Reported by: Mark Korenberger.
100
101 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
102
103 * util/grub-mkconfig_lib.in: Add missing quotes.
104
105 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
106
107 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
108 is NULL.
109
110 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Dynamically count the number of lines for the lower banner.
113
114 * grub-core/normal/menu_entry.c (per_term_screen): New member
115 num_entries.
116 (print_down): Use num_entries.
117 (update_screen): Likewise.
118 (grub_menu_entry_run): Set num_entries.
119 * grub-core/normal/menu_text.c (menu_viewer_data): New member
120 num_entries.
121 (grub_print_message_indented): Move real part to ...
122 (grub_print_message_indented_real): ... here. Additional argument
123 dry_run.
124 (draw_border): Additional argument num_entries.
125 (print_message): Additional argument dry_run.
126 (print_entries): Receive menu viewer data.
127 (grub_menu_init_page): New argment num_entries.
128 (menu_text_set_chosen_entry): Use num_entries.
129 (grub_menu_try_text): Likewise.
130 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
131 All users updated.
132 (grub_ucs4_count_lines): New function.
133 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
134 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
135 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
136 (grub_term_border_height): Likewise.
137 (grub_term_num_entries): Likewise.
138
139 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
142 Remove now unused string.
143
144 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
145
146 * docs/grub-dev.texi (Finding your way around): Update for 1.99
147 build system.
148 (Getting started): GRUB is developed in Bazaar now, not Subversion.
149
150 (Comment): Fix typo.
151 (Getting started): General copy-editing.
152 (Typical Development Experience): Likewise.
153 (Error Handling): Likewise.
154 (Video API): Likewise.
155
156 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
157
158 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
159 throughout.
160
161 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * util/grub-mkimage.c (main): Handle special naming of yeeloong
164 directory.
165
166 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
167
168 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
169 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
170 "development".
171
172 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
175 grub_strcpy since the lines aren't necessarily 0-terminated.
176
177 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
180 root on legacy.
181
182 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/commands/probe.c (options): Argument to set isn't optional.
185 (GRUB_MOD_INIT): DEVICE isn't optional.
186
187 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
190 word on new line if it's too long anyway. Fixes a hang.
191
192 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
195 const.
196 * util/grub-setup.c (main): Reuse md device name if available.
197 * util/raid.c (grub_util_raid_getmembers): Receive device name and
198 not GRUB name as argument.
199 Based on patch by: Florian Wagner <fwagner>.
200
201 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
204 Place mbi on low memory for better compatibility.
205
206 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
209
210 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
211 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
212
213 * autogen.sh: Ensure that collate and ctype locale is C.
214 * conf/Makefile.common: Likewise.
215
216 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * grub-core/normal/menu.c: Add missing include.
219
220 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
223
224 2011-04-08 Martin Zuther <mzuther@mzuther.de>
225
226 * util/grub-mkconfig.in: Ignore emacsen backup.
227
228 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
231 on open.
232 (grub_util_biosdisk_close): Likewise.
233
234 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
237 const attribute and use grub_isdigit.
238
239 2011-04-06 Andrey <dev_null@ukr.net>
240
241 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
242 gcc warning.
243
244 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
247 useful grub_dprintf's.
248
249 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
252
253 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
256
257 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
258
259 Output errors if theme loading failed.
260
261 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
262 grub_gfxterm_fullscreen on error paths to ...
263 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
264 theme loading error.
265
266 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
269 space for older compilers.
270 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
271
272 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
275 and report them as not RAID members since they are useless for GRUB.
276 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
277
278 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Increase LVM implementation robustness in order not to crash on
281 configurations like pvmove. Previously code assumed that in some places
282 only lvs or only pvs are used whereas it seems that they are used
283 interchangeably.
284
285 * grub-core/disk/lvm.c (read_node): New function.
286 (read_lv): Use read_node.
287 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
288 Match volumes only at the end when all lvs are found. Take both
289 pvs (first) and lvs (second) into account.
290 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
291 mirror_* into node_*. All users updated.
292 (grub_lvm_stripe): Merge this ...
293 (grub_lvm_mirror): ... and this ...
294 (grub_lvm_node): ... into this. All users updated.
295
296 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
299 of function to allow further scanning for LVMs.
300
301 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
304 on failed seek as it breaks open fd reusage.
305
306 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * util/grub-install.in: Add a recommendation to use --recheck before
309 reporting bugs.
310
311 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
314 are obtained.
315
316 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
317
318 GRUB developper manual based on existing Internals section and
319 contributions by the various authors with active copyright assignment.
320
321 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
322 * docs/font_char_metrics.png: New file.
323 * docs/font_char_metrics.txt: Likewise.
324 * docs/grub-dev.texi: Likewise.
325 * docs/grub.texi (Internals): Move from here ...
326 * docs/grub-dev.texi: ... here.
327
328 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
329
330 Store the loopback device as data on loopback grub_disk structures,
331 rather than the file it points to. This fixes use of freed memory
332 if an existing loopback device is replaced.
333
334 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
335 disk->data, not dev->file.
336 (grub_loopback_read): Adjust file assignment to match.
337 Fixes Ubuntu bug #742967.
338
339 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
340
341 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
342 when replacing an existing device.
343
344 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
345
346 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
347 memory corruptions.
348
349 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
350 unsigned.
351 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
352 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
353 (grub_jfs_read_inode): Likewise.
354 (grub_jfs_opendir): Likewise. Remove now useless casts.
355 (grub_jfs_getent): Likewise.
356 Make ino a grub_uint32_t rather than int.
357 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
358 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
359 division and module with bit operations.
360 (grub_jfs_find_file): Make ino a grub_uint32_t.
361 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
362
363 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
364
365 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
366 warning. (This was in fact always initialised before use, but GCC
367 wasn't smart enough to prove that.)
368 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
369
370 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
373 stack alignment.
374 (efi_wrap_1): Likewise.
375 (efi_wrap_2): Likewise.
376 (efi_wrap_3): Likewise.
377 (efi_wrap_4): Likewise.
378 (efi_wrap_5): Likewise.
379 (efi_wrap_6): Likewise.
380 (efi_wrap_10): Likewise.
381 Based on information by: Red Hat/Peter Jones.
382
383 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
384
385 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
386 set-but-not-used variable.
387
388 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
389
390 * docs/grub.texi (Simple configuration): Be more explicit about
391 GRUB_DEFAULT, and add an example.
392 Reported by: Leslie Rhorer.
393
394 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
395
396 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
397 shell".
398
399 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
400
401 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
402 * util/grub.d/20_linux_xen.in: Likewise.
403
404 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * util/grub.d/10_linux.in: Try alternative config filenames where
407 we parse config file.
408 * util/grub.d/20_linux_xen.in: Likewise.
409
410 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
411
412 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
413 * util/grub.d/20_linux_xen.in: Likewise.
414
415 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/disk/raid.c (insert_array): Add few potentially
418 useful grub_util_info.
419 (grub_raid_register): Likewise.
420
421 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
424 Preserve partition number in mdadm code path.
425
426 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
429 few potentially useful grub_util_info.
430
431 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
434
435 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
436
437 * docs/grub.texi (default): Use @example rather than nested
438 itemized lists to avoid breaking gendocs.
439
440 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
441
442 * docs/grub.texi (Future): Update.
443
444 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
445
446 * docs/grub.texi (Environment): New chapter.
447 (Changes from GRUB Legacy): Link to "Environment block" section for
448 details of limitations.
449 (Simple configuration): Likewise. Link to documentation of gfxmode
450 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
451 respectively.
452 (Shell-like scripting): Note that normal variables are stored in the
453 environment.
454 (gettext): Link to documentation of lang and locale_dir.
455 (list_env): New section.
456 (load_env): New section.
457 (save_env): New section.
458
459 (Reporting bugs): Fix typo.
460
461 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
464 the example.
465
466 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/term/at_keyboard.c (set_scancodes)
469 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
470
471 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
472
473 * docs/grub.texi (Menu-specific commands): Remove some semantics
474 that were true in GRUB Legacy but not in GRUB 2.
475 (submenu): New section.
476 (false): New section.
477 (read): New section.
478 (true): New section.
479
480 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
481
482 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
483
484 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
485
486 * docs/grub.texi (Simple configuration): Explain some of the
487 current limitations of grub-mkconfig.
488 Reported by: Leslie Rhorer.
489
490 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Old macs search for boot.efi rather than for bootia32.efi.
493
494 * util/grub-install.in: Copy bootia32.efi to boot.efi.
495 * util/grub-mkrescue.in: Likewise.
496 Suggested by: Peter Jones.
497
498 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
501
502 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
505 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
506 (grub_lvm_mirror): New struct.
507 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
508 (grub_lvm_iterate): Iterate only visible volumes.
509 (grub_lvm_read): Factor out to ..
510 (read_lv): ... this. Support mirrors.
511 (grub_lvm_read): New wrapper function.
512 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
513 stripped or mirrored.
514
515 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
518
519 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
520
521 * docs/grub.texi (loopback): New section.
522
523 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
524
525 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
526 removed -p option.
527
528 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
529
530 * docs/grub.texi (BIOS installation): New section, partly based on
531 previous text in other sections.
532 (Installing GRUB using grub-install): Replace BIOS discussion with a
533 cross-reference.
534 (Images): Likewise.
535
536 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/kern/emu/hostdisk.c (find_partition_start)
539 [HAVE_DIOCGDINFO]: Add safety checks.
540
541 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
544 per default compiled in kernel and prior to 8.0 isn't shipped at all.
545
546 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
547
548 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
549 real_sb->size is zero (e.g. RAID-0), get the disk size from
550 real_sb->data_size instead.
551 Fixes Ubuntu bug #743136.
552
553 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
556 printf clauses for printing size and start.
557
558 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
561 Reported and tested by: Timothy Nikkel.
562
563 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
566 (dirty_region_add_real): ... this.
567 (dirty_region_add): Don't discard margin refresh when performing
568 scheduled repaint.
569
570 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/lib/relocator.c (allocate_regstart)
573 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
574 terminals are capabple of malloc-free operation.
575 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
576 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
577
578 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
579
580 * util/grub-setup.c: Copy the partition table zone if floppy support
581 is disabled, even if no partition table is found.
582
583 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
584 during POST if an invalid partition table is contained in the PBR
585 of the active partition when GRUB is installed to a partition.
586
587 2011-03-28 Colin Watson <cjwatson@debian.org>
588
589 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
590 comment.
591
592 2011-03-28 Colin Watson <cjwatson@debian.org>
593
594 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
595 to be specific about what kind of RAID device we're scanning for.
596
597 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
598
599 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
600 return freed string.
601
602 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
605
606 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
607
608 Use libgeom on FreeBSD to detect partitions.
609
610 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
611 (grub-mkrelpath): Likewise.
612 (grub-script-check): Likewise.
613 (grub-editenv): Likewise.
614 (grub-mkpasswd-pbkdf2): Likewise.
615 (grub-fstest): Likewise.
616 (grub-mkfont): Likewise.
617 (grub-mkdevicemap): Likewise.
618 (grub-probe): Likewise.
619 (grub-setup): Likewise.
620 (grub-ofpathname): Likewise.
621 (grub-mklayout): Likewise.
622 (example_unit_test): Likewise.
623 (grub-menulst2cfg): Likewise.
624 * grub-core/Makefile.core.def (grub-emu): Likewise.
625 (grub-emu-lite): Likewise.
626 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
627 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
628 define HAVE_DIOCGDINFO.
629 (follow_geom_up) [FreeBSD]: New function.
630 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
631 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
632 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
633 unconditionally of HAVE_DIOCGDINFO.
634
635 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
636
637 Fix FreeBSD compilation problem.
638
639 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
640 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
641
642 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
643
644 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
645 Switch back to page zero before loading a kernel, since some kernel
646 drivers expect that.
647 Thanks to: Felix Kuehling.
648
649 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
652 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
653 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
654
655 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
658 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
659
660 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
663 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
664 malloc is disabled.
665
666 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
669 for modules headers when counting the needed allocation size.
670
671 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
674 if no ASCII character is found to prevent crash.
675
676 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
677
678 * grub-core/video/bitmap.c (match_extension): Ignore case.
679
680 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
683
684 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/script/parser.y: Declare "time" as valid argument.
687
688 2011-03-23 Peter Jones <pjones@redhat.com>
689
690 Fix incorrect assert failure reporting.
691
692 * grub-core/tests/example_functional_test.c (example_test): Add
693 a failure comment.
694 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
695 (failure_start): ...this. Check that malloc succeeded.
696 Don't call xvasprintf. Return failure struct.
697 (failure_append_vtext): New function.
698 (failure_append_text): Likewise.
699 (add_failure): Likewise.
700 (grub_test_assert_helper): Likewise.
701 * include/grub/test.h (grub_test_assert_helper): New declaration.
702 (grub_test_assert): Macro rewritten.
703
704 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
707
708 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
711
712 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
715 into GRUB-style one.
716
717 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
720 error and not grub_errno.
721 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
722
723 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
726 GRUB_USB_SPEED_NONE in case of failure and not the error code.
727
728 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/efiemu/i386/pc/cfgtables.c
731 (grub_machine_efiemu_init_tables): Make declaration a prototype.
732 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
733 (grub_xnu_unlock): Likewise.
734 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
735
736 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
739 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
740 * grub-core/commands/hashsum.c (aliases): Likewise.
741 * grub-core/commands/setpci.c (pci_registers): Likewise.
742 * grub-core/disk/usbms.c (attach_hook): Likewise.
743 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
744 (zio_checksum_table): Likewise.
745 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
746 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
747 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
748 * grub-core/lib/relocator.c (leftovers): Likewise.
749 (extra_blocks): Likewise.
750 * grub-core/loader/i386/bsd.c (relocator): Likewise.
751 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
752 (modules_last): Likewise.
753 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
754 (devices): Likewise.
755 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
756 (modules_last): Likewise.
757 * grub-core/normal/auth.c (users): Likewise.
758 * grub-core/normal/context.c (initial_menu): Likewise.
759 (current_menu): Likewise.
760 * grub-core/normal/crypto.c (crypto_specs): Likewise.
761 * grub-core/term/serial.c (grub_serial_ports): Likewise.
762 (grub_serial_terminfo_input_template): Likewise.
763 (grub_serial_terminfo_output_template): Likewise.
764 (grub_serial_terminfo_input): Likewise.
765 (grub_serial_terminfo_output): Likewise.
766 (registered): Likewise.
767 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
768
769 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
772 grub_video_mode_type_t.
773 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
774 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
775 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
776
777 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * util/grub-install.in: Correct the x86-64 name as x86_64.
780
781 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
782
783 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
784 initial chunk read from the kernel always includes GRUB's multiboot
785 header, which is now outside the first sector.
786
787 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
788
789 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
790 cached mmap_size, so that this works correctly when called multiple
791 times.
792 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
793
794 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
795
796 * docs/grub.texi (Simple configuration): Tidy up formatting.
797
798 2011-03-07 Szymon Janc <szymon@janc.net.pl>
799
800 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
801 Set-but-not-used variable removed.
802
803 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Workaround yet another IEEE1275 bug.
806
807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
808 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
809 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
810 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
811 is set.
812 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
813 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
814
815 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
818 error.
819
820 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
821
822 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
823 empty, since in that case we can only generate either nothing or a
824 syntactically invalid configuration file.
825 Reported by: Michal Suchanek. Fixes Debian bug #612898.
826
827 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
828
829 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
830 (Making a GRUB bootable CD-ROM): Likewise.
831 (Invoking grub-mkrescue): New section.
832 Reported by: Yann Dirson. Fixes Debian bug #612585.
833
834 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
835
836 * util/grub-install.in: Remove unnecessary brackets from tr
837 arguments.
838 * util/grub.d/10_hurd.in: Likewise.
839 * util/grub.d/10_kfreebsd.in: Likewise.
840 * util/grub.d/10_linux.in: Likewise.
841 * util/grub.d/20_linux_xen.in: Likewise.
842 Reported by: Jamie Heilman. Fixes Debian bug #612564.
843
844 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
845
846 * include/grub/file.h (not_easly_seekable): Rename to ...
847 (not_easily_seekable): ... this. Update all users.
848
849 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
850
851 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
852 grub-mkrescue.
853
854 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-mkimage.c (generate_image): Refuse to create the images
857 bigger than the actual flash (512K) in Loongson machines. 512K is also
858 the biggest chip supported by them.
859
860 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
863
864 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
865
866 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
867 super_offset field.
868
869 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-install.in: Ignore install device on platforms
872 where it doesn't make sense. Always use UUIDs except on pc, efi and
873 sparc64.
874 Reported by: Daniel Kahn Gillmor.
875
876 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
879
880 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
883 (iterate_real): Don't rely on partition being non-NULL.
884
885 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
888 supported platforms. Put a compile time assert for this rather than
889 generate a warning with 32-bit shift.
890
891 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
894 logical expression more readable.
895
896 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
899 even if some elements have a name.
900 Reported by: Alexander GQ Gerasiov.
901
902 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
903
904 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
905 path unreadable if `grub-probe -t abstraction' fails, for example if
906 memberlist fails on an LVM volume group.
907 Reported by: Darius Jahandarie.
908
909 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
910
911 * docs/grub.texi (Simple configuration): Document
912 GRUB_PRELOAD_MODULES.
913
914 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
915
916 * .bzrignore: Remove nonexistent grub-pbkdf2.
917
918 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * configure.ac: Bump version to 1.99~rc1.
921
922 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
925 for safety.
926
927 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
930 module.
931
932 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
935
936 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
939 diskdevid.
940
941 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Fix compilation on cygwin.
944
945 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
946 -R .drectve on cygwin.
947 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
948 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
949 (COND_CYGWIN): New condition.
950 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
951 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
952 not @TARGET_OBJ2ELF@.
953 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
954 type to determine whether aux is to be used.
955
956 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
959 realpath'ed device string.
960 Handle floppy (somewhat).
961 Issue error in unknown case rather than garbage.
962 Reported by: Axel Beckert.
963
964 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * util/grub.d/00_header.in (load_video): Handle the case when no video
967 drivers available.
968 Thanks to: Axel Beckert.
969
970 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
973 variable. Fixes problem on big endian platforms.
974
975 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
978 It doesn't work well there.
979
980 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
983 warning.
984 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
985 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
986 counter.
987
988 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
989
990 Use alias->path rather than buggy "canon".
991
992 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
993 (ofdisk_hash_add): New argument curcan. All users updated.
994
995 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
996
997 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
998
999 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1002 loadmask before doing any calculations. Use correct type for offset.
1003 (grub_linux_load64): Likewise.
1004
1005 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1006
1007 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1008 with NULL.
1009 (console_grub_equivalences_unshift): Likewise.
1010 Reported by: Daniel Dehennin.
1011
1012 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1015 (set_env_limn_ro): Likewise.
1016 (GRUB_MOD_INIT): Likewise.
1017 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1018 ARRAY_SIZE while on it.
1019 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1020 * grub-core/normal/context.c (grub_env_export): Move from here ...
1021 * grub-core/kern/env.c (grub_env_export): ... here.
1022 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1023 prefix.
1024 * grub-core/kern/main.c (grub_main): Export root and prefix.
1025 * include/grub/env.h (grub_env_export): Export.
1026 Reported by: Seth Goldberg.
1027
1028 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1031 Take into account space used by ELF sections and multiboot palette.
1032 Reported by: Grégoire Sutre.
1033
1034 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * BUGS: New file.
1037
1038 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 Pass more appropriate video id to Linux.
1041
1042 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1043 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1044 fill have_vga.
1045 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1046 shift params->lfb_size.
1047 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1048
1049 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1052
1053 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1056 separator and pass bootpath/devid even if only one of them is available.
1057 Reported by: Seth Goldberg.
1058
1059 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1062 implementations bug on them.
1063
1064 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1065 memory.
1066 (filter_memory_map): Likewise.
1067
1068 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1071 Reported by: nebuchadnezzar.
1072
1073 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1076 Reported by: nebuchadnezzar.
1077
1078 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 Submenu default support.
1081
1082 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1083 auto_boot. All users updated.
1084 Declared static.
1085 Handle chosen and default with submenus.
1086 (grub_menu_execute_with_fallback): Declared static.
1087 Don't notify failure if autobooted. Upper level does it.
1088 (menuentry_eq): New function.
1089 (get_entry_number): Use menuentry_eq.
1090 (show_menu): New parameter "autobooted". All users updated.
1091 (grub_show_menu): Likewise.
1092 * include/grub/normal.h (grub_show_menu): Likewise.
1093 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1094 (grub_menu_execute_with_fallback): Likewise.
1095
1096 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * util/grub-mklayout.c (usage): Update help text.
1099
1100 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1103
1104 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/grub-menulst2cfg.c (main): Trim the line.
1107
1108 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1111 (grub_machine_init): Don't check amount of low memory as reportedly
1112 INT 12h can be broken and if low memory is too low we wouldn't have
1113 gotten into grub_machine_init anyway.
1114
1115 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1118 (grub_machine_mmap_iterate): Take low memory into account
1119
1120 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1123 badfs.
1124 Reported by: TiCPU.
1125
1126 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1129 members errors.
1130
1131 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1132
1133 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1134 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1135
1136 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1137
1138 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1139 openbsd and netbsd types being in part_bsd module.
1140
1141 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1144 (_FILE_OFFSET_BITS): Likewise.
1145 Reported by: Seth Goldberg.
1146
1147 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1148
1149 * configure.ac: Check for libdevmapper header.
1150
1151 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1154 avoid aliasing.
1155 (fzap_lookup): Likewise.
1156 (dnode_get): Likewise.
1157 (make_mdn): Likewise.
1158 (zfs_mount): Likewise.
1159 (fzap_iterate): Use temporary pointer to avoid aliasing.
1160 (grub_zfs_read): Likewise.
1161 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1162 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1163 pointers to avoid aliasing.
1164 (grub_cmd_xnu_kernel64): Likewise.
1165 (grub_xnu_load_driver): Likewise.
1166
1167 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1170 aliasing warning.
1171 (grub_cmd_terminal_output): Likewise.
1172 Reported and tested by: Grégoire Sutre.
1173
1174 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1177 warning.
1178 Reported and tested by: Grégoire Sutre.
1179
1180 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * configure.ac: Do CPU substitution even if it's specified explicitly.
1183 Reported and tested by: Alain Greppin.
1184
1185 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1188 Reported and tested by: Alain Greppin.
1189
1190 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Satisfy some bison versions need for inttypes.h.
1193
1194 * grub-core/lib/posix_wrap/inttypes.h: New file.
1195 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1196 (int16_t): Likewise.
1197 (int32_t): Likewise.
1198 (int64_t): Likewise.
1199 Reported and tested by: Alain Greppin.
1200
1201 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1204 Silence spurious warning.
1205 Reported and tested by: Alain Greppin.
1206
1207 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1208
1209 * docs/grub.texi (Support automatic decompression): Update with xz
1210 decompression support.
1211
1212 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1213
1214 Improve loaders' kernel command line handling.
1215
1216 * grub-core/lib/cmdline.c: New file.
1217 * include/grub/lib/cmdline.h: Likewise.
1218 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1219 grub_create_loader_cmdline to create kernel command line.
1220 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1221 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1222 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1223 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1224 (linux): Add lib/cmdline.c on common.
1225
1226 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1229 inopos might be unaligned.
1230
1231 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1234 endian transformations.
1235 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1236 Based on report by: Doug Nazar.
1237
1238 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1239
1240 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1241 array->members[i].start_sector.
1242 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1243
1244 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1247 Reported and tested by: Grégoire Sutre.
1248
1249 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1250
1251 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1252 avoid causing test failures by clearing the screen.
1253
1254 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1255
1256 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1257 Fix prefix check to handle the case where dir ends with a slash
1258 (most significantly, "/" itself).
1259 Reported by: Michael Vogt.
1260
1261 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Run terminfo_cls on initing terminfo output to clear the screen and
1264 move the cursor to (0,0).
1265
1266 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1267 Call grub_terminfo_output_init.
1268 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1269 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1270 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1271
1272 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1275 only when needed.
1276
1277 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1280 CTRL.
1281
1282 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 The E820 type 5 is BADRAM, not EXEC_CODE.
1285
1286 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1287 (GRUB_E820_BADRAM): New define.
1288 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1289 into reserved. Propagate BADRAM.
1290 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1291 (GRUB_E820_BADRAM): New define.
1292
1293 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1296 Ignore the memory post-4G.
1297 (grub_relocator_firmware_alloc_region): Additional debug statement.
1298
1299 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1302 names.
1303 Reported by: David Pravec.
1304
1305 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1308 BIOSes.
1309
1310 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1313 Prevent overflow.
1314 (grub_reed_solomon_recover): Likewise.
1315
1316 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1319
1320 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1323 variable.
1324
1325 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1326
1327 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1328 descriptions of extract_legacy_entries_source and
1329 extract_legacy_entries_configfile.
1330 Reported by: Seung Soo, Ha.
1331
1332 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1333
1334 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1335 on devices that do not implement function 0.
1336
1337 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1338
1339 * grub-core/fs/hfsplus.c: Make parent unsigned.
1340 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1341 overflows.
1342 (grub_hfsplus_cmp_extkey): Likewise
1343
1344 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-install.in: Correctly use bootloader_id and not
1347 GRUB_DISTRIBUTOR on efibootmgr line.
1348
1349 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1352
1353 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1354
1355 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1356 Xen and reorder menu item wording to make it clearer that this entry
1357 will launch Xen. Print separate messages when loading Xen and
1358 Linux.
1359
1360 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1363 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1364 loop in case of incorrect amiga partmap.
1365
1366 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1369 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1370 Reported by:EHeM.
1371
1372 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1375 spurious warning.
1376 Reported by: crocket
1377
1378 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1381 Preload EFIemu.
1382 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1383
1384 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1387 is loaded
1388 (grub_cmd_xnu_kextdir): Likewise.
1389 (grub_cmd_xnu_splash): Likewise.
1390
1391 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Avoid using Reed-Solomon with 0 redundancy.
1394
1395 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1396 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1397 or 0 redundancy.
1398 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1399 (grub_reed_solomon_recover): Likewise.
1400
1401 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 Don't use disk subsystem in freebsd_boot.
1404
1405 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1406 (freebsd_biosdev): Likewise.
1407 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1408 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1409
1410 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 Handling of files of unknown size is currently limited. They can't be
1413 used e.g. for initrd or modules. Moreover gzip handling of not
1414 easily seekable files is buggy. Disable unknown file size for now. May
1415 be inefficient but works.
1416
1417 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1418 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1419
1420 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1421
1422 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1423 floppy probe.
1424
1425 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1426
1427 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1428
1429 2010-12-25 Shea Levy <shlevy>
1430
1431 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1432
1433 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1436 Windows Server 2008.
1437 Reported by: Devin Giddings.
1438
1439 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1442 writing an error message because of async power management.
1443 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1444 (grub_reboot): Likewise.
1445
1446 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1447
1448 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1449 keep unit tests from failing when they shouldn't.
1450
1451 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1452
1453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1454 previous patch increased the size of the RS code by 20 bytes (at
1455 least with gcc-4.4), so increase this by 20 bytes to match.
1456 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1457
1458 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1459
1460 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1461 scratch area. Make sure to initialise chosen in standalone mode as
1462 well as non-standalone.
1463 Reported by: Robert Hooker and Andy Whitcroft.
1464 Tested by: Andy Whitcroft.
1465
1466 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1467
1468 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1469 constructing a new unescaped string and passing it to grub_xputs in
1470 one go, rather than passing characters to grub_printf one at a time.
1471
1472 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1473
1474 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1475 initialising utf16.
1476
1477 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1478
1479 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1480 comment. Add an extra layer of quotation, requiring the output of
1481 this function to be used in a printf format string.
1482 (gettext_printf): New function.
1483 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1484 Extract translatable strings from here-documents and use a temporary
1485 variable instead, so that xgettext can find them.
1486 * util/grub.d/10_kfreebsd.in: Likewise.
1487 * util/grub.d/10_linux.in: Likewise.
1488 * util/grub.d/20_linux_xen.in: Likewise.
1489
1490 * po/grub.d.sed: New file.
1491 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1492 arguments. Set c-format flags on all strings extracted from
1493 util/grub.d/ (xgettext refuses to include these itself for strings
1494 it extracted from a shell file, but these really are c-format).
1495
1496 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1499 Avoid next pointing to nowhere.
1500
1501 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1504 rather than assuming than rootblock is exactly in the middle.
1505 (grub_affs_label): Likewise.
1506
1507 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1510 reserved_first_sector to 0.
1511 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1512 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1513 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1514
1515 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 Fix handling of UTF-16 UDF labels.
1518
1519 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1520 (read_string): .. here.
1521 (grub_udf_label): Use read_string.
1522
1523 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1524
1525 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1526 editor under argument scope.
1527 Reported by: Jordan Uggla
1528
1529 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1532
1533 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1534
1535 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1536 line, and other keys scroll an entire page (previous handling was
1537 for \r and \n to scroll a page and other keys to scroll two lines).
1538
1539 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1542 Set ptrdest to correct get_physical_target_address rather than
1543 incorrect get_virtual_current_address.
1544
1545 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1546
1547 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1548 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1549
1550 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * .bzrignore: Ignore grub-core/rs_decoder.S.
1553
1554 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1555
1556 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1557 .mo/.mo.gz opening sequence to ...
1558 (grub_mofile_open_lang): ... here.
1559 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1560 * util/grub.d/00_header.in (grub_lang): Include country part of
1561 locale.
1562 Reported by: Mario Limonciello.
1563
1564 2010-12-09 Robert Millan <rmh@gnu.org>
1565
1566 * NEWS: Document addition of ZFS support.
1567
1568 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1569
1570 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1571 rather than `/ 2', as the latter requires -Wa,--divide which would
1572 require bumping our minimum binutils version.
1573
1574 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1575
1576 * util/grub-script-check.c (main): Print script line number on
1577 error.
1578
1579 2010-12-01 Robert Millan <rmh@gnu.org>
1580
1581 * grub-core/fs/zfs/zfs.c: New file.
1582 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1583 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1584 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1585 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1586
1587 * include/grub/zfs/dmu.h: Likewise.
1588 * include/grub/zfs/dmu_objset.h: Likewise.
1589 * include/grub/zfs/dnode.h: Likewise.
1590 * include/grub/zfs/dsl_dataset.h: Likewise.
1591 * include/grub/zfs/dsl_dir.h: Likewise.
1592 * include/grub/zfs/sa_impl.h: Likewise.
1593 * include/grub/zfs/spa.h: Likewise.
1594 * include/grub/zfs/uberblock_impl.h: Likewise.
1595 * include/grub/zfs/vdev_impl.h: Likewise.
1596 * include/grub/zfs/zap_impl.h: Likewise.
1597 * include/grub/zfs/zap_leaf.h: Likewise.
1598 * include/grub/zfs/zfs.h: Likewise.
1599 * include/grub/zfs/zfs_acl.h: Likewise.
1600 * include/grub/zfs/zfs_znode.h: Likewise.
1601 * include/grub/zfs/zil.h: Likewise.
1602 * include/grub/zfs/zio.h: Likewise.
1603 * include/grub/zfs/zio_checksum.h: Likewise.
1604
1605 * Makefile.util.def: Build ZFS into libgrubmods.
1606 * grub-core/Makefile.core.def: Build zfs.mod.
1607
1608 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1609
1610 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1611 variable.
1612 * grub-core/commands/wildcard.c (match_files): Likewise.
1613
1614 2010-11-30 Robert Millan <rmh@gnu.org>
1615
1616 * grub-core/loader/i386/bsd.c
1617 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1618 whether kernel is loaded using grub_loader_is_loaded(), rather
1619 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1620 certain error conditions.
1621
1622 2010-11-30 Robert Millan <rmh@gnu.org>
1623
1624 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1625 (grub_cmd_echo): Call grub_refresh() after printing a message.
1626
1627 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Avoid using tricks for initialising endian variables.
1630
1631 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1632 Make const.
1633 (GRUB_MOD_INIT): Don't byte-swap.
1634 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1635 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1636 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1637 (grub_swap_bytes32_compile_time): Likewise.
1638 (grub_cpu_to_le32_compile_time): Likewise.
1639 (grub_cpu_to_le16_compile_time): Likewise.
1640
1641 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * util/grub-setup.c (setup): Stop recommending --force. People who
1644 understand the dangers of blocklists are able to find this option
1645 anyway and the ones who don't shouldn't use it anyway.
1646
1647 2010-11-26 Robert Millan <rmh@gnu.org>
1648
1649 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1650 Update all users.
1651
1652 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1653
1654 Fix LVM-on-RAID probing.
1655
1656 * util/grub-probe.c (probe): Remember which disk was detected as
1657 RAID (perhaps an LVM physical volume). Use that disk's raidname
1658 rather than that of the top-level disk.
1659
1660 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1661
1662 Fix cmdline argument quotes for setparams command of menuentry
1663 definitions.
1664
1665 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1666 quotes for arguments.
1667 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1668 grub_strchrsub function instead.
1669
1670 * include/grub/misc.h (grub_strchrsub): New function.
1671
1672 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1673
1674 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1675 effort by skipping "." and ".." entries up-front.
1676 Suggested by: Michael Lazarev.
1677
1678 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1679
1680 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1681 ldflags to ldadd, to fix link line ordering.
1682 (none_decompress): Likewise.
1683
1684 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1685
1686 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1687 platforms.
1688 (grub-emu-lite): Remove kern/emu/cache.S.
1689
1690 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1691
1692 * util/deviceiter.c (compare_devices): If the by-id link for a
1693 device couldn't be resolved, fall back to sorting by the by-id link
1694 rather than segfaulting.
1695 Reported and tested by: Daniel Mierswa.
1696
1697 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1698
1699 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1700 ldflags, to fix link line ordering.
1701
1702 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1703
1704 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1705 linkers are picky about this.
1706
1707 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1708
1709 * grub-core/Makefile.am (command.lst): Adjust sed expression
1710 ordering so that extended and priority commands aren't treated as
1711 ordinary commands.
1712
1713 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1714
1715 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1716 Remove byte-swapping function calls, which are not valid in
1717 structure initialisers.
1718 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1719 non-const.
1720 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1721 grub_gpt_partition_type_bios_boot.
1722
1723 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1724
1725 Fix test program build on GNU/kFreeBSD.
1726
1727 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1728 $(LIBNVPAIR)' library dependencies.
1729
1730 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1731
1732 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1733
1734 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1735
1736 * util/grub-install.in: Remove excessive quoting that broke
1737 installations to RAID devices.
1738
1739 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1742 bootloader version instead of 0.
1743
1744 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1747 warning.
1748
1749 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1752 retrieve the metadat sector if size isn't known.
1753 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1754
1755 2010-11-18 Robert Millan <rmh@gnu.org>
1756
1757 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1758 with grub_memcmp().
1759
1760 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1763 arrow.
1764 Reported by: Jordan Uggla.
1765
1766 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 Make better UTF compliant.
1769
1770 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1771 sequences as incorrect.
1772 (grub_is_valid_utf8): Likewise.
1773 (grub_utf8_to_ucs4): Likewise.
1774 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1775 (grub_ucs4_to_utf8_alloc): Likewise.
1776 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1777
1778 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Make legacy_source behave like source.
1781
1782 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1783 grub_show_menu.
1784 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1785
1786 2010-11-16 Colin Watson <cjwatson@debian.org>
1787
1788 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1789 (-Wunused implies -Wunused-parameter, but not vice versa).
1790
1791 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
1792
1793 * configure.ac: Make error messages less confusing by testing for
1794 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1795 accepted, but produces a diagnostic if something else is wrong).
1796
1797 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1800 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1801 (now unused).
1802 (grub_keyboard_controller_init)
1803 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1804 read the initial state since controller isn't inited yet.
1805
1806 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1809 allocate_regbeg may need to create new chunk header.
1810
1811 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Fix quoting in legacy parser.
1814
1815 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1816 single quotes.
1817 (grub_legacy_parse): Likewise.
1818 Reported by: Jordan Uggla.
1819 Tested by: Jordan Uggla.
1820
1821 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 Don't add -lgcc on i386 and x86_64.
1824
1825 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1826 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1827 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1828
1829 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * configure.ac: Add -Wno-trampolines when supported.
1832
1833 2010-11-14 Modestas Vainius <modax@debian.org>
1834
1835 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1836 fakeraid.
1837
1838 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1839
1840 Add generic logical block size support for UDF.
1841
1842 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1843 (GRUB_UDF_BLKSZ): Removed.
1844 (struct grub_udf_data): New field "lbshift" to hold the logical block
1845 size of the file system in log2 format. All users updated.
1846 (sblocklist): Change type to unsigned.
1847 (grub_udf_mount): Change type of "sblklist" to unsigned.
1848 Move AVDP search before VRS recognition, because the latter requires
1849 knowledge of the logical block size, which is detected during the
1850 former.
1851 Detect and validate logical block size during AVDP search, adding
1852 support for block sizes 512, 1024 and 4096.
1853 Make VRS recognition independent of block size.
1854
1855 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1856
1857 Properly handle deleted files on UDF.
1858
1859 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1860 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1861 set.
1862
1863 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1864
1865 Support reading files larger than 2 GiB.
1866
1867 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1868 "offset" to grub_off_t.
1869 (grub_udf_read_file): Likewise for parameter "pos".
1870
1871 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1874 unavailable.
1875 (Simple configuration): Refer to Changes from GRUB Legacy about
1876 save_env availability.
1877
1878 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * util/grub-install.in: Ignore empty partition table detection
1881 instead of trying to include part_ module.
1882
1883 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1886 LVM on RAID support.
1887
1888 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 Properly define WORDS_BIGENDIAN in wrapped environments.
1891
1892 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1893 definition.
1894 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1895
1896 Reported by: Manoel Rebelo Abranches.
1897 Tested by: Manoel Rebelo Abranches.
1898
1899 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/grub-mkconfig.in: Fix quoting.
1902
1903 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Support big ext2 files.
1906
1907 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1908 (grub_ext2_read_block): Support triple indirect blocks.
1909 (grub_ext2_read_file): Use 64-bit types and read size_high.
1910 (grub_ext2_open): Read size_high.
1911 Reported by: Ximin Luo.
1912 Tested by: Manoel Rebelo Abranches.
1913
1914 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * util/grub-install.in: Handle filenames containing spaces.
1917 Reported by: Jordan Uggla.
1918 Tested by: Jordan Uggla.
1919
1920 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * util/grub-mkconfig.in (grub_script_check): New variable.
1923 Use grub_script_check instead of grub-script-check.
1924 Reported by: Barry Jackson.
1925
1926 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * docs/grub.texi (menu): Correct the order.
1929 Reported by: D. Hugh Redelmeier.
1930
1931 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1934 jump.
1935
1936 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1937
1938 * include/grub/elfload.h (grub_elf32_size): New parameter.
1939 All users updated.
1940 Return maximum segments alignment.
1941 (grub_elf64_size): Likewise.
1942 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1943 Return maximum segments alignment.
1944 (grub_elf64_size): Likewise.
1945 * grub-core/loader/powerpc/ieee1275/linux.c:
1946 (grub_linux_claimmap_iterate): New function. Uses the
1947 "available" property in the "memory" node for memory allocation
1948 for kernel in the PowerPC loader.
1949 (grub_linux_load32): Correctly find linux entry point offset.
1950 (grub_linux_load64): Likewise.
1951
1952 2010-11-07 Robert Millan <rmh@gnu.org>
1953
1954 On mips-yeeloong, build with -march=loongson2f when this flag is
1955 available (GCC >= 4.4).
1956 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1957 `-march=mips3'.
1958 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1959 or otherwise add -march=mips3.
1960
1961 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1962
1963 Suppress shell expansion on echo '*' and echo "*" like cases.
1964 Reported by: Jordan Uggla.
1965
1966 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1967 string arguments before shell expansion.
1968 * tests/grub_cmd_echo.in: New testcases.
1969
1970 2010-11-07 Robert Millan <rmh@gnu.org>
1971
1972 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1973 transition.
1974
1975 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/kern/emu/hostdisk.c
1978 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1979
1980 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1983 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1984 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1985
1986 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1989
1990 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * util/grub-install.in: Replace useless recomendation to pass
1993 --modules with a recomendation to report a bug.
1994
1995 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Properly register serial terminfo.
1998 Reported by: Jordan Uggla
1999
2000 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2001 const.
2002 (grub_serial_terminfo_output_template): Likewise.
2003 (grub_cmd_serial): Register "serial" with terminfo.
2004 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2005 grub_serial_terminfo_output.
2006
2007 2010-11-05 Robert Millan <rmh@gnu.org>
2008
2009 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2010 needed).
2011
2012 2010-11-05 Robert Millan <rmh@gnu.org>
2013
2014 On Yeeloong, pass machine type information to Linux.
2015
2016 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2017 (LOONGSON_MACHTYPE): New macro, set to
2018 "machtype=lemote-yeeloong-2f-8.9inches".
2019 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2020 additional argument to Linux.
2021
2022 2010-11-04 Robert Millan <rmh@gnu.org>
2023
2024 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2025 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2026 (its SATA disks are detected as slaveless IDE master drives on
2027 kFreeBSD).
2028 Reported by Carsten Aulbert.
2029
2030 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2031
2032 * util/bin2h.c (main): Fix spelling error in generated output.
2033
2034 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2035
2036 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2037
2038 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2041 vga= option is supplied.
2042
2043 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2046 * util/grub.d/10_kfreebsd.in: Likewise.
2047 * util/grub.d/10_linux.in: Likewise.
2048 * util/grub.d/20_linux_xen.in: Likewise.
2049
2050 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2053 argument as an argument to no-argument option.
2054
2055 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * util/grub.d/10_linux.in: Add missing load_video with explicit
2058 GRUB_GFXPAYLOAD_LINUX.
2059
2060 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2063
2064 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2067 elements with invlid index.
2068 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2069 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2070 members.
2071 * include/grub/raid.h (grub_raid_member): New struct.
2072 (grub_raid_array): Transform devices and start_sector into usage of
2073 grub_raid_member. All users updated
2074 (allocated_devs): New member.
2075
2076 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2079 is modified
2080
2081 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2082
2083 NetBSD build fix for getline function conflict from gnulib.
2084
2085 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2086 components that depend on gnulib headers.
2087 (libgrubmods.a): Renamed from earlier libgrub.a.
2088 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2089
2090 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2093 install rather than creating a broken install.
2094
2095 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * util/grub-setup.c (argp): Remove misleading example of installing to
2098 a partition.
2099
2100 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-setup.c (setup): Clarify the error message.
2103
2104 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2107
2108 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/kern/emu/misc.c
2111 (grub_make_system_path_relative_to_its_root)
2112 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2113
2114 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/kern/emu/misc.c
2117 (grub_make_system_path_relative_to_its_root): Revert r2882.
2118
2119 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2122 useless field head. All users updated.
2123 (free_subchunk): Correct handling of IN_REGION subchunk.
2124
2125 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2126
2127 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2128 (Supported kernels): Likewise.
2129
2130 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2131
2132 Make mktemp invocations portable.
2133
2134 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2135 exit if mktemp fails.
2136 * tests/grub_script_blockarg.in: Likewise.
2137 * tests/partmap_test.in: Likewise.
2138 * tests/util/grub-shell-tester.in: Likewise.
2139 * tests/util/grub-shell.in: Likewise.
2140 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2141 * Makefile.am: Likewise, and chain shell commands with `&&'
2142 instead of ';'.
2143 * util/grub-mkrescue.in: Use the same explicit template as above, and
2144 exit if mktemp fails.
2145
2146 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2147
2148 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2149 Linux kernel, reported by Dennis Schridde.
2150
2151 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2152
2153 * grub-core/normal/auth.c (grub_auth_check_authentication):
2154 Set-but-not-used variable removed.
2155
2156 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2159 32-bit linux protocol.
2160
2161 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2164 cursor shape for sanity.
2165
2166 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * docs/grub.texi (Installation): Document buggy BIOS install.
2169
2170 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * docs/grub.texi (Installation): Indent.
2173
2174 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * util/grub-setup.c (setup): New parameter allow_floppy.
2177 (arguments): New member allow_floppy.
2178 (argp_parser): Handle --allow-floppy.
2179 (main): Pass allow_floppy.
2180 * util/grub-install.in: New option --allow-floppy passed though to
2181 grub-setup.
2182
2183 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * util/grub-install.in: Handle partitionless disks.
2186
2187 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * util/grub-setup.c (setup): Don't clean blocklists before readability
2190 verfification.
2191
2192 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * docs/grub.texi (Installation): Document embedding zone. Remove
2195 obsolete grub-install example.
2196
2197 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2198
2199 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2200 Set-but-not-used variable ifdef'ed.
2201 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2202 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2203 variable removed.
2204 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2205 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2206 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2207 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2208 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2209 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2210 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2211 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2212 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2213 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2214 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2215 Likewise.
2216
2217 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2220 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2221 enum value.
2222
2223 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2226 synonym to _S5_. Needed for some DSDTs.
2227
2228 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 Userspace ACPI parser debugging.
2231
2232 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2233 headers and add relevant defines. Don't include standard headers.
2234 (main) [GRUB_DSDT_TEST]: New function.
2235 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2236 Don't declare functions.
2237
2238 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Remove dead grub_efi_mm_fini.
2241
2242 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2243 (ALLOCATED_PAGES_SIZE): Likewise.
2244 (MAX_ALLOCATED_PAGES): Likewise.
2245 (allocated_pages): Likewise.
2246 (grub_efi_allocate_pages): Don't record allocated pages.
2247 (grub_efi_free_pages): Likewise.
2248 (grub_efi_mm_init): Likewise.
2249 (grub_efi_mm_fini): Removed.
2250
2251 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2254 (grub_efi_mm_init): Take into account the memory map size increase.
2255
2256 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2259 (serial_hw_put): Wait based on real time rather than port reads. Don't
2260 roken ports.
2261 * include/grub/serial.h (grub_serial_port): New field broken.
2262
2263 2010-10-16 Robert Millan <rmh@gnu.org>
2264
2265 * grub-core/kern/emu/misc.c
2266 (grub_make_system_path_relative_to_its_root): Fix premature return
2267 when processing non-root ZFS filesystems.
2268 Reported by Sergio Talens-Oliag.
2269
2270 2010-10-15 Robert Millan <rmh@gnu.org>
2271
2272 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2273 guarantee compressed ones are processed first.
2274
2275 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2278 grub_efiemu_autocore.
2279
2280 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2283 rather than 0x1b.
2284 (grub_console_getkey): Use correct jae opcode rather than ja.
2285
2286 2010-10-12 Robert Millan <rmh@gnu.org>
2287
2288 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2289 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2290 variable. All references updated.
2291
2292 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2293
2294 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Correctly distinguish mdraid flavours.
2297
2298 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2299 (insert_array): New argument raid.
2300 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2301 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2302 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2303
2304 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2307 handling of special keys.
2308
2309 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2310
2311 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2312 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2313
2314 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2315
2316 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2317 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2318 users updated.
2319 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2320 Use right endpoint when querying descriptor.
2321
2322 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Clear out 0x80 color bit on EFI.
2325 Tested by: decoder
2326 Reported by: decoder and meta tech.
2327
2328 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2329 (grub_console_setcolorstate): Clear out 0x80 bit.
2330 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2331 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2332 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2333
2334 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2337 Set to "auto".
2338
2339 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2342 mo_file after freeing.
2343
2344 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2347
2348 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2351 flags.
2352
2353 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2356 usage.
2357
2358 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2361
2362 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2363 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2364 and terminfo.h when needed.
2365 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2366 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2367 (terminfo): Enable only on terminfokernel.
2368 (extcmd): Likewise.
2369 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2370 * include/grub/lib/arg.h: Likewise.
2371 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2372 incorrect usage of ->.
2373
2374 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2377 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2378
2379 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Fix coreboot compilation.
2382
2383 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2384 Take VBE info into account even if only text is supported.
2385 (fill_vbe_info): Take into account the case when only VGA text
2386 is supported.
2387 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2388 on coreboot, multiboot and qemu.
2389
2390 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2393 debug messages.
2394 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2395
2396 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2399 parameters.
2400
2401 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2404 if they were BSD-style.
2405
2406 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/boot/i386/pc/lnxboot.S: Replace
2409 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2410 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2411
2412 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Write embedding zone using Reed-Solomon.
2415
2416 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2417 * grub-core/Makefile.am (rs_decoder.S): New target.
2418 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2419 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2420 (multiboot): Move to RS part.
2421 (post_reed_solomon): New label.
2422 (grub_boot_drive): Move to non-RS part since it's modified in memory
2423 on boot.
2424 Include rs_decoder.S.
2425 * grub-core/lib/reed_solomon.c: New file.
2426 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2427 New definition.
2428 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2429 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2430 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2431 * include/grub/partition.h (grub_partition_map): Change prototype of
2432 embed to allow returning additional sectors.
2433 * include/grub/reed_solomon.h: New file.
2434 * util/grub-setup.c (setup): Handle Reed-Solomon.
2435
2436 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2437
2438 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2439 i386 and x86-64 definedness tests.
2440
2441 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2442
2443 Fix generation of kernel_syms.lst
2444
2445 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2446 ASM_PREFIX
2447
2448 2010-09-26 Robert Millan <rmh@gnu.org>
2449
2450 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2451
2452 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2453 the pool is an array of devices, iterate through it and return the
2454 first device that passes a stat() test (instead of blindly returning
2455 the first one).
2456
2457 2010-09-26 Robert Millan <rmh@gnu.org>
2458
2459 Build fixes for GNU/kFreeBSD.
2460
2461 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2462 to programs that require ZFS conversion.
2463 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2464 kernels that don't have FLOPPY_MAJOR.
2465
2466 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2467
2468 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2469
2470 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2471
2472 Fix grub-emu build.
2473
2474 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2475 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2476 mdraid09 and mdraid1x.
2477
2478 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2479
2480 Re-enable grub-extras.
2481
2482 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2483 avoid confusing Automake. Run autogen only twice, once for the top
2484 level and once for grub-core. Add Makefile.util.def and
2485 Makefile.core.def from extra modules to the appropriate autogen
2486 invocations. If Makefile.common exists in an extra module, include
2487 it in both Makefile.util.am and grub-core/Makefile.core.am;
2488 similarly, include any Makefile.util.common file in Makefile.util.am
2489 and any Makefile.core.common file in grub-core/Makefile.core.am.
2490 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2491 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2492 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2493 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2494
2495 * gentpl.py (gvar_add): Turn GVARS into a set.
2496 (global_variable_initializers): Sort global variables on output.
2497 (vars_init): New function.
2498 (first_time): Likewise.
2499 (library): Ensure that non-global variable initialisations are
2500 emitted before the first time we emit code for a library block.
2501 Append to variables rather than setting them. Only emit
2502 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2503 each conditional path.
2504 (program): installdir() emits an Autogen macro, so must be passed to
2505 var_add rather than gvar_add.
2506 (data): Likewise.
2507 (script): Likewise.
2508 (rules): New function, centralising handling for different target
2509 types. Set up Guile association lists for first_time and vars_init,
2510 and send most output to a diversion so that variable initialisations
2511 can be emitted first.
2512 (module_rules): Use new rules function.
2513 (kernel_rules): Likewise.
2514 (image_rules): Likewise.
2515 (library_rules): Likewise.
2516 (program_rules): Likewise.
2517 (script_rules): Likewise.
2518 (data_rules): Likewise.
2519
2520 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2521
2522 * .bzrignore: Add contrib and grub-core/contrib. Remove
2523 grub-core/Makefile.gcry.am.
2524
2525 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2526
2527 * grub-core/lib/LzFind.c: Add missing include.
2528 * grub-core/lib/LzmaEnc.c: Likewise.
2529 * grub-core/script/lexer.c: Likewise.
2530 * grub-core/script/yylex.l: Likewise.
2531 * util/grub-macho2img.c: Likewise.
2532 * util/grub-menulst2cfg.c: Likewise.
2533 * util/grub-mklayout.c: Likewise.
2534 * util/grub-mkpasswd-pbkdf2.c
2535 * util/grub-mkrelpath.c: Likewise.
2536 * util/resolve.c: Likewise.
2537
2538 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2539
2540 * Makefile.util.def (example_unit_test): Add
2541 grub-core/gnulib/libgnu.a.
2542
2543 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2544
2545 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2546
2547 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Support xz compression on yeeloong.
2550
2551 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2552 * configure.ac: Check for LZMA.
2553 * grub-core/Makefile.core.def (xz_decompress): New target.
2554 (none_decompress): Likewise.
2555 * grub-core/boot/decompressor/minilib.c: New file.
2556 * grub-core/boot/decompressor/none.c: Likewise.
2557 * grub-core/boot/decompressor/xz.c: Likewise.
2558 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2559 * grub-core/kern/mips/cache_flush.S: Likewise.
2560 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2561 * grub-core/kern/mips/startup.S: Move first stage to ...
2562 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2563 nomacro.
2564 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2565 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2566 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2567 Allocate statically.
2568 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2569 Allocate statically or use scratch. Don't check CRC32.
2570 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2571 Allocate statically. Don't check CRC32.
2572 * include/grub/decompressor.h: New file.
2573 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2574 Removed.
2575 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2576 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2577 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2578 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2579 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2580 * util/grub-mkimage.c (grub_compression_t): New type.
2581 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2582 (image_target_desc): New field default_compression.
2583 (image_targets): Adjust yeeloong targets.
2584 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2585 (compress_kernel): New parameter comp.
2586 (generate_image): Likewise. Handle new compression case.
2587 (options): New option --compression
2588 (help): Likewise.
2589 (main): Handle new option.
2590
2591 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2592
2593 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2594
2595 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2596
2597 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2598 typo in __i386__ conditional.
2599
2600 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2603 include.
2604
2605 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Implement EFI and ACPI multiboot2 extensions.
2608
2609 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2610 new tags as supported.
2611 (acpiv2_size): New function.
2612 (grub_multiboot_get_mbi_size): Take new tags into account.
2613 (grub_multiboot_make_mbi): Add new tags.
2614 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2615
2616 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2617
2618 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2619 Added missing configuration of USB device.
2620
2621 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2622
2623 * grub-core/normal/menu_entry.c (run): Make sure we always return
2624 a value.
2625
2626 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2627
2628 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2629 NumberOfPages is UINT64 according to the UEFI specification, not
2630 UINTN. Fix printf format.
2631
2632 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2633
2634 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2635 `err' to grub_usb_err_t.
2636 Reported and tested by: KESHAV P.R.
2637
2638 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2639
2640 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2641 tpart non-const, so that we can assign to it. (Since this is a
2642 typedef, the constness refers to the pointer rather than what it
2643 points to.)
2644
2645 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2646
2647 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2648 $(top_srcdir)/grub-core/gnulib as well as
2649 $(top_builddir)/grub-core/gnulib.
2650 Reported by: KESHAV P.R.
2651
2652 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2653
2654 * util/grub-install.in: Fix the bootloader ID option to be
2655 consistently --bootloader-id, not --bootloader_id.
2656 Reported by: KESHAV P.R.
2657
2658 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2659
2660 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2661 check hash checksum." consistently translatable.
2662
2663 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2664
2665 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2666 $(top_builddir).
2667
2668 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2669
2670 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2671 (GRUB_MOD_INIT): Register sha1sum command.
2672 (GRUB_MOD_FINI): Unregister sha1sum command.
2673
2674 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2675
2676 Keep boot and grub directory names in sync with utils scripts
2677
2678 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2679 * config.h.in: Add previous macros.
2680 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2681 * util/grub-install.in: Use $bootdir and $grubdir variables.
2682
2683 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2684
2685 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2686 convert partition names to disk names if the new `convert' parameter
2687 is set.
2688 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2689 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2690 disk in its own right. This can happen with Xen disk images.
2691
2692 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2693
2694 * util/grub-editenv.c: Update strings to avoid warnings when generating
2695 grub.pot file.
2696 * util/grub-setup.c: Likewise.
2697
2698 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * configure.ac: Change version to 1.99~beta0.
2701
2702 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2705 Add BADRAM.
2706 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2707 Likewise.
2708 * include/multiboot.h: Resynced with specification.
2709 * include/multiboot2.h: Likewise.
2710
2711 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2712
2713 Fix po directory handling.
2714
2715 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2716 * grub-core/gnulib/Makefile.am: Import gettext module.
2717 * m4/gnulib-cache.m4: Likewise.
2718 * m4/gnulib-comp.m4: Likewise.
2719 * m4/gettext.m4: New file, from gnulib.
2720 * m4/glibc2.m4: Likewise.
2721 * m4/iconv.m4: Likewise.
2722 * m4/intdiv0.m4: Likewise.
2723 * m4/intl.m4: Likewise.
2724 * m4/intldir.m4: Likewise.
2725 * m4/intlmacosx.m4: Likewise.
2726 * m4/intmax.m4: Likewise.
2727 * m4/inttypes-pri.m4: Likewise.
2728 * m4/lcmessage.m4: Likewise.
2729 * m4/lib-ld.m4: Likewise.
2730 * m4/lib-link.m4: Likewise.
2731 * m4/lib-prefix.m4: Likewise.
2732 * m4/lock.m4: Likewise.
2733 * m4/nls.m4: Likewise.
2734 * m4/po.m4: Likewise.
2735 * m4/printf-posix.m4: Likewise.
2736 * m4/progtest.m4: Likewise.
2737 * m4/threadlib.m4: Likewise.
2738 * m4/uintmax_t.m4: Likewise.
2739 * m4/visibility.m4: Likewise.
2740 * po/Makefile.am: Remove.
2741 * po/Makefile.in.in: New file, from gettext.
2742 ($(DOMAIN).pot-update): Support POTFILES-shell.
2743 * po/Makevars: New file.
2744 * po/POTFILES-shell: Rename to ...
2745 * po/POTFILES-shell.in: ... this. Update.
2746 * po/POTFILES: Rename to ...
2747 * po/POTFILES.in: ... this. Update.
2748 * po/Rules-quot: New file, from gettext.
2749 * po/boldquot.sed: Likewise.
2750 * po/en@boldquot.header: Likewise.
2751 * po/en@quot.header: Likewise.
2752 * po/insert-header.sin: Likewise.
2753 * po/quot.sed: Likewise.
2754 * po/remove-potcdate.sin: Likewise.
2755
2756 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2759
2760 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * util/grub.d/20_linux_xen.in: Use submenus.
2763
2764 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Support submenus.
2767
2768 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2769 parameter submenu. All users updated.
2770 * grub-core/normal/main.c (free_menu): Rename to ...
2771 (grub_normal_free_menu): ... this. Made global.
2772 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2773 if requested.
2774 * grub-core/normal/menu_entry.c (screen): New field submenu.
2775 (make_screen): Set submenu.
2776 (run): Open new context if requested.
2777 * include/grub/menu.h (grub_menu_entry): New field submenu.
2778 * include/grub/normal.h (grub_normal_free_menu): New proto.
2779
2780 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 Menu entries extractor.
2783
2784 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2785 variants.
2786 (GRUB_MOD_INIT): Register new variants.
2787 (GRUB_MOD_FINI): Unregister new variants.
2788 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2789 into grub_cmd_legacy_source.
2790 (grub_cmd_legacy_source): Implement extractor variants.
2791 (GRUB_MOD_INIT): Register new variants.
2792 (GRUB_MOD_FINI): Unregister new variants.
2793 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2794 as an extractor.
2795 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2796 search as an extractor.
2797 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2798 test as an extractor.
2799 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2800 as an extractor.
2801 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2802 (grub_env_new_context): New function.
2803 (grub_env_context_open): Likewise.
2804 (grub_env_extractor_open): Likewise.
2805 (grub_env_extractor_close): Likewise.
2806 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2807 grub_extractor_level.
2808 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2809 * include/grub/env.h (grub_env_extractor_open): New proto.
2810 (grub_env_extractor_close): Likewise.
2811 * include/grub/normal.h (grub_extractor_level): New external variable.
2812
2813 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 Make cutmem accept a region specification.
2816 Suggested by: Samuel Thibault
2817
2818 * grub-core/mmap/mmap.c (parsemem): New function.
2819 (grub_cmd_cutmem): Handle new arguments.
2820
2821 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 New command cutmem.
2824
2825 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2826 (GRUB_MOD_INIT): Register new command.
2827 (GRUB_MOD_FINI): Unregister new command.
2828
2829 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Support some annoying BSD and Minix subpartitions.
2832
2833 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2834 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2835 Properly handle concatenation.
2836 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2837 * grub-core/normal/completion.c (iterate_partition): Likewise.
2838 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2839 contain partition. All users updated.
2840 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2841 struct.
2842 (grub_openbsdlabel_partition_map): Likewise.
2843 (bsdlabel_partition_map_iterate): Rename to ..
2844 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2845 (bsdlabel_partition_map_iterate): New function.
2846 (netopenbsdlabel_partition_map_iterate): Likewise.
2847 (netbsdlabel_partition_map_iterate): Likewise.
2848 (openbsdlabel_partition_map_iterate): Likewise.
2849 (GRUB_MOD_INIT): Register new partmaps.
2850 (GRUB_MOD_FINI): Unregister new partmaps.
2851 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2852 (grub_partition_msdos_iterate): ... this. All users updated.
2853 Don't support embedding other than in a minix partition.
2854 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2855 proto.
2856 * include/grub/partition.h (grub_partition): New field msdostype.
2857 * util/grub-install.in: Handle openbsd and netbsd types being in
2858 part_bsd module.
2859
2860 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2863
2864 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2865 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2866 (mdraid09): ... this.
2867 (mdraid1x): New module.
2868 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2869 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2870
2871 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2874 vsprintf.
2875
2876 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2877
2878 * grub-core/commands/efi/lsefimmap.c: Correct header.
2879 * NEWS: Update.
2880
2881 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2882
2883 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2884 as printf format strings; the translations might contain '%' which
2885 could cause a crash.
2886 (main): Likewise.
2887 * util/grub-fstest.c (argp_parser): Likewise.
2888 * util/grub-setup.c (argp_parser): Likewise.
2889 (main): Likewise.
2890
2891 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 Use argp in grub-fstest.
2894
2895 * util/grub-fstest.c: Don't include getopt.h.
2896 Include argp.h.
2897 (root): New variable.
2898 (args_count): Likewise.
2899 (nparm): Likewise.
2900 (num_disks): Likewise.
2901 (images): Likewise.
2902 (cmd): Likewise.
2903 (debug_str): Likewise.
2904 (args): Likewise.
2905 (options): Transformed to argp.
2906 (usage): Removed.
2907 (main): Split argument parsing into ...
2908 (argp_parser): ... this. Changed to argp format.
2909 (argp): New variable.
2910 (main): Use argp_parse.
2911
2912 2010-09-20 Tristan Gingold <gingold@free.fr>
2913 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
2914 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/commands/efi/lsefimmap.c: New file.
2917 * grub-core/Makefile.core.def (lsefimmap): New module.
2918 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2919
2920 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Pause the execution (10s max) if any errors are displayed so the user
2923 has a chance to see them.
2924
2925 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2926 (grub_print_error): Increment grub_err_printed_errors.
2927 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2928 execution if any errors were displayed.
2929 (show_menu): Remove old code for pause.
2930 * grub-core/normal/menu_entry.c (run): Likewise.
2931 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2932 users updated.
2933 (grub_normal_get_char_counter): Likewise.
2934 * include/grub/err.h (grub_err_printed_errors): New external variable.
2935 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2936
2937 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Support multiboot VBE info.
2940
2941 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2942 Take VBE info into account.
2943 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2944 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2945 Call fill_vbe_info when appropriate.
2946 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2947 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2948 as supported.
2949 (grub_multiboot_get_mbi_size): Take new tags into account.
2950 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2951 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2952 Call fill_vbe_tag when appropriate.
2953 (grub_multiboot_make_mbi): Properly align tags.
2954 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2955 function.
2956 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2957 proto.
2958 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2959
2960 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Suport manual terminal geometry specification.
2963
2964 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2965 Save state in grub_ofconsole_terminfo_output.
2966 (grub_ofconsole_term): Use grub_terminfo_getwh.
2967 (grub_ofconsole_getwh): Removed.
2968 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2969 (grub_serial_term): Use grub_terminfo_getwh.
2970 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2971 (options): New struct.
2972 (OPTION_*): New enum.
2973 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2974 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2975 width and height.
2976 (grub_terminfo_getwh): New proto.
2977 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2978
2979 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 Handle legacy "terminal" command.
2982
2983 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2984 and FLAG_TERMINAL.
2985 (legacy_commands): Add terminal and title.
2986 (grub_legacy_parse): Handle terminal. Simplify title handling.
2987
2988 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2991 parameters overflow.
2992
2993 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2994
2995 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2996 widthspec.h.
2997
2998 * docs/grub.texi (Shell-like scripting): Document `!'.
2999 (Network): Simplify using new i386-pc-pxe format. Mention
3000 grub-mknetdir.
3001
3002 * NEWS: Update.
3003
3004 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3005
3006 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3007 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3008 when needed.
3009
3010 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3011
3012 * grub-core/commands/efi/lsefisystab.c: Correct header.
3013 * grub-core/commands/efi/lssal.c: Likewise.
3014 * grub-core/commands/testload.c: Likewise.
3015
3016 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3017
3018 * util/grub-mkrescue.in: Add explicit root argument to --set to
3019 prevent the UUID being interpreted as an argument to --set (matches
3020 previous change to prepare_grub_to_access_device).
3021
3022 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3023
3024 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3025 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3026 the verbosity of later #ifs.
3027 (find_partition_start): Define this function on FreeBSD too.
3028 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3029 function.
3030 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3031 on FreeBSD.
3032
3033 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3034
3035 * util/grub-editenv.c: Use argp instead of getopt.
3036
3037 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3038
3039 * util/grub-setup.c: Use argp instead of getopt.
3040
3041 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3042
3043 Use gnulib-tool to create gnulib source files.
3044
3045 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3046 grub-core/gnulib directories
3047 * .bzignore: Add **/.deps and autogenerated gnulib files
3048 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3049 of gnulib macros, add grub-core/gnulib/Makefile
3050 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3051 include m4 directory to aclocal.
3052 * Makefile.util.def: Remove direct compilation of gnulib source files
3053 and use the new grub-core/gnulib/libgnu.a.
3054 * build-aux/config.rpath: move config.rpath from top directory to
3055 build-aux
3056 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3057 in gnulib headers
3058 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3059 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3060 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3061 header.
3062 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3063 string.
3064
3065 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3066
3067 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3068 grub-core/genmod.sh and grub-core/gensyminfo.sh
3069
3070 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3071
3072 Add a test for echo command options.
3073
3074 * tests/grub_cmd_echo.in: New test.
3075 * Makefile.util.def: Rules for new test.
3076
3077 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3078
3079 Remove crc.mod and move crc command to hashsum.mod.
3080 Remove lib/crc.c - users updated to use gcrypt implementation.
3081
3082 * grub-core/commands/crc.c: Removed.
3083 * grub-core/Makefile.core.def (crc): Module removed.
3084 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3085 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3086 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3087 * grub-core/lib/crc.c: Removed.
3088 * include/grub/lib/crc.h: Removed.
3089 * Makefile.util.def (crc): Remove lib/crc.c
3090 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3091 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3092 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3093 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3094 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3095 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3096
3097 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3100
3101 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 Split config.h for util and core.
3104
3105 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3106 (ADDR32): Likewise.
3107 (DATA32): Likewise.
3108 (BSS_START_SYMBOL): Likewise.
3109 (END_SYMBOL): Likewise.
3110 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3111 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3112 * config.h.in: New file.
3113 * configure.ac: Use config-util.h as config define file.
3114 Rename MACHINE into GRUB_MACHINE. All users updated.
3115 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3116 updated.
3117 (NESTED_FUNC_ATTR): Likewise.
3118 Substitue new variables.
3119 (COND_HAVE_ASM_USCORE): New conditional.
3120 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3121 (kernel_syms.lst): Use ASM_PREFIX.
3122 * grub-core/kern/emu/console.c: Include config-util.h.
3123 * grub-core/kern/emu/misc.c: Likewise.
3124 * grub-core/kern/emu/mm.c: Likewise.
3125 * include/grub/emu/misc.h: Likewise.
3126 * include/grub/libgcc.h: Likewise.
3127
3128 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3131 constants usage.
3132 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3133 Fix GRUB_TERM_KEY_* constants usage.
3134 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3135
3136 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3139 print pointer.
3140 * grub-core/bus/usb/uhci.c: Remove empty define.
3141 (grub_uhci_check_transfer): Add missing cast.
3142 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3143 print pointer.
3144 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3145 PRIuGRUB_SIZE.
3146 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3147
3148 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/Makefile.core.def (legacycfg): Add
3151 lib/i386/pc/vesa_modes_table.c on emu.
3152
3153 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3154
3155 Reduce number of temporary files generated by build system.
3156
3157 * grub-core/gencmdlist.sh: Removed.
3158 * grub-core/genfslist.sh: Removed.
3159 * grub-core/genhandlerlist.sh: Removed.
3160 * grub-core/genmodsrc.sh: Removed.
3161 * grub-core/genpartmaplist.sh: Removed.
3162 * grub-core/genparttoollist.sh: Removed.
3163 * grub-core/gentermiinallist.sh: Removed.
3164 * grub-core/genvideolist.sh: Removed.
3165
3166 * grub-core/genmod.sh.in: New file.
3167 * grub-core/gensyminfo.sh.in: New file.
3168
3169 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3170 * conf/Makefile.extra-dist: Update with new files.
3171 * gentpl.py: Remove rules related to unnecessary temporary files.
3172 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3173 and und-* files.
3174 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3175 genmod.sh scripts.
3176 * grub-core/bus/usb/uhci.c: Remove empty #define.
3177 * grub-core/genmoddep.awk: Updated with new syminfo format.
3178 * util/bash-completion.d/Makefile.am: Add config.log to
3179 CLEANFILES.
3180
3181 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3182
3183 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3184
3185 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3186
3187 * util/grub-mkconfig.in: Check the config script for syntax errors
3188 before saving.
3189
3190 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3191 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3194 platforms.
3195 * util/grub-install.in: Add EFI and IEEE1275 support.
3196 * util/i386/efi/grub-install.in: Removed.
3197 * util/ieee1275/grub-install.in: Likewise.
3198
3199 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3202 (grub_cmd_cmosclean): Likewise.
3203 (GRUB_MOD_INIT): Register command cmosclean.
3204 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3205 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3206
3207 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3208 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3209 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 Add keyboard layouts support.
3212
3213 * Makefile.util.def (grub-mklayout): New file.
3214 (grub-kbdcomp): New script.
3215 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3216 Add keyboard_layouts.h.
3217 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3218 commands/boot.c on yeeloong.
3219 (keylayouts): New module.
3220 * grub-core/bus/usb/ohci.c
3221 * grub-core/bus/usb/uhci.c
3222 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3223 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3224 (attach_root_port): Likewise.
3225 (poll_nonroot_hub): Likewise.
3226 (grub_usb_poll_devices): Likewise.
3227 (detach_device): Close transfer.
3228 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3229 function.
3230 (grub_usb_bulk_setup_readwrite): Likewise.
3231 (grub_usb_bulk_finish_readwrite): Likewise.
3232 * grub-core/commands/keylayouts.c: New file.
3233 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3234 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3235 aliases.
3236 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3237 support scancode 2.
3238 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3239 * include/grub/keyboard_layouts.h: New file.
3240 * util/grub-mklayout.c: New file.
3241 * util/grub-kbdcomp.in: Likewise.
3242
3243 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Unify memory types.
3246
3247 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3248 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3249 types.
3250 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3251 (grub_upper_mem): Likewise.
3252 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3253 * include/grub/memory.h (grub_memory_type_t): New enum.
3254 All users updated.
3255
3256 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/Makefile.core.def (lsapm): New module.
3259 * grub-core/commands/i386/pc/lsapm.c: New file.
3260 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3261 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3262 Likewise.
3263 * include/grub/i386/pc/apm.h: New file.
3264 * include/multiboot.h (multiboot_apm_info): New struct.
3265
3266 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 GRUB-legacy configuration file support.
3269
3270 * Makefile.util.def (grub-menulst2cfg): New util.
3271 * docs/man/grub-menulst2cfg.h2m: New file.
3272 * grub-core/Makefile.core.def (legacycfg): New module.
3273 * grub-core/commands/legacycfg.c: New file.
3274 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3275 (grub_normal_add_menu_entry): ... this.
3276 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3277 (grub_normal_set_password): ...this.
3278 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3279 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3280 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3281 * grub-core/lib/legacy_parse.c: New file.
3282 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3283 * include/grub/i386/pc/vesa_modes_table.h: New file.
3284 * include/grub/legacy_parse.h: Likewise.
3285 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3286 * util/grub-menulst2cfg.c: New file.
3287
3288 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3289
3290 * grub-core/kern/emu/hostdisk.c
3291 (convert_system_partition_to_system_disk): Initialise node.
3292
3293 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3294
3295 * grub-core/kern/emu/hostdisk.c
3296 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3297 leak.
3298 Reported and based on patch by: Modestas Vainius.
3299
3300 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3301
3302 Fix DM-RAID probing with recent versions of device-mapper udev
3303 rules.
3304
3305 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3306 canonicalise device paths under /dev/mapper/.
3307 (convert_system_partition_to_system_disk): Compare the
3308 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3309 path, since device nodes under /dev/mapper/ are often symlinks.
3310
3311 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3312
3313 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3314
3315 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3316
3317 * configure.ac: Avoid some annoying error messages if freetype-config
3318 program is not found.
3319
3320 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3321
3322 Support RAID on virtio devices, and others.
3323
3324 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3325 Rename to ...
3326 [__MINGW32__] (grub_find_device): ... this.
3327 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3328 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3329 reasonable default if dir is NULL.
3330 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3331 ...
3332 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3333 (grub_guess_root_device): Update callers.
3334 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3335
3336 * util/raid.c (grub_util_getdiskname): Remove.
3337 (grub_util_raid_getmembers): Use grub_find_device rather than
3338 grub_util_getdiskname.
3339
3340 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3341
3342 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3343 needing to be compiled with serial support.
3344 (ls): Indicate that multiple files are accepted.
3345 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3346 indicate that multiple files are accepted.
3347
3348 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3349
3350 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3351 libgrub_a_init.c, and util/bash-completion.d/grub.
3352
3353 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * util/grub-setup.c (setup): Fix incorrect container semantics.
3356
3357 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3360 misusage.
3361 Reported by: J. Nick Terry
3362
3363 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Move embedding routines to partmap sources files.
3366
3367 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3368 [GRUB_UTIL]: New variable.
3369 (gpt_partition_map_iterate): Set part.parent.
3370 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3371 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3372 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3373 New function.
3374 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3375 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3376 (grub_partition_map) [GRUB_UTIL]: New field embed.
3377 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3378 (setup): Use ->embed.
3379
3380 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3383 function.
3384 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3385 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3386
3387 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3388
3389 Add function to get completions from usage.
3390
3391 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3392 completions from usage. Use LC_ALL=C to get options properly.
3393
3394 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/gnulib/basename-lgpl.c: Imported.
3397 * grub-core/gnulib/basename.c: Likewise.
3398 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3399 * grub-core/gnulib/dirname.c: Likewise.
3400 * grub-core/gnulib/dirname.h: Likewise.
3401 * grub-core/gnulib/stripslash.c: Likewise.
3402
3403 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/gnulib/error.c: Resynced.
3406 * grub-core/gnulib/getopt.c: Likewise.
3407 * grub-core/gnulib/getopt_int.h: Likewise.
3408 * grub-core/gnulib/regex.h: Likewise.
3409 * grub-core/gnulib/regex_internal.c: Likewise.
3410 * grub-core/gnulib/regex_internal.h: Likewise.
3411
3412 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3413
3414 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3415 CRC calculations and validity checks.
3416 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3417 calculations.
3418
3419 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3420
3421 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3422
3423 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Fix incorrect echo options handling.
3426 Reported by: Yves Blusseau.
3427
3428 * include/grub/command.h (grub_command_flags_t): New flags
3429 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3430 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3431 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3432
3433 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3436 users updated.
3437 (GRUB_COMMAND_FLAG_MENU): Likewise.
3438 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3439 (GRUB_COMMAND_FLAG_TITLE): Removed.
3440 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3441 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3442 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3443 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3444 (grub_command_flags_t): New enum. All users updated.
3445
3446 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3447
3448 Fix solaris compilation.
3449
3450 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3451 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3452 (grub-emu-list): Likewise.
3453
3454 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Remove deprecated root command.
3457
3458 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3459 updated.
3460
3461 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * util/i386/pc/grub-setup.c: Merge this ...
3464 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3465 * util/grub-setup.c: ... into this.
3466 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3467 New struct.
3468
3469 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3472 possible.
3473
3474 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3477 allocate p.
3478
3479 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3482 explicit root argument to set to prevent UUID to be interpreted as
3483 argument to set.
3484
3485 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3488
3489 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Don't export grub_gate_a20.
3492
3493 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3494 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3495 to ...
3496 (grub_gate_a20): ... this. All users updated.
3497 * include/grub/i386/pc/init.h: Removed. All users updated.
3498
3499 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 Create euro.pf2 which supports most European languages.
3502
3503 * Makefile.am (grubdata_DATA): Add euro.pf2.
3504 (euro.pf2): New target.
3505 (CLEANFILES): Add euro.pf2.
3506
3507 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * configure.ac: Disable emu-usb by default to prevent inadvertent
3510 device takeover.
3511
3512 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 Disable usbserial on grub-emu since our libusb code isn't good enough
3515 yet.
3516
3517 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3518 (usbserial_pl2303): Likewise.
3519 (usbserial_ftdi): Likewise.
3520
3521 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * include/grub/disk.h (grub_disk): Remove has_partitions.
3524 All users updated.
3525 * disk/loopback.c (grub_loopback): Remove has_partitions.
3526 All users updated.
3527 (options): Remove partitions. All users updated.
3528 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3529 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3530 actual partition table is found.
3531
3532 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Remove readability checks (too many false negatives).
3535
3536 * util/grub-install.in: Remove readability checks.
3537 * util/grub-mkconfig.in: Likewise.
3538 * util/grub.d/10_hurd.in: Likewise.
3539 * util/grub.d/10_kfreebsd.in: Likewise.
3540 * util/grub.d/10_linux.in: Likewise.
3541 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3542 way.
3543
3544 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Enable acpi shutdown on all ACPI platforms.
3547
3548 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3549 on coreboo, multiboot and EFI.
3550 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3551 (grub_acpi_halt): Likewise.
3552 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3553 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3554 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3555 * grub-core/lib/i386/halt.c (grub_halt)
3556 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3557
3558 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3561 context.
3562
3563 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3566 * grub-core/video/efi_uga.c: Likewise.
3567
3568 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 Filter devaliases and never open same device twice.
3571
3572 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3573 (last_ihandle): Likewise.
3574 (ofdisk_hash_ent): New member shortest.
3575 (ofdisk_hash_add): Add canonical path too.
3576 (scan): New function.
3577 (grub_ofdisk_iterate): Iterate over hashed entries.
3578 (compute_dev_path): Don't add :0.
3579 (grub_ofdisk_open): Don't really open the disk.
3580 (grub_ofdisk_close): Avoid closing unrelated disk.
3581 (grub_ofdisk_read): Implement reopen logic.
3582 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3583 New function.
3584 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3585 New proto.
3586
3587 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Fix sparc64.
3590
3591 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3592 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3593 right address. Add sparc64_ieee1275_ldflags.
3594 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3595 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3596 to grub_host_to_target_addr
3597 (load_image): Likewise.
3598
3599 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/normal/completion.c (complete_file): Handle device
3602 containing slash.
3603 Fix based on patch by Doug Nazar.
3604
3605 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 grub-mknetdir script.
3608
3609 * Makefile.util.def (grub-mknetdir): New module.
3610 * tests/util/grub-shell.in: Support boot=net
3611 * util/grub-mknetdir.in: New file.
3612
3613 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 videoinfo on non-vbe.
3616
3617 * grub-core/Makefile.core.def (vbeinfo): Removed.
3618 (vbetest): Removed.
3619 (videoinfo): New module.
3620 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3621 * grub-core/commands/i386/pc/vbetest.c: Removed.
3622 * grub-core/commands/videoinfo.c: New file.
3623 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3624 specification.
3625 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3626 as vbetest.
3627 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3628 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3629 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3630 mode_number. New parameter mode. All users updated.
3631 (grub_video_gop_iterate): New function.
3632 (grub_video_efi_gop): New member iterate.
3633 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3634 (grub_vbe_set_video_mode): Remove setting useless fields.
3635 (vbe2videoinfo): New function.
3636 (grub_video_vbe_iterate): Likewise.
3637 (grub_video_vbe_setup): Use vbe2videoinfo.
3638 (grub_video_vbe_print_adapter_specific_info): New function.
3639 (grub_video_vbe_adapter): New fields iterate and
3640 print_adapter_specific_info.
3641 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3642 All users updated.
3643 (grub_video_mode_info): New field mode_number.
3644 (grub_video_adapter): New fields iterate and
3645 print_adapter_specific_info.
3646
3647 2010-09-13 Tristan Gingold <gingold@free.fr>
3648 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3649 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/commands/efi/lsefisystab.c: New file.
3652 * grub-core/commands/efi/lssal.c: Likewise.
3653 * grub-core/Makefile.core.def (lsacpi): New module.
3654 (lsefisystab): Likewise.
3655 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3656 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3657 (grub_efi_sal_system_table): New struct.
3658 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3659 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3660 (grub_efi_sal_system_table_platform_features): Likewise.
3661 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3662 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3663 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3664 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3665
3666 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 Support explicit user claim that a device is BIOS-visible.
3669
3670 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3671 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3672 * grub-core/kern/emu/hostdisk.c
3673 (convert_system_partition_to_system_disk): Support mdX.
3674 (find_system_device): New parameter add. All users updated.
3675 (grub_util_biosdisk_is_present): New function.
3676 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3677 proto.
3678
3679 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Search hints support.
3682
3683 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3684 All users updated.
3685
3686 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3687
3688 Bash completion script for util commands
3689
3690 * Makefile.am: Add util/bash-completion.d directory
3691 * configure.ac: Likewise.
3692 * util/bash-completion.d/Makefile.am: New file.
3693 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3694
3695 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3698 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3699 Reported by: Yves Blusseau.
3700
3701 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3704 partition size and offset.
3705
3706 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3709
3710 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3713
3714 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3717 (grub_xvasprintf): Likewise.
3718
3719 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3722
3723 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3726 args ending with NULL.
3727
3728 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3731 pointer.
3732
3733 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3734
3735 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3736
3737 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Shutdown using ACPI.
3740
3741 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3742 * grub-core/commands/acpihalt.c: New file.
3743 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3744 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3745 (grub_acpi_halt): New proto.
3746 (GRUB_ACPI_SLP_EN): New const.
3747 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3748 (GRUB_ACPI_OPCODE_*): New enum.
3749 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3750
3751 2010-09-11 Tristan Gingold <gingold@free.fr>
3752 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
3753 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * commands/lsacpi.c: New file.
3756 * grub-core/Makefile.core.def (lsacpi): New module.
3757 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3758 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3759 (grub_acpi_madt_entry_header): New struct.
3760 (grub_acpi_madt): Likewise.
3761 (grub_acpi_madt_entry_interrupt_override): Likewise.
3762 (grub_acpi_madt_entry_sapic): Likewise.
3763 (grub_acpi_madt_entry_lsapic): Likewise.
3764 (grub_acpi_madt_entry_platform_int_source): Likewise.
3765 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3766 (PRIuGRUB_UINT32_T): Likewise.
3767 (PRIxGRUB_UINT64_T): Likewise.
3768
3769 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Implement loading palette on ieee1275_fb.
3772
3773 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3774 (have_setcolors): Likewise.
3775 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3776 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3777 (grub_video_ieee1275_set_palette): Implement.
3778
3779 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3780 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
3781
3782 * util/grub-install.in (grub_partition): New variable.
3783 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3784 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3785 Fixes a bug reported by Yves Blusseau.
3786
3787 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 Fix emu on mipsel.
3790
3791 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3792 =grub_cpu_flush_cache on all mips and not only yeeloong.
3793 * configure.ac (COND_mips): New conditional.
3794 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3795 platforms.
3796 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3797 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3798 [GRUB_LINKER_HAVE_INIT]: New function.
3799 (grub_emu_post_init): Likewise.
3800 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3801 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3802 * include/grub/cache.h (_mips): Include mips/cache.h.
3803 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3804 LVM and RAID prototypes.
3805 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3806 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3807 function.
3808
3809 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3810
3811 * util/grub-install.in: Don't try to verify core.img until after
3812 running grub-mkimage to create it.
3813
3814 2010-09-10 Robert Millan <rmh@gnu.org>
3815
3816 * util/grub.d/10_hurd.in: Add misc readability checks.
3817 * util/grub.d/10_kfreebsd.in: Likewise.
3818 * util/grub.d/10_linux.in: Likewise.
3819
3820 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3821
3822 * util/grub-install.in: ${imgext} won't be defined here until the
3823 install branch is merged. For the meantime, only verify core.img on
3824 i386-pc and sparc64-ieee1275 platforms.
3825
3826 2010-09-10 Robert Millan <rmh@gnu.org>
3827
3828 Solaris support in grub_find_zpool_from_dir(). Thanks
3829 Seth Goldberg for referring to getextmntent() facility.
3830
3831 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3832 `sys/mkdev.h'.
3833 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3834 `<sys/mnttab.h>'.
3835 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3836 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3837 method for finding zpool name.
3838
3839 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3840
3841 grub-fstest needs the host and hostfs modules while other utilities
3842 actively require those modules to be absent, so grub-fstest needs
3843 its own initialisation and finalisation code.
3844
3845 * Makefile.am (grub_fstest.pp): New target.
3846 (grub_fstest_init.lst): Likewise.
3847 (grub_fstest_init.c): Likewise.
3848 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3849
3850 2010-09-10 Robert Millan <rmh@gnu.org>
3851
3852 * configure.ac: Check for `struct statfs.f_fstypename' and
3853 `struct statfs.f_mntfromname'.
3854
3855 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3856 kFreeBSD-specific code.
3857
3858 2010-09-10 Robert Millan <rmh@gnu.org>
3859
3860 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3861 on ZFS. Now non-main filesystems are supported as / too.
3862
3863 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
3864
3865 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3866 and grub-core/disk/host.c to ...
3867 (grub-fstest): ... here. Having the host disk implementation
3868 present confuses grub-probe and other utility programs.
3869
3870 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3871 when writing to a file, not when writing to stdout.
3872
3873 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3874
3875 * tests/partmap_test.in: New test for partitions.
3876 * Makefile.util.def: Rules for new test.
3877
3878 2010-09-09 Robert Millan <rmh@gnu.org>
3879
3880 * util/grub-probe.c (probe): Fix a pair of unhandled error
3881 conditions.
3882
3883 2010-09-09 Robert Millan <rmh@gnu.org>
3884
3885 Basic Btrfs support (detection and UUID).
3886
3887 * grub-core/fs/btrfs.c: New file.
3888 * Makefile.util.def (library): Register btrfs.c.
3889 * grub-core/Makefile.core.def: Likewise.
3890
3891 2010-09-08 Robert Millan <rmh@gnu.org>
3892
3893 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3894 with (optional) parameters to specify device and relative path.
3895 * util/grub-install.in: Use is_path_readable_by_grub() to
3896 verify readability of a few critical files.
3897 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3898 verify readability of grub.cfg.new.
3899
3900 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Split minix.mod into minix.mod and minix2.mod.
3903
3904 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3905 * grub-core/Makefile.core.def (minix2): New module.
3906 * grub-core/fs/minix.c: Use definitions instead of runtime version
3907 checking.
3908 * grub-core/fs/minix2.c: New file.
3909
3910 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3911
3912 Add new --boot-directory option to replace --root-directory
3913
3914 * util/grub-install.in: Add new --boot-directory option
3915 * util/grub-reboot.in: Likewise.
3916 * util/grub-set-default.in: Likewise.
3917
3918 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3919
3920 * util/grub-mkconfig.in: Use new variable.
3921
3922 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3923
3924 * configure.ac: Define some useful variables.
3925
3926 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3929 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3930 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3931 Use terminfo and don't use cursor-on/cursor-off unless it's known
3932 to work.
3933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3934 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3935
3936 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3939 starts with "(,", fill the drive containing the loaded image in
3940 between those two characters, but expect that a full partition
3941 specification including partition map names will follow.
3942
3943 2010-09-08 Robert Millan <rmh@gnu.org>
3944
3945 * configure.ac: Remove `--enable-grub-fstest' option.
3946 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3947
3948 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3949 `grub-fstest' instead of `grub-probe' for readability verification.
3950 * util/grub-probe.c (probe): Remove readability verification kludge.
3951
3952 2010-09-08 Robert Millan <rmh@gnu.org>
3953
3954 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3955 initializing `GRUB_FS'.
3956
3957 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3958
3959 Not command (!) support to GRUB script.
3960
3961 * tests/grub_script_not.in: New test.
3962 * Makefile.util.def: Rules for new test.
3963
3964 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3965 ! command as a special case.
3966 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3967
3968 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3969
3970 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3971 grub_free.
3972
3973 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3974
3975 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3976
3977 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3978
3979 * docs/grub.texi (Shell-like scripting): Documentation for break,
3980 continue, shift and return commands.
3981
3982 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Rename CD-ROM to cd on BIOS.
3985
3986 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3987 "cd".
3988 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3989
3990 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3993 * util/grub-probe.c (main): Likewise.
3994 * util/i386/pc/grub-setup.c (main): Likewise.
3995 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3996 Reported and debugged by: alexxy
3997
3998 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4001 diagnostic info.
4002
4003 2010-09-05 Jo Shields <directhex@apebox.org>
4004
4005 * util/grub.d/30_os-prober.in: Add missing classes.
4006
4007 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * docs/grub.texi (Theme file format): Document new position format.
4010
4011 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4014 a table. Use @code instead of @verbatim.
4015
4016 2010-09-05 Colin D Bennett <colin@gibibit.com>
4017
4018 Gfxmenu documentation.
4019
4020 * docs/grub.texi (Theme file format): New chapter.
4021
4022 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4023
4024 * grub-core/Makefile.core.def (xzio): New module.
4025 * grub-core/io/xzio.c: New file.
4026 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4027 * grub-core/lib/xzembed/xz_config.h: Likewise.
4028 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4029 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4030 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4031 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4032 * grub-core/lib/xzembed/xz_private.h: Likewise.
4033 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4034 * include/grub/file.h (grub_file_filter_id): New compression filter
4035 GRUB_FILE_FILTER_XZIO.
4036
4037 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4040 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4041 size.
4042
4043 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4046 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4047
4048 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 Uncompressed checksum support.
4051
4052 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4053 (check_list): New parameter uncompress.
4054 (grub_cmd_hashsum): Handle --uncompress.
4055
4056 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Reintroduce testload.
4059
4060 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4061 from here ...
4062 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4063 (GRUB_MOD_INIT): New function.
4064 (GRUB_MOD_FINI): Likewise.
4065 * grub-core/Makefile.core.def (testload): New module.
4066
4067 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4068
4069 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4070 (uint8_t): New type.
4071 (uint16_t): Likewise.
4072 (uint32_t): Likewise.
4073 (uint64_t): Likewise.
4074
4075 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4076
4077 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4078
4079 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4082 Made static.
4083 (grub_gzfile_open): Removed. All users updated.
4084 (GRUB_MOD_INIT): New function.
4085 (GRUB_MOD_FINI): Likewise.
4086 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4087 (grub_file_filters_enabled): Likewise.
4088 (grub_file_open): Handle filters.
4089 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4090 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4091 * include/grub/file.h (grub_file_filter_id_t): New type.
4092 (grub_file_filter_t): Likewise.
4093 (grub_file_filters_all): New extern variable.
4094 (grub_file_filters_enabled): Likewise.
4095 (grub_file_filter_register): New inline function.
4096 (grub_file_filter_unregister): Likewise.
4097 (grub_file_filter_disable): Likewise.
4098 (grub_file_filter_disable_compression): Likewise.
4099 * include/grub/gzio.h: Removed.
4100
4101 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4102
4103 Filename expansion support for wildcards in GRUB script.
4104
4105 * tests/grub_script_expansion.in: New test.
4106 * Makefile.util.def: Rule for new test.
4107
4108 * grub-core/commands/wildcard.c: New file, implements filename
4109 expansion support for GRUB script.
4110 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4111 * grub-core/script/argv.c: Cosmetic changes.
4112 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4113 Refactored to perform wildcard expansion on arguments.
4114 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4115 struct.
4116
4117 * tests/util/grub-shell.in: Fix quoting for read input.
4118
4119 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4120
4121 Support for updating environment variables with matched substrings
4122 of regexp.
4123
4124 * tests/grub_cmd_regexp.in: New test.
4125 * Makefile.util.def: Rule for new test.
4126
4127 * grub-core/commands/regexp.c: New option -s to update environment
4128 variables with regexp matches.
4129
4130 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4131
4132 * include/grub/file.h (grub_file): New member not_easly_seekable.
4133 (grub_file_seekable): New inline function.
4134 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4135 easily seekable.
4136 (grub_gzio_open): Set not_easly_seekable.
4137 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4138 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4139
4140 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4141
4142 Support for options to appear multiple times on cmdline.
4143
4144 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4145 * grub-core/commands/extcmd.c: Support for repeatable option.
4146 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4147 repeatable option support.
4148
4149 Refactor menuentry into a regular command.
4150
4151 * grub-core/commands/menuentry.c: New file, menuentry command
4152 implementation.
4153 * grub-core/Makefile.core.def: Rule update for normal.mod.
4154 * grub-core/normal/main.c: Moved menuentry creation to
4155 grub-core/commands/menuentry.c.
4156 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4157 (grub_menu_execute_entry_real): Removed.
4158 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4159 function.
4160 (grub_script_execute_menuentry): Removed.
4161 * grub-core/script/parser.y (menuentry): Removed.
4162 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4163 * grub-core/script/yylex.l (menuentry): Removed.
4164 * include/grub/menu.h (grub_menu_init): New prototype.
4165 (grub_menu_fini): New prototype.
4166 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4167 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4168 (grub_script_execute_sourcecode): New prototype.
4169
4170 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4171
4172 "return" command for GRUB script functions.
4173
4174 * tests/grub_script_return.in: New test.
4175 * Makefile.util.def: Rules for new test.
4176
4177 * grub-core/script/execute.c (grub_script_return): New function.
4178 * grub-core/script/main.c: Register/unregister return commaond.
4179 * include/grub/script_sh.h (grub_script_return): New prototype.
4180
4181 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4182
4183 "setparams" command to update positional parameters.
4184
4185 * tests/grub_script_setparams.in: New test.
4186 * Makefile.util.def: Rules for new test.
4187
4188 * grub-core/script/argv.c (grub_script_argv_make): New function.
4189 * grub-core/script/execute.c (replace_scope): New function.
4190 (grub_script_setparams): New function.
4191 * grub-core/script/lexer.c: Remove unused variables.
4192 * grub-core/script/main.c: Register/unregister setparams command.
4193 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4194 (grub_script_setparams): New prototype.
4195
4196 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4197
4198 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4199 grub_free order.
4200
4201 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4202
4203 Support for passing block of commands as an argument to extcmds.
4204
4205 * Makefile.util.def: Rules for new test.
4206 * tests/grub_script_blockarg.in: New test.
4207 * grub-core/tests/test_blockarg.c: New file, block argument
4208 command used in the test.
4209
4210 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4211 (grub_register_extcmd_prio): New function prototype.
4212 (grub_extcmd_dispatcher): New function prototype.
4213 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4214 type.
4215 * include/grub/script_sh.h (struct grub_script): New members
4216 `children', `next_siblings' and `refcnt' for block arguments and
4217 reference counting.
4218 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4219 (grub_script_arg): New member `script' for block argument.
4220 (grub_script_argv): New member `script' for block argument.
4221 (grub_parser_param): New member `scripts' for block argument.
4222 (grub_script_mem_free): New extern function prototype.
4223 (grub_script_ref): New function prototype.
4224 (grub_script_unref): New function prototype.
4225
4226 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4227 extcmd form to support block arguments.
4228 * grub-core/script/argv.c: Block arguments support.
4229 * grub-core/script/execute.c: Likewise.
4230 * grub-core/script/lexer.c: Likewise.
4231 * grub-core/script/main.c: Likewise.
4232 * grub-core/script/script.c: Likewise.
4233 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4234 non-terminals.
4235
4236 * grub-core/commands/acpi.c: Update extcmd implementations with
4237 grub_extcmd_context_t.
4238 * grub-core/commands/cat.c: Likewise.
4239 * grub-core/commands/echo.c: Likewise.
4240 * grub-core/commands/extcmd.c: Likewise.
4241 * grub-core/commands/hashsum.c: Likewise.
4242 * grub-core/commands/hdparm.c: Likewise.
4243 * grub-core/commands/help.c: Likewise.
4244 * grub-core/commands/hexdump.c: Likewise.
4245 * grub-core/commands/i386/cpuid.c: Likewise.
4246 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4247 * grub-core/commands/i386/pc/halt.c: Likewise.
4248 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4249 * grub-core/commands/iorw.c: Likewise.
4250 * grub-core/commands/keystatus.c: Likewise.
4251 * grub-core/commands/loadenv.c: Likewise.
4252 * grub-core/commands/ls.c: Likewise.
4253 * grub-core/commands/lspci.c: Likewise.
4254 * grub-core/commands/memrw.c: Likewise.
4255 * grub-core/commands/probe.c: Likewise.
4256 * grub-core/commands/search_wrap.c: Likewise.
4257 * grub-core/commands/setpci.c: Likewise.
4258 * grub-core/commands/sleep.c: Likewise.
4259 * grub-core/disk/loopback.c: Likewise.
4260 * grub-core/hello/hello.c: Likewise.
4261 * grub-core/loader/i386/bsd.c: Likewise.
4262 * grub-core/loader/xnu.c: Likewise.
4263 * grub-core/term/gfxterm.c: Likewise.
4264 * grub-core/term/serial.c: Likewise.
4265 * grub-core/tests/lib/functional_test.c: Likewise.
4266
4267 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4268
4269 Multi-line quoted strings support.
4270
4271 * grub-core/script/lexer.c (append_newline): Removed.
4272 (grub_script_lexer_yywrap): Refactored.
4273 (grub_script_lexer_init): Refactored.
4274 * grub-core/script/yylex.l (yywrap): New function.
4275 (grub_lexer_resplit): New function.
4276 (grub_lexer_unput): New function.
4277 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4278 and resplit.
4279 * tests/grub_script_echo1.in: Added few more testcases.
4280
4281 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/kern/misc.c: Don't add abort alias in utils.
4284 Reported by: echoline.
4285
4286 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4287
4288 Add missing files into "make dist" tarball for other platforms.
4289
4290 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4291 * conf/Makefile.common (dist_noinst_DATA): New variable.
4292 * conf/Makefile.extra-dist: Added missing make dist files.
4293 * grub-core/Makefile.core.def: Likewise.
4294
4295 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 Compress grub_prefix.
4298
4299 * grub-core/boot/i386/pc/lnxboot.S: Use
4300 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4301 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4302 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4303 GRUB_MACHINE_PREFIX_END. All users updated.
4304 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4305 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4306 + 0x40.
4307 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4308 * util/grub-mkimage.c (image_target_desc): Change data_end to
4309 prefix_end. All users updated.
4310
4311 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4314 value.
4315 (grub_openbsd_boot): Likewise.
4316 (grub_netbsd_boot): Likewise.
4317 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4318 (grub_xnu_boot): Likewise.
4319
4320 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * configure.ac: Clean LIBS variable after tests.
4323
4324 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4325
4326 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4327
4328 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4331 echo if libdevmapper will be used.
4332
4333 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4334
4335 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4336 constant for the same file.
4337
4338 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4341
4342 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4343
4344 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4345 grub-core/*.pp.
4346
4347 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4348
4349 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4350 required by the boot protocol.
4351
4352 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4353 ebp and edi members.
4354 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4355 state.ebp and state.edi.
4356 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4357 %ebp and %edi according to grub_relocator32_ebp and
4358 grub_relocator32_edi respectively.
4359 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4360 and state.edi.
4361
4362 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Add i386-pc-pxe image target.
4365
4366 * util/grub-mkimage.c (image_target_desc): New enum value
4367 IMAGE_I386_PC_PXE.
4368 (image_targets): New target i386-pc-pxe.
4369 (generate_image): Handle i386-pc-pxe image.
4370
4371 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Fix grub_pxe_scan.
4374
4375 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4376 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4377 All users updated.
4378 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4379 (grub_pxe_pxenv): Correct type.
4380
4381 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4382
4383 * NEWS: Document most of the important changes since 1.98.
4384
4385 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4386
4387 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4388 generated manual page) a little.
4389
4390 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4391
4392 * docs/grub.texi: Add myself as an author.
4393
4394 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * Makefile.util.def (libgrub.a): Add missing sunpc.
4397 Reported by: Seth Goldberg.
4398
4399 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Interrupt wrapping and code simplifications.
4402
4403 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4404 x86_noieee1275 which are functionaly equivalent in this case.
4405 (grub-install): Make source on each platform explicit. Enable on
4406 all noemu.
4407 * gentpl.py (x86_efi_pc): Removed group.
4408 (x86_noefi): Likewise.
4409 (i386_noefi): Likewise.
4410 (x86_noieee1275): Likewise.
4411 (i386_noieee1275): Likewise.
4412 (i386_noefi_noieee1275): Likewise.
4413 (i386_pc_qemu_coreboot): Likewise.
4414 (i386_coreboot_multiboot): Likewise.
4415 (i386_pc_coreboot_multiboot_qemu): Likewise.
4416 (x86_noefi_mips): Likewise.
4417 (noieee1275): Likewise.
4418 (ieee1275_mips): Likewise.
4419 (noemu_noieee1275): Likewise.
4420 (cmos): New group.
4421 (usb): Likewise.
4422 (videoinkernel): Likewise.
4423 (videomodules): Likewise.
4424 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4425 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4426 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4427 include/grub/loader.h, include/grub/msdos_partition.h,
4428 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4429 include/grub/machine/console.h, include/grub/machine/vga.h,
4430 include/grub/machine/vbe.h, include/grub/machine/init.h,
4431 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4432 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4433 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4434 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4435 * grub-core/Makefile.core.def (kernel): Explicit the source for
4436 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4437 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4438 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4439 Use videoinkernel tag.
4440 (usb): Enable on all usb.
4441 (usbserial_common): Likewise.
4442 (usbserial_pl2303): Likewise.
4443 (usbserial_ftdi): Likewise.
4444 (uhci): Enable on all x86.
4445 (ohci): Enable on all pci.
4446 (cmostest): Enable on all CMOS.
4447 (acpi): Include commands/acpi.c on all platforms.
4448 (halt): Add relevant lib/*/halt.c.
4449 (hdparm): Enable on all pci.
4450 (lspci): Likewise.
4451 (usbtest): Enable on all usb.
4452 (ata): Enable on all pci.
4453 (ata_pthru): Likewise.
4454 (usbms): Enable on all usb.
4455 (usb_keyboard): Likewise.
4456 (font): Use tag videomodules.
4457 (bufio): Likewise.
4458 (datetime): Use tag cmos. Enable on all noemu.
4459 (mmap): Use tags common and x86.
4460 (gfxterm): Use tag videomodules.
4461 (bitmap): Likewise.
4462 (bitmap_scale): Likewise.
4463 (video_fb): Likewise.
4464 (video): Likewise.
4465 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4466 adjust padding accordingly. All users updated.
4467 (grub_ohci_transaction): Fix bad format specification.
4468 (GRUB_MOD_INIT): Add asserts for struct size.
4469 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4470 (grub_alloc_td): Likewise.
4471 (grub_free_queue): Likewise.
4472 (grub_uhci_transfer): Likewise.
4473 (grub_uhci_transaction): Fix bad format specification.
4474 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4475 (grub_usb_bulk_readwrite): Likewise.
4476 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4477 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4478 Made static.
4479 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4480 Made static.
4481 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4482 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4483 Transformed into C.
4484 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4485 Moved from here ...
4486 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4487 ... here. Transformed into C. Made static.
4488 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4489 Moved from here ...
4490 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4491 ... here. Transformed into C. Made static.
4492 * grub-core/kern/i386/pc/startup.S
4493 (grub_biosdisk_check_int13_extensions): Moved from here ...
4494 * grub-core/disk/i386/pc/biosdisk.c
4495 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4496 Made static.
4497 * grub-core/kern/i386/pc/startup.S
4498 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4499 * grub-core/disk/i386/pc/biosdisk.c
4500 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4501 Transformed into C. Made static.
4502 * grub-core/kern/i386/pc/startup.S
4503 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4504 * grub-core/disk/i386/pc/biosdisk.c
4505 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4506 Transformed into C. Made static.
4507 * grub-core/kern/i386/pc/startup.S
4508 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4509 * grub-core/disk/i386/pc/biosdisk.c
4510 (grub_biosdisk_get_diskinfo_standard): ... here.
4511 Transformed into C. Made static.
4512 * grub-core/kern/i386/pc/startup.S
4513 (grub_biosdisk_get_num_floppies): Moved from here ...
4514 * grub-core/disk/i386/pc/biosdisk.c
4515 (grub_biosdisk_get_num_floppies): ... here.
4516 Transformed into C. Made static.
4517 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4518 New function.
4519 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4520 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4521 Transformed into C. Made static.
4522 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4523 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4524 Transformed into C. Made static.
4525 * grub-core/kern/i386/ieee1275/init.c: Removed.
4526 * grub-core/kern/i386/misc.S: Likewise.
4527 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4528 Splitted from here ...
4529 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4530 Transformed into C. Made static. All users updated.
4531 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4532 Transformed into C. Made static. All users updated.
4533 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4534 Moved from here...
4535 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4536 Transformed into C. Made static. All users updated.
4537 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4538 Moved from here...
4539 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4540 Transformed into C. Made static. All users updated.
4541 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4542 Removed (replaced by C version).
4543 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4544 Moved from here...
4545 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4546 Transformed into C. Made static.
4547 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4548 Moved from here...
4549 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4550 ... here. Transformed into C.
4551 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4552 Moved from here...
4553 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4554 ... here. Transformed into C.
4555 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4556 Moved from here...
4557 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4558 ... here. Transformed into C. Made static.
4559 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4560 Moved from here...
4561 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4562 ... here. Transformed into C.
4563 * grub-core/kern/i386/pc/startup.S
4564 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4565 * grub-core/video/i386/pc/vbe.c
4566 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4567 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4568 Moved from here...
4569 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4570 ... here. Transformed into C.
4571 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4572 Moved from here...
4573 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4574 ... here. Transformed into C.
4575 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4576 Moved from here...
4577 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4578 ... here. Transformed into C.
4579 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4580 Moved from here...
4581 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4582 ... here. Transformed into C.
4583 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4584 Moved from here...
4585 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4586 ... here. Transformed into C. Made static.
4587 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4588 Moved from here...
4589 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4590 ... here. Transformed into C. Made static.
4591 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4592 Moved from here...
4593 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4594 ... here. Transformed into C. Made static.
4595 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4596 pxe_rm_entry as third argument.
4597 (grub_bios_interrupt): New function.
4598 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4599 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4600 of calling grub_stop.
4601 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4602 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4603 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4604 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4605 * grub-core/lib/i386/halt.c: Moved from here ...
4606 * grub-core/lib/i386/halt.c: ... here.
4607 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4608 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4609 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4610 grub_stop_floppy.
4611 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4612 * include/grub/i386/coreboot/init.h: Removed.
4613 * include/grub/i386/multiboot/init.h: Likewise.
4614 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4615 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4616 * include/grub/i386/pc/int.h: New file.
4617 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4618 (grub_pxe_scan): Removed.
4619 (grub_pxe_call): Update prototype.
4620 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4621 prototypes.
4622 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4623 * include/grub/i386/qemu/init.h: Removed.
4624 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4625 noreturn.
4626 (grub_halt): Likewise.
4627 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4628 (grub_reboot): Likewise.
4629 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4630 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4631 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4632
4633 2010-08-30 Robert Millan <rmh@gnu.org>
4634
4635 * NEWS: Document addition of ZFS support in `grub-install' and
4636 `grub-mkconfig'.
4637
4638 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4639
4640 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4641 dprintf output.
4642
4643 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Remove leftover embedding of font objects.
4646
4647 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4648 * util/grub-install.in (font): Removed.
4649 * util/grub-mkimage.c (generate_image): Remove font support. All users
4650 updated.
4651
4652 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Remove leftover embedding of font objects.
4655
4656 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4657 * util/grub-install.in (font): Removed.
4658 * util/grub-mkimage.c (generate_image): Remove font support. All users
4659 updated.
4660
4661 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4664 Reported by: Ian Turner
4665
4666 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4669 timeout to avoid indefinite boot stalling.
4670
4671 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4674 (grub_env_write_color_highlight): Likewise.
4675
4676 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/normal/term.c (print_more): Return to normal and not
4679 to standard state after printing "---MORE---".
4680
4681 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4684 Mask out the bit 0x80 since it has other meaning that specifiing color.
4685
4686 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 New relocator. Allows for more kernel support and more straightforward
4689 loader writing.
4690
4691 * Makefile.am (BOOTTARGET): New variable.
4692 (QEMU32): Likewise.
4693 (linux.init.x86_64): New target.
4694 (linux.init.i386): Likewise.
4695 (multiboot.elf): Likewise.
4696 (kfreebsd.elf): Likewise.
4697 (kfreebsd.aout): Likewise.
4698 (pc-chainloader.elf): Likewise.
4699 (pc-chainloader.bin): Likewise.
4700 (ntldr.elf): Likewise.
4701 (ntldr.bin): Likewise.
4702 (multiboot2.elf): Likewise.
4703 (kfreebsd.init.x86_64): Likewise.
4704 (kfreebsd.init.i386): Likewise.
4705 (knetbsd.init.i386): Likewise.
4706 (kopenbsd.init.i386): Likewise.
4707 (knetbsd.init.x86_64): Likewise.
4708 (kopenbsd.init.x86_64): Likewise.
4709 (linux-initramfs.i386): Likewise.
4710 (linux-initramfs.x86_64): Likewise.
4711 (kfreebsd-mfsroot.i386.img): Likewise.
4712 (knetbsd.image.i386): Likewise.
4713 (kopenbsd.image.i386): Likewise.
4714 (kopenbsd.image.x86_64): Likewise.
4715 (knetbsd.miniroot-image.i386.img): Likewise.
4716 (kfreebsd-mfsroot.x86_64.img): Likewise.
4717 (knetbsd.image.x86_64): Likewise.
4718 (knetbsd.miniroot-image.x86_64.img): Likewise.
4719 (kfreebsd-mfsroot.i386.gz): Likewise.
4720 (bootcheck-kfreebsd-i386): Likewise.
4721 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4722 (bootcheck-kfreebsd-x86_64): Likewise.
4723 (knetbsd.miniroot-image.i386.gz): Likewise.
4724 (bootcheck-knetbsd-i386): Likewise.
4725 (bootcheck-kopenbsd-i386): Likewise.
4726 (bootcheck-kopenbsd-x86_64): Likewise.
4727 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4728 (bootcheck-knetbsd-x86_64): Likewise.
4729 (bootcheck-linux-i386): Likewise.
4730 (bootcheck-linux-x86_64): Likewise.
4731 (bootcheck-linux16-i386): Likewise.
4732 (bootcheck-linux16-x86_64): Likewise.
4733 (bootcheck-multiboot): Likewise.
4734 (bootcheck-multiboot2): Likewise.
4735 (bootcheck-kfreebsd-aout): Likewise.
4736 (bootcheck-pc-chainloader): Likewise.
4737 (bootcheck-ntldr): Likewise.
4738 (CLEANFILES): Add new targets.
4739 (BOOTCHECKS): New variable.
4740 (.PHONY): Add bootchecks.
4741 (SUCCESSFUL_BOOT_STRING): New variable.
4742 (BOOTCHECK_TIMEOUT): Likewise.
4743 (bootcheck): New target
4744 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4745 * configure.ac: Correct efiemu excuse.
4746 * docs/grub.texi (Supported kernels): New chapter.
4747 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4748 include/grub/mm_private.h. Simplify inclusion of
4749 include/grub/boot.h, include/grub/loader.h
4750 and include/grub/msdos_partition.h
4751 (KERNEL_HEADER_FILES) [i386_coreboot]:
4752 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4753 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4754 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4755 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4756 include/grub/machine/loader.h.
4757 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4758 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4759 extra_dist.
4760 (pci.mod): Enable on i386-multiboot.
4761 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4762 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4763 i386-qemu.
4764 (relocator.mod): Rewritten.
4765 (aout.mod): Enable on all x86.
4766 (bsd.mod): Likewise.
4767 (ntldr.mod): New module.
4768 (linux.mod): Use loader/i386/linux.c on all x86.
4769 (xnu.mod): Enable on all x86.
4770 (vga_text.mod): disable on EFI and QEMU.
4771 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4772 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4773 * grub-core/efiemu/loadcore.c: Likewise.
4774 * grub-core/efiemu/main.c: Likewise.
4775 (grub_efiemu_exit_boot_services): Removed.
4776 (grub_efiemu_finish_boot_services): Likewise.
4777 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4778 function.
4779 * grub-core/efiemu/i386/nocfgtables.c: New file.
4780 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4781 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4782 (grub_efi_finish_boot_services): Moved from here ...
4783 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4784 Fille finish memory map and related data.
4785 (finish_mmap_buf): New variable.
4786 (grub_efi_uintn_t finish_mmap_size): Likewise.
4787 (grub_efi_uintn_t finish_key): Likewise.
4788 (grub_efi_uintn_t finish_desc_size): Likewise.
4789 (grub_efi_uint32_t finish_desc_version): Likewise.
4790 (grub_efi_is_finished): Likewise.
4791 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4792 finished.
4793 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4794 (grub_elf64_phdr_iterate): Likewise.
4795 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4796 (grub_os_area_size): Likewise.
4797 (grub_machine_init): Don't reserve os area.
4798 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4799 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4800 * grub-core/kern/i386/loader.S: Removed.
4801 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4802 (grub_os_area_size): Likewise.
4803 (grub_machine_init): Don't reserve os area.
4804 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4805 Don't call grub_dl_unload_all.
4806 Don't include loader.S.
4807 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4808 Declare the memory after _end as available.
4809 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
4810 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
4811 (GRUB_MM_ALLOC_MAGIC): Moved from here...
4812 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4813 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4814 * include/grub/mm_private.h (grub_mm_header): ... here.
4815 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4816 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
4817 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4818 (grub_mm_region): ..here. Removed addr. Added pre_size.
4819 All users updated.
4820 * grub-core/kern/mm.c (base): Renamed to ...
4821 (grub_mm_base): ... this. Made global.
4822 (grub_real_malloc): Alloc from end of region.
4823 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4824 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4825 * grub-core/kern/powerpc/cache_flush.S: ... here.
4826 * grub-core/lib/efi/relocator.c: New file.
4827 * grub-core/lib/i386/relocator.c: Rewritten.
4828 * grub-core/lib/i386/relocator16.S: New file.
4829 * grub-core/lib/i386/relocator32.S: Likewise.
4830 * grub-core/lib/i386/relocator64.S: Likewise.
4831 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4832 * grub-core/lib/i386/relocator_common.S: New file.
4833 * grub-core/lib/ieee1275/relocator.c: Likewise.
4834 * grub-core/lib/mips/relocator.c: Rewritten.
4835 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4836 stylistic adjustments.
4837 * grub-core/lib/powerpc/relocator.c: New file.
4838 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4839 * grub-core/lib/relocator.c: Rewritten.
4840 * grub-core/lib/x86_64/relocator_asm.S: New file.
4841 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4842 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4843 (bsd_tag): New struct.
4844 (tags): New variable.
4845 (tags_last): Likewise.
4846 (netbsd_module): New struct.
4847 (netbsd_mods): New variable.
4848 (netbsd_mods_last): Likewise.
4849 (openbsd_opts): New parameter "serial".
4850 (OPENBSD_SERIAL_ARG): New definition.
4851 (netbsd_opts): New parameter "serial".
4852 (NETBSD_SERIAL_ARG): New definition.
4853 (grub_freebsd_add_meta): Reorganised into ...
4854 (grub_bsd_add_meta): ...this. All users updated.
4855 (grub_freebsd_add_mmap): Reorganised into ...
4856 (generate_e820_mmap): ...this...
4857 (grub_bsd_add_mmap): ...and this. All users updated.
4858 (grub_freebsd_list_modules): Use tags.
4859 (grub_netbsd_add_meta_module): New function.
4860 (grub_netbsd_list_modules): Likewise.
4861 (grub_freebsd_boot): Use relocator and finish EFI.
4862 (grub_openbsd_boot): Likewise.
4863 (grub_netbsd_setup_video): New function.
4864 (grub_netbsd_add_modules): Likewise.
4865 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4866 and finish EFI.
4867 (grub_bsd_unload): Unload tags.
4868 (grub_bsd_load_aout): Use relocator.
4869 (grub_bsd_elf32_size_hook): New function.
4870 (grub_bsd_elf32_hook): Use relocator.
4871 (grub_bsd_elf64_size_hook): New function.
4872 (grub_bsd_elf64_hook): Use relocator.
4873 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4874 (grub_bsd_load): Zero-out openbsd_ramdisk.
4875 (grub_bsd_load): Use relocator.
4876 (grub_cmd_openbsd): Support serial.
4877 (grub_cmd_netbsd): Support modules.
4878 (grub_cmd_freebsd_module): Use relocator.
4879 (grub_netbsd_module_load): New function.
4880 (grub_cmd_netbsd_module): Likewise.
4881 (grub_cmd_openbsd_ramdisk): Likewise.
4882 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4883 kopenbsd_ramdisk.
4884 (GRUB_MOD_FINI): Unregister new commands.
4885 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4886 (grub_freebsd_load_elfmodule_obj): Use relocator.
4887 (grub_freebsd_load_elfmodule): Likewise.
4888 (grub_freebsd_load_elf_meta): Likewise.
4889 (grub_netbsd_load_elf_meta): New function.
4890 (grub_openbsd_find_ramdisk): Likewise.
4891 * grub-core/loader/i386/bsd_helper.S: Removed.
4892 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4893 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4894 * grub-core/loader/i386/efi/linux.c: Likewise.
4895 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4896 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4897 (DEFAULT_VIDEO_MODE): Likewise.
4898 (real_mode_target): New variable.
4899 (prot_mode_target): Likewise.
4900 (initrd_mem_target): Likewise.
4901 (relocator): Likewise.
4902 (efi_mmap_buf): Likewise.
4903 (efi_mmap_size): Likewise.
4904 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4905 (free_pages): Use relocator.
4906 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4907 (grub_linux_setup_video): Return error.
4908 (grub_linux_trampoline_start): Removed.
4909 (grub_linux_trampoline_end): Likewise.
4910 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4911 andd video parameters depending on firmware.
4912 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4913 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4914 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4915 (grub_cmd_initrd): Use relocator.
4916 * grub-core/loader/i386/linux_trampoline.S: Removed.
4917 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4918 (elf_sec_entsize): Likewise.
4919 (elf_sec_shstrndx): Likewise.
4920 (elf_sections): Likewise.
4921 (grub_multiboot_load): Use relocator.
4922 (grub_multiboot_get_mbi_size): Account for sections.
4923 (grub_multiboot_make_mbi): Use relocator and support sections.
4924 (grub_multiboot_add_elfsyms): New function.
4925 (grub_multiboot_free_mbi): Free sections.
4926 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4927 (grub_linux_real_target): Likewise.
4928 (grub_linux_real_chunk): Likewise.
4929 (grub_linux16_prot_size): Likewise.
4930 (grub_linux16_boot): Use relocator.
4931 (grub_linux_unload): Unload relocator.
4932 (grub_cmd_linux): Use relocator.
4933 (grub_cmd_initrd): Likewise.
4934 * grub-core/loader/i386/pc/ntldr.c: New file.
4935 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4936 Don't try to guess CPU frequency.
4937 (grub_xnu_set_video): Stretch bitmap.
4938 (grub_xnu_boot): Use relocator.
4939 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4940 (grub_linux_unload): Free relocator.
4941 (grub_linux_load32): Use relocator.
4942 (grub_linux_load64): Likewise.
4943 (grub_cmd_initrd): Likewise.
4944 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4945 (grub_multiboot_unload): Unload relocator.
4946 (grub_cmd_multiboot): Use relocator.
4947 (grub_cmd_module): Likewise.
4948 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4949 Use relocator and support sections.
4950 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4951 (elf_sec_entsize): Likewise.
4952 (elf_sec_shstrndx): Likewise.
4953 (elf_sections): Likewise.
4954 (grub_multiboot_load): Use relocator.
4955 (grub_multiboot_get_mbi_size): Account for sections.
4956 (grub_multiboot_make_mbi): Use relocator and support sections.
4957 (grub_multiboot_add_elfsyms): New function.
4958 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4959 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4960 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4961 Prototype changed. All users updated.
4962 (grub_xnu_align_heap): Simplified.
4963 (grub_xnu_writetree_toheap): Likewise.
4964 (grub_xnu_unload): Unload relocator.
4965 (grub_cmd_xnu_kernel): Use relocator.
4966 (grub_cmd_xnu_kernel64): Likewise.
4967 (grub_xnu_register_memory): Simplified.
4968 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
4969 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4970 EFI is finished.
4971 (grub_console_checkkey): Likewise.
4972 (grub_console_getkey): Likewise.
4973 (grub_console_getwh): Likewise.
4974 (grub_console_getxy): Likewise.
4975 (grub_console_gotoxy): Likewise.
4976 (grub_console_cls): Likewise.
4977 (grub_console_setcolorstate): Likewise.
4978 (grub_console_setcursor): Likewise.
4979 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4980 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4981 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4982 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4983 * grub-core/tests/boot/kernel-8086.S: Likewise.
4984 * grub-core/tests/boot/kernel-i386.S: Likewise.
4985 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4986 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4987 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4988 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4989 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4990 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4991 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4992 * grub-core/tests/boot/linux.cfg: Likewise.
4993 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4994 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4995 * grub-core/tests/boot/linux16.cfg: Likewise.
4996 * grub-core/tests/boot/multiboot.cfg: Likewise.
4997 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4998 * grub-core/tests/boot/ntldr.cfg: Likewise.
4999 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5000 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5001 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5002 New definition.
5003 * include/grub/dl.h (grub_dl_unload_all): Removed.
5004 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5005 (grub_efi_finish_boot_services): Change prototype.
5006 (grub_efi_is_finished): New variable.
5007 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5008 Changed prototype.
5009 (grub_efiemu_finish_boot_services): Removed.
5010 (grub_machine_efiemu_init_tables): New prototype.
5011 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5012 (grub_elf64_phdr_iterate): Likewise.
5013 * include/grub/i386/bsd.h: Include relocator.h.
5014 (freebsd_tag_header): New struct.
5015 (grub_openbsd_bios_mmap): Removed.
5016 (grub_unix_real_boot): Removed.
5017 (grub_freebsd_load_elfmodule32): Changed prototype.
5018 (grub_freebsd_load_elfmodule_obj64): Likewise.
5019 (grub_freebsd_load_elf_meta32): Likewise.
5020 (grub_freebsd_load_elf_meta64): Likewise.
5021 (grub_freebsd_add_meta): Removed.
5022 (grub_netbsd_load_elf_meta32): New prototype.
5023 (grub_netbsd_load_elf_meta64): Likewise.
5024 (grub_bsd_add_meta): Likewise.
5025 (grub_openbsd_ramdisk_descriptor): New struct.
5026 (grub_openbsd_find_ramdisk32): New prototype.
5027 (grub_openbsd_find_ramdisk64): Likewise.
5028 * include/grub/i386/coreboot/loader.h: Removed.
5029 * include/grub/i386/efi/loader.h: Likewise.
5030 * include/grub/i386/ieee1275/loader.h: Likewise.
5031 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5032 to grub_uint32_t.
5033 * include/grub/i386/loader.h: Removed.
5034 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5035 value.
5036 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5037 (grub_phys_addr_t): New type.
5038 (grub_vtop): New inline function.
5039 (grub_map_memory): Likewise.
5040 (grub_unmap_memory): Likewise.
5041 * include/grub/i386/multiboot/loader.h: Removed.
5042 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5043 (NETBSD_BTINFO_CONSOLE): New definition.
5044 (NETBSD_BTINFO_SYMTAB): Likewise.
5045 (NETBSD_BTINFO_MODULES): Likewise.
5046 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5047 (grub_netbsd_bootinfo): New struct.
5048 (grub_netbsd_btinfo_common): Use explicit bitsize.
5049 (grub_netbsd_btinfo_mmap_entry): Removed.
5050 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5051 (grub_netbsd_btinfo_bootdisk): New struct.
5052 (grub_netbsd_btinfo_symtab): Likewise.
5053 (grub_netbsd_btinfo_serial): Likewise.
5054 (grub_netbsd_btinfo_modules): Likewise.
5055 (grub_netbsd_btinfo_framebuf): Likewise.
5056 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5057 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5058 Likewise.
5059 (grub_openbsd_bootargs): Use explicit bitsize.
5060 (grub_openbsd_bootarg_console): New struct.
5061 (GRUB_OPENBSD_COM_MAJOR): New definition.
5062 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5063 * include/grub/i386/pc/efiemu.h: Removed.
5064 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5065 * include/grub/i386/qemu/loader.h: Removed.
5066 * include/grub/i386/relocator.h: Rewritten.
5067 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5068 * include/grub/mips/memory.h: New file.
5069 * include/grub/mips/multiboot.h: Rewritten.
5070 * include/grub/mips/relocator.h: Rewritten.
5071 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5072 (grub_vtop): New function.
5073 (grub_map_memory): Likewise.
5074 (grub_unmap_memory): Likewise.
5075 * include/grub/misc.h (ALIGN_DOWN): New definition.
5076 * include/grub/mm.h (grub_mm_check_real): New proto.
5077 (GRUB_MM_CHECK): New definition.
5078 * include/grub/mm_private.h: New file.
5079 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5080 (grub_multiboot_get_mbi_size): Removed.
5081 (grub_multiboot_make_mbi): Change prottype.
5082 (grub_multiboot_set_accepts_video): New proto.
5083 (grub_multiboot_add_elfsyms): Likewise.
5084 (grub_multiboot_payload_eip): New variable.
5085 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5086 New prototype.
5087 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5088 New definition.
5089 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5090 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5091 * include/grub/powerpc/ieee1275/loader.h: Removed.
5092 * include/grub/powerpc/memory.h: New file.
5093 * include/grub/powerpc/relocator.h: Likewise.
5094 * include/grub/relocator.h: Likewise.
5095 * include/grub/relocator_private.h: Likewise.
5096 * include/grub/sparc64/ieee1275/loader.h: Removed.
5097 * include/grub/x86_64/memory.h: New file.
5098 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5099 (grub_xnu_heap_malloc): Likewise.
5100 (grub_xnu_heap_real_start): Removed.
5101 (grub_xnu_heap_start): Likewise.
5102 (grub_xnu_relocator): New variable.
5103 (grub_xnu_heap_target_start): Likewise.
5104 * tests/util/grub-shell.in: Support non-pc.
5105 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5106
5107 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5110 on malloc error.
5111 (grub_bidi_logical_to_visual): Check that malloc succeded.
5112 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5113 puts.
5114 (grub_xputs_normal): Likewise.
5115
5116 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5119 extra_dist.
5120
5121 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5124
5125 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5128
5129 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5132 dprintf.
5133
5134 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5135
5136 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5137
5138 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/normal/term.c (print_more): Fix a memory leak.
5141 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5142 (grub_xputs_normal): Likewise.
5143
5144 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5147 the begining of the string
5148
5149 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/script/script.c (grub_script_parse): Free parsed on
5152 failure.
5153
5154 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5157 on failure.
5158
5159 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5162 return.
5163
5164 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5167 (scroll_up): Fix a memory leak.
5168
5169 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5172 errors.
5173
5174 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 Handle USB pendrives exposed as floppies.
5177
5178 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5179 floppy.
5180 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5181 Check for partitions on all devices.
5182
5183 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5186 (readkey): Likewise.
5187
5188 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5189
5190 Multiple variable names support to "export" command.
5191
5192 * normal/context.c (grub_cmd_export): "export" command supports
5193 multiple variable names.
5194
5195 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5196
5197 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5198 --target=drive output to Mach device name.
5199
5200 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5201
5202 New Automake based build system for GRUB.
5203
5204 * ABOUT-NLS: New file.
5205 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5206 in Makefile.util.def file.
5207 * Makefile.util.def: New file. Autogen build definitions file for
5208 GRUB host utils.
5209 * conf/Makefile.common: New file. Common variables for GRUB host
5210 utils and target modules.
5211 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5212 * docs/Makefile.am: New file. Automake file for docs.
5213 * gentpl.py: New file. Python script to generate Autogen
5214 template.
5215 * grub-core/Makefile.am: New file. GRUB target modules' rules
5216 that doesn't fit in Makefile.core.def file.
5217 * grub-core/Makefile.core.def: New file. Autogen build
5218 definitions file for GRUB target modules.
5219 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5220 specific setjmp.S file.
5221 * po/Makefile.am: New file.
5222
5223 * .bzrignore: New ignores.
5224 * INSTALL: New requirements, without Ruby.
5225 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5226 * autogen.sh: Updated to invoke autogen as necessary.
5227 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5228 and defines for Automake conditionals.
5229 * geninit.sh: Refactoring.
5230
5231 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5232 necessary.
5233 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5234 New prototype.
5235
5236 * include/grub/test.h: Fix functional test modules' naming.
5237 * grub-core/tests/example_functional_test.c: Fix test module name.
5238
5239 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5240 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5241 * util/grub-editenv.c: Likewise.
5242 * util/grub-fstest.c: Likewise.
5243 * util/grub-mkdevicemap.c: Likewise.
5244 * util/grub-mkfont.c: Likewise.
5245 * util/grub-mkimage.c: Likewise.
5246 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5247 * util/grub-probe.c: Likewise.
5248 * util/grub-script-check.c: Likewise.
5249 * util/i386/pc/grub-setup.c: Likewise.
5250 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5251
5252 * tests/util/grub-shell.in: Fix override directory path.
5253 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5254 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5255
5256 * util/lvm.c: Update #includes.
5257 * util/raid.c: Likewise.
5258 * util/resolve.c: Likewise.
5259 * grub-core/bus/emu/pci.c: Likewise.
5260 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5261 * grub-core/lib/posix_wrap/string.h: Likewise.
5262 * grub-core/kern/emu/main.c: Likewise.
5263
5264 * grub-core/gensymlist.sh: New file. Script for generating kernel
5265 symbols file.
5266 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5267
5268 * grub-core/gentrigtables.c: Fix unused variable warnings.
5269
5270 * Makefile.in: Removed.
5271 * conf/any-emu.rmk: Removed.
5272 * conf/common.rmk: Removed.
5273 * conf/i386-coreboot.rmk: Removed.
5274 * conf/i386-efi.rmk: Removed.
5275 * conf/i386-ieee1275.rmk: Removed.
5276 * conf/i386-multiboot.rmk: Removed.
5277 * conf/i386-pc.rmk: Removed.
5278 * conf/i386-qemu.rmk: Removed.
5279 * conf/i386.rmk: Removed.
5280 * conf/mips-yeeloong.rmk: Removed.
5281 * conf/mips.rmk: Removed.
5282 * conf/powerpc-ieee1275.rmk: Removed.
5283 * conf/sparc64-ieee1275.rmk: Removed.
5284 * conf/tests.rmk: Removed.
5285 * conf/x86-efi.rmk: Removed.
5286 * conf/x86_64-efi.rmk: Removed.
5287 * gendistlist.sh: Removed.
5288 * geninitheader.sh: Removed.
5289 * genkernsyms.sh.in: Removed.
5290 * genmk.rb: Removed.
5291 * gensymlist.sh.in: Removed.
5292 * mkinstalldirs: Removed.
5293 * boot: Moved ...
5294 * grub-core/boot: ... to here.
5295 * bus: Moved ...
5296 * grub-core/bus: ... to here.
5297 * commands: Moved ...
5298 * grub-core/commands: ... to here.
5299 * disk: Moved ...
5300 * grub-core/disk: ... to here.
5301 * efiemu: Moved ...
5302 * grub-core/efiemu: ... to here.
5303 * font: Moved ...
5304 * grub-core/font: ... to here.
5305 * fs: Moved ...
5306 * grub-core/fs: ... to here.
5307 * gencmdlist.sh: Moved ...
5308 * grub-core/gencmdlist.sh: ... to here.
5309 * genemuinit.sh: Moved ...
5310 * grub-core/genemuinit.sh: ... to here.
5311 * genemuinitheader.sh: Moved ...
5312 * grub-core/genemuinitheader.sh: ... to here.
5313 * genfslist.sh: Moved ...
5314 * grub-core/genfslist.sh: ... to here.
5315 * genhandlerlist.sh: Moved ...
5316 * grub-core/genhandlerlist.sh: ... to here.
5317 * genmoddep.awk: Moved ...
5318 * grub-core/genmoddep.awk: ... to here.
5319 * genmodsrc.sh: Moved ...
5320 * grub-core/genmodsrc.sh: ... to here.
5321 * genpartmaplist.sh: Moved ...
5322 * grub-core/genpartmaplist.sh: ... to here.
5323 * genparttoollist.sh: Moved ...
5324 * grub-core/genparttoollist.sh: ... to here.
5325 * genterminallist.sh: Moved ...
5326 * grub-core/genterminallist.sh: ... to here.
5327 * gentrigtables.c: Moved ...
5328 * grub-core/gentrigtables.c: ... to here.
5329 * genvideolist.sh: Moved ...
5330 * grub-core/genvideolist.sh: ... to here.
5331 * gettext: Moved ...
5332 * grub-core/gettext: ... to here.
5333 * gfxmenu: Moved ...
5334 * grub-core/gfxmenu: ... to here.
5335 * gnulib: Moved ...
5336 * grub-core/gnulib: ... to here.
5337 * hello: Moved ...
5338 * grub-core/hello: ... to here.
5339 * hook: Moved ...
5340 * grub-core/hook: ... to here.
5341 * io: Moved ...
5342 * grub-core/io: ... to here.
5343 * kern: Moved ...
5344 * grub-core/kern: ... to here.
5345 * lib: Moved ...
5346 * grub-core/lib: ... to here.
5347 * loader: Moved ...
5348 * grub-core/loader: ... to here.
5349 * mmap: Moved ...
5350 * grub-core/mmap: ... to here.
5351 * normal: Moved ...
5352 * grub-core/normal: ... to here.
5353 * partmap: Moved ...
5354 * grub-core/partmap: ... to here.
5355 * parttool: Moved ...
5356 * grub-core/parttool: ... to here.
5357 * script: Moved ...
5358 * grub-core/script: ... to here.
5359 * term: Moved ...
5360 * grub-core/term: ... to here
5361 * tests/example_functional_test.c: Moved ...
5362 * grub-core/tests/example_functional_test.c: ... to here.
5363 * tests/lib/functional_test.c: Moved ...
5364 * grub-core/tests/lib/functional_test.c: ... to here.
5365 * tests/lib/test.c: Moved ...
5366 * grub-core/tests/lib/test.c: ... to here.
5367 * video: Moved ...
5368 * grub-core/video: ... to here.
5369
5370 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5371
5372 Replace --enable-grub-emu-modules with grub-emu-lite.
5373
5374 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5375 cache.S.
5376
5377 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5378 * kern/emu/full.c: New file. For grub-emu specific initialization.
5379 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5380 * kern/emu/main.c: Call initialization function grub_emu_init.
5381
5382 * Makefile.in: Include grub-emu-lite in install.
5383 * commands/parttool.c: Use grub_no_autoload to differentiate
5384 between grub-emu and grub-emu-lite.
5385 * include/grub/misc.h: New variable grub_no_autoload.
5386
5387 * conf/any-emu.rmk: New rules for grub-emu-lite.
5388 * configure.ac: Remove --enable-grub-emu-modules.
5389 * genmk.rb: Cleanup unnecessary rules.
5390 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5391
5392 * normal/main.c: Don't load list files on grub-emu-lite.
5393 * util/misc.c (grub_arch_sync_caches): Removed.
5394
5395 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5398 grub-mkimage rather than grub-mkelfimage.
5399 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5400
5401 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5404 a key after CapsLock or NumLock. It's just a qemu bug.
5405
5406 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5409 needed by libusb wrapper.
5410
5411 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5412
5413 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5414
5415 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5418 --nounzip is passed.
5419
5420 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 USB hotunplugging and USB serial support.
5423
5424 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5425 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5426 (grub_uhci_transfer): Respect timeout and set *actual.
5427 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5428 non-standard length.
5429 (grub_usb_device_attach): Autoload modules.
5430 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5431 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5432 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5433 users updated.
5434 (grub_usb_add_hub): Fill nports and children.
5435 (attach_root_port): Receive hub instead of controller.
5436 All users updated. Fill hub->devices.
5437 (grub_usb_root_hub): Allocate hub->devices.
5438 (detach_device): New function.
5439 (poll_nonroot_hub): Fill children and detach devices.
5440 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5441 actual arguments. All users updated.
5442 (grub_usb_bulk_read_extended): New function.
5443 * bus/usb/serial/common.c: New file.
5444 * bus/usb/serial/ftdi.c: Likewise.
5445 * bus/usb/serial/pl2303.c: Likewise.
5446 * commands/terminal.c (handle_command): Support wildcard.
5447 * commands/usbtest.c: Output "Unknown" instead of empty string.
5448 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5449 (usbserial_common_mod_SOURCES): New variable.
5450 (usbserial_common_mod_CFLAGS): Likewise.
5451 (usbserial_common_mod_LDFLAGS): Likewise.
5452 (pkglib_MODULES): Add usbserial_pl2303.mod.
5453 (usbserial_pl2303_mod_SOURCES): New variable.
5454 (usbserial_pl2303_mod_CFLAGS): Likewise.
5455 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5456 (pkglib_MODULES): Add usbserial_ftdi.mod.
5457 (usbserial_ftdi_mod_SOURCES): New variable.
5458 (usbserial_ftdi_mod_CFLAGS): Likewise.
5459 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5460 (pkglib_MODULES): Add serial.mod.
5461 (serial_mod_SOURCES): New variable.
5462 (serial_mod_CFLAGS): Likewise.
5463 (serial_mod_LDFLAGS): Likewise.
5464 * conf/i386-pc.rmk: Likewise.
5465 * conf/mips-yeeloong.rmk: Likewise.
5466 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5467 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5468 * disk/usbms.c (first_available_slot): New variable.
5469 (grub_usbms_attach): Don't reuse free slots due to potential cache
5470 problems.
5471 * include/grub/serial.h: Moved to ..
5472 * include/grub/ns8250.h: ...this.
5473 * include/grub/serial.h: New file.
5474 * include/grub/term.h (grub_term_poll_usb): New variable.
5475 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5476 readkey. All users updated.
5477 (grub_terminfo_output_state): Pass term to put.
5478 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5479 (grub_usb_controller_dev): Add timeout and actual arguments to
5480 transfer. All users updated.
5481 (grub_usb_interface): New field detach_data.
5482 (grub_usb_device): New fields children and nports.
5483 (grub_usb_ep_type_t): New type.
5484 (grub_usb_get_ep_type): New function.
5485 (grub_usb_bulk_read_extended): Likewise.
5486 * include/grub/usbdesc.h (grub_usb_desc): New type.
5487 * include/grub/usbserial.h: New file.
5488 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5489 * kern/term.c (grub_term_poll_usb): New variable.
5490 (grub_getkey): Call grub_term_poll_usb if set.
5491 (grub_checkkey): Likewise.
5492 (grub_getkeystatus): Likewise.
5493 * term/serial.c: Moved controller-specific parts to ...
5494 * term/ns8250.c: ... here.
5495 * term/serial.c: Mostly rewritten.
5496 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5497 according to spec.
5498
5499 2010-08-20 Robert Millan <rmh@gnu.org>
5500
5501 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5502 a separate module and maybe other interesting combinations.
5503
5504 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5505 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5506 (kfreebsd_entry): Add generic filesystem module load routine.
5507 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5508
5509 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5510
5511 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5512 "numcenter" (I misunderstood the purpose of this entry).
5513 * docs/grub.texi (sendkey): Likewise.
5514
5515 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5516
5517 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5518 status flag options; simply omitting the option is equivalent and
5519 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5520 (keysym_table): Rename "num5numlock" to "numlock".
5521 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5522 can uniformly say that only the last of multiple `sendkey'
5523 invocations has any effect.
5524 * docs/grub.texi (sendkey): New section.
5525
5526 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5527
5528 * commands/i386/pc/sendkey.c (options): Fix three typos.
5529
5530 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 Implement sendkey support.
5533
5534 * commands/i386/pc/sendkey.c: New file.
5535 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5536 (sendkey_mod_SOURCES): New variable.
5537 (sendkey_mod_CFLAGS): Likewise.
5538 (sendkey_mod_LDFLAGS): Likewise.
5539
5540 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5541
5542 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5543 fix warnings from Autoconf.
5544
5545 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5546
5547 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5548 to avoid false positives with some assemblers that output things
5549 like "someprefix_func" as part of their output.
5550
5551 2010-08-15 Robert Millan <rmh@gnu.org>
5552
5553 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5554 errors.
5555 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5556 grub_get_libzfs_handle() errors.
5557
5558 2010-08-14 Robert Millan <rmh@gnu.org>
5559
5560 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5561 filesystem is not ZFS.
5562
5563 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5564
5565 Fix for misspelled color names defaulting to black/black (bug
5566 reported by Doug Nazar)
5567
5568 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5569 status to prototype.
5570 * normal/color.c (grub_parse_color_name_pair): Return failure
5571 status.
5572 (grub_env_write_color_normal): Ignore bad color names.
5573 (grub_env_write_color_highlight): Likewise.
5574 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5575
5576 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5577
5578 "shift" command support to GRUB script.
5579
5580 * include/grub/script_sh.h (grub_script_shift): New prototype.
5581 * script/execute.c (grub_script_shift): New function.
5582 * script/main.c (grub_script_init): Register shift command.
5583 (grub_script_fini): Unregister shift command.
5584 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5585
5586 * tests/grub_script_shift.in: New testcase.
5587 * conf/tests.rmk: Rules for new testcase.
5588
5589 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5590
5591 "continue" command support to GRUB script.
5592
5593 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5594 (grub_script_break): Continue support.
5595 * script/main.c (grub_script_init): Register continue command.
5596 (grub_script_fini): Unregister continue command.
5597
5598 * tests/grub_script_continue.in: New testcase.
5599 * conf/tests.rmk: Rules for new testcase.
5600
5601 2010-08-12 BVK Chaitanya <bvk@dbook>
5602
5603 "break" command support to GRUB script.
5604
5605 * conf/common.rmk: Rule updates to grub-script-check.
5606 * include/grub/misc.h (grub_min): New function.
5607 * include/grub/script_sh.h (grub_script_init): New prototype.
5608 (grub_script_fini): New prototype.
5609 (grub_script_break): New prototype.
5610 * script/main.c (grub_script_init): New function.
5611 (grub_script_fini): New function.
5612 * script/execute.c (grub_script_break): New function.
5613 * normal/main.c: Calls to grub_script_{init,fini}.
5614 * util/grub-script-check.c (grub_script_break): New function.
5615
5616 * tests/grub_script_break.in: New testcase.
5617 * conf/tests.rmk: Rules for new test case.
5618
5619 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5620
5621 Function parameters support to GRUB script.
5622
5623 * script/yylex.l (VARIABLE): Regular expression update.
5624 * script/function.c (grub_script_function_call): Moved ...
5625 * script/execute.c (grub_script_function_call): ... to here.
5626 (grub_script_execute_arglist_to_argv): Removed.
5627 (grub_script_arglist_to_argv): New function.
5628 * script/argv.c: New file.
5629 (grub_script_argv_free): New function.
5630 (grub_script_argv_next): Likewise.
5631 (grub_script_argv_append): Likewise.
5632 (grub_script_argv_split_append): Likewise.
5633 * include/grub/script_sh.h (grub_script_argv): New struct.
5634 (grub_script_argv_free): New function.
5635 (grub_script_argv_next): Likewise.
5636 (grub_script_argv_append): Likewise.
5637 (grub_script_argv_split_append): Likewise.
5638
5639 * conf/common.rmk (normal.mod): New source script/argv.c.
5640
5641 * tests/grub_script_echo1.in: More tests.
5642 * tests/grub_script_vars1.in: Likewise.
5643 * tests/grub_script_functions.in: New test case.
5644 * conf/tests.rmk: Rules for new testcase.
5645
5646 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5647
5648 Remove grub_script_cmdblock struct.
5649
5650 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5651 * script/parser.y: Likewise.
5652 * script/execute.c: Rename cmdblock suffix to cmdlist.
5653 * script/script.c: Likewise.
5654 * util/grub-script-check.c: Likewise.
5655
5656 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5657
5658 * .bzrignore: add grub-macho2img
5659
5660 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5663
5664 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 Remove the dump of sm712 initialisation sequence.
5667
5668 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5669 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5670 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5671 (GRUB_VGA_CR_*): Added many registers.
5672 (GRUB_VGA_SR_*): Likewise.
5673 (GRUB_VGA_GR_*): Likewise.
5674 (grub_vga_write_arx): New function.
5675 (grub_video_hw_config): New struct.
5676 (grub_vga_set_geometry): New function.
5677 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5678 GRUB_PCI_CLASS_SUBCLASS_VGA.
5679 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5680 * video/sm712.c (grub_sm712_write_reg): New function
5681 (grub_sm712_read_reg): Likewise.
5682 (grub_sm712_sr_write): Likewise.
5683 (grub_sm712_gr_write): Likewise.
5684 (grub_sm712_cr_write): Likewise.
5685 (grub_sm712_write_arx): Likewise.
5686 (grub_sm712_cr_shadow_write): Likewise.
5687 (grub_sm712_write_dda_lookup): Likewise.
5688 (grub_video_sm712_setup): Initialise the video rather then
5689 blindly replay the dump.
5690 (main) [TEST]: Add a routine to be able to compile as standalone for
5691 tests.
5692 * video/sm712_init.c (sm712_init): Removed.
5693 (sm712_sr_seq1): New array.
5694 (sm712_sr_seq2): Likewise.
5695
5696 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * include/grub/vga.h: Add missing grub/pci.h include.
5699
5700 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5701
5702 * util/grub-macho2img.c (main): fix typo
5703
5704 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5707 (grub_vga_gr_read): Likewise.
5708 (grub_vga_cr_write): Likewise.
5709 (grub_vga_cr_read): Likewise.
5710 (grub_vga_sr_write): Likewise.
5711 (grub_vga_sr_read): Likewise.
5712 (grub_vga_palette_read): Likewise.
5713 (grub_vga_palette_write): Likewise.
5714 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5715 (grub_sm712_sr_read): New function.
5716 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5717 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5718
5719 2010-08-09 Robert Millan <rmh@gnu.org>
5720
5721 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5722 out unused variables on non-ZFS build.
5723
5724 2010-08-08 Robert Millan <rmh@gnu.org>
5725
5726 Fix path generation for sub-filesystems in ZFS.
5727
5728 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5729 missing slash.
5730
5731 2010-08-08 Robert Millan <rmh@gnu.org>
5732
5733 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5734
5735 2010-08-08 Robert Millan <rmh@gnu.org>
5736
5737 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5738 exist, issue a proper error message (rely on `ls' for translated
5739 strings).
5740
5741 2010-08-08 Robert Millan <rmh@gnu.org>
5742
5743 Fix grub-probe invocation.
5744
5745 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5746
5747 2010-08-04 Robert Millan <rmh@gnu.org>
5748
5749 * configure.ac: Remove checks for getfsstat() and getmntany().
5750 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5751 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5752 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5753 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5754 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5755 function.
5756 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5757 via find_mount_point_from_dir() and getfsstat() / getmntany().
5758
5759 2010-08-04 Robert Millan <rmh@gnu.org>
5760
5761 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5762 (grub_find_zpool_from_mount_point): Merge into ...
5763 (grub_find_zpool_from_dir): ... this.
5764 * kern/emu/misc.c: Likewise.
5765
5766 * kern/emu/misc.c
5767 (grub_make_system_path_relative_to_its_root): Replace
5768 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5769 with grub_find_zpool_from_dir().
5770 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5771
5772 2010-08-04 Robert Millan <rmh@gnu.org>
5773
5774 Support OpenSolaris in ZFS device resolution.
5775
5776 * configure.ac: Check for getmntany().
5777 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5778 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5779 support.
5780
5781 2010-08-03 Robert Millan <rmh@gnu.org>
5782
5783 Fix grub-emu build.
5784
5785 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5786 * include/grub/emu/misc.h: ... here.
5787
5788 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5789 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5790
5791 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5792 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5793 (grub_get_libzfs_handle): Move to ...
5794 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5795 (grub_get_libzfs_handle): ... here.
5796
5797 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5798
5799 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5800 as command name case.
5801
5802 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * disk/raid.c (insert_array): Select unique numbers for named arrays
5805 as well, for use as keys in the disk cache.
5806
5807 2010-08-01 Robert Millan <rmh@gnu.org>
5808
5809 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5810 kFreeBSD device name, except on ZFS where the filesystem label is
5811 used.
5812 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5813 `/boot/zfs/zpool.cache'.
5814 Set mountfrom kernel variable using ${kfreebsd_device}.
5815
5816 2010-08-01 Robert Millan <rmh@gnu.org>
5817
5818 Make it even harder to use uninitialized `libzfs_handle' (and
5819 make the interface a bit simpler).
5820
5821 * include/grub/util/misc.h (grub_util_init_libzfs)
5822 (libzfs_handle): Remove.
5823 (grub_get_libzfs_handle): New prototype.
5824
5825 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5826 attribute.
5827 (grub_util_init_libzfs): Remove.
5828 (grub_get_libzfs_handle): New function.
5829
5830 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5831 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5832 accessing `libzfs_handle' directly.
5833
5834 2010-08-01 Robert Millan <rmh@gnu.org>
5835
5836 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5837 (grub_find_zpool_from_mount_point): New function prototypes.
5838
5839 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5840 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5841
5842 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5843 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5844 `static' attribute.
5845
5846 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5847 finding zpool from mount point into ...
5848 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5849
5850 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5851 requested path is part of a ZFS pool, use
5852 grub_find_zpool_from_mount_point() to detect its filesystem name,
5853 and generate a path with `/fsname@path' syntax.
5854
5855 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5856
5857 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5858 (void) rather than () so that this is a proper prototype.
5859
5860 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5863
5864 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5867 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5868
5869 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5872
5873 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5874
5875 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5876
5877 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5878
5879 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5880 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5881 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5882 disable gfxpayload.
5883 (Shell-like scripting): Add real content.
5884 (Serial terminal): Suggest `terminal_input serial; terminal_output
5885 serial' rather than putting the two commands on separate lines,
5886 since console input will be inoperative after the first command.
5887 (menuentry): Document --class, --users, and --hotkey options.
5888 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5889 Vladimir Serbinenko).
5890
5891 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5892 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5893
5894 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5895
5896 2010-08-01 Robert Millan <rmh@gnu.org>
5897
5898 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5899 (grub_find_zpool_from_mount_point): New function prototypes.
5900
5901 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5902 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5903
5904 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5905 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5906 `static' attribute.
5907
5908 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5909 finding zpool from mount point into ...
5910 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5911
5912 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5913 requested path is part of a ZFS pool, use
5914 grub_find_zpool_from_mount_point() to detect its filesystem name,
5915 and generate a path with `/fsname@path' syntax.
5916
5917 2010-08-01 Robert Millan <rmh@gnu.org>
5918
5919 Prevent accidental use of uninitialized libzfs_handle.
5920
5921 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5922 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5923 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5924
5925 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5926
5927 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5928 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5929
5930 2010-08-01 Robert Millan <rmh@gnu.org>
5931
5932 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
5933
5934 2010-07-31 Robert Millan <rmh@gnu.org>
5935
5936 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5937
5938 2010-07-31 Robert Millan <rmh@gnu.org>
5939
5940 * kern/emu/misc.c: Add missing license header.
5941
5942 2010-07-31 Robert Millan <rmh@gnu.org>
5943
5944 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5945
5946 * include/grub/util/libnvpair.h: Include `<config.h>'.
5947 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5948 declaring libnvpair prototypes ourselves.
5949 * include/grub/util/libzfs.h: Include `<config.h>'.
5950 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5951 declaring libzfs prototypes ourselves.
5952
5953 (libzfs_handle): Moved to ...
5954 * include/grub/util/misc.h (libzfs_handle): ... here.
5955 Include `<grub/util/libzfs.h>'.
5956
5957 2010-07-30 Robert Millan <rmh@gnu.org>
5958
5959 * include/grub/emu/misc.h: Add missing license header.
5960
5961 2010-07-30 Robert Millan <rmh@gnu.org>
5962
5963 Enable `grub-probe -t device' resolution on ZFS.
5964
5965 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5966 * include/grub/util/libnvpair.h: New file.
5967 * include/grub/util/libzfs.h: New file.
5968
5969 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5970 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5971 `<grub/util/libnvpair.h>'.
5972 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5973
5974 (find_mount_point_from_dir): New static function.
5975 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5976 function.
5977 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5978 find_root_device_from_libzfs() before ressorting to find_root_device().
5979
5980 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5981 prototype.
5982 * util/misc.c: Include `<grub/util/libzfs.h>'.
5983 (grub_util_init_libzfs): New function.
5984 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5985 [HAVE_LIBZFS] (fini_libzfs): New static function.
5986 (grub_util_init_libzfs): New function.
5987 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5988
5989 2010-07-30 Robert Millan <rmh@gnu.org>
5990
5991 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5992 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5993 `warn_unused_result' attribute.
5994 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5995 (grub_xasprintf, grub_xvasprintf): Likewise.
5996 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5997
5998 2010-07-29 Robert Millan <rmh@gnu.org>
5999
6000 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6001 (probe): Handle `PRINT_FS_LABEL'.
6002 (main): Handle `-t fs_label'.
6003
6004 2010-07-29 Robert Millan <rmh@gnu.org>
6005
6006 * configure.ac: Remove grub-mkisofs checks.
6007
6008 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6011 Reported by: Lennart Sorensen.
6012
6013 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6016 prior to terminal_input/terminal_output separation. It's been over 1.5
6017 years and those versions weren't widely deployed.
6018
6019 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6020
6021 * disk/raid.c (insert_array): Don't count named arrays when looking
6022 for unused array numbers.
6023 Reported and tested by: Michael Guntsche.
6024
6025 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6026
6027 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6028 implementation of this so that grub-emu links again, with a note
6029 that this should support hotplugging in the future.
6030
6031 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6032
6033 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6034
6035 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6036
6037 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6038 handle on failure.
6039 (grub_loopback_close): Remove empty function.
6040 (grub_loopback_dev): Remove close method.
6041
6042 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6043
6044 Disable EFI cursor when the EFI console becomes inactive.
6045
6046 * term/efi/console.c (grub_efi_console_init): New function.
6047 (grub_efi_console_fini): New function.
6048 (grub_console_term_output): Register init and fini methods.
6049
6050 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6053 sh script.
6054
6055 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * disk/loopback.c (grub_loopback): Replace filename with file.
6058 (delete_loopback): Handle new semantics.
6059 (grub_cmd_loopback): Likewise.
6060 (grub_loopback_iterate): Likewise.
6061 (grub_loopback_close): Likewise.
6062
6063 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6066 with -p "".
6067 Reported by: Tito Keitel.
6068
6069 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * docs/grub.texi (Naming convention): Document new naming convention.
6072
6073 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6074 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6075
6076 Generate device.map in something closer to the old ordering.
6077
6078 * util/deviceiter.c (struct device): New declaration.
6079 (compare_file_names): Rename to ...
6080 (compare_devices): ... this. Sort by kernel name in preference to
6081 the stable by-id name, but keep the latter as a fallback comparison.
6082 Update header comment.
6083 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6084 of `struct device' rather than of plain file names.
6085
6086 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6087
6088 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6089 on i386.
6090
6091 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6094 hardcoding size.
6095 (setv1table): Likewise.
6096
6097 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6098
6099 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6100 removing the homehost if present.
6101 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6102 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6103 removing the homehost if present.
6104 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6105 if possible.
6106 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6107
6108 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6109 parameter. Set its pointer target to 0.
6110 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6111 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6112 `data_offset' value from the superblock for 1.x metadata.
6113 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6114 data on the device.
6115 (insert_array): Record the start sector of data on the device.
6116 (grub_raid_register): Pass start_sector parameters to
6117 grub_raid_list->detect and insert_array.
6118 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6119 member.
6120 (struct grub_raid): Add start_sector parameter to `detect'.
6121
6122 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6123 __attribute__ ((packed)), leaving a comment.
6124 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6125 (grub_mdraid_detect_09): ... here and ...
6126 (grub_mdraid_detect_1x): ... here.
6127
6128 2010-07-20 Peter Henn <peter.henn@web.de>
6129
6130 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6131 chunk size and disk size, which are already given as sector counts
6132 as distinct from the 0.90 units. Fetch the correct device number
6133 from the role table instead of using the table index.
6134
6135 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6136
6137 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6138 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6139 (WriteMostly1): New macro.
6140 Set array->name to NULL for metadata format 0.90. Add support for
6141 metadata 1.x. Fix some comments.
6142 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6143 few comments.
6144 * util/getroot.c (grub_util_get_grub_dev): Add support for
6145 /dev/md/name style devices.
6146
6147 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6148
6149 * .bzrignore: Ignore 20_linux_xen.
6150
6151 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * util/import_unicode.py: Remove unnecessary imports.
6154
6155 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6156
6157 Hotplugging and USB hub support.
6158
6159 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6160 (grub_ohci): Likewise.
6161 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6162 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6163 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6164 (GRUB_OHCI_CTRL_EDS): Likewise.
6165 (GRUB_OHCI_BULK_EDS): Likewise.
6166 (GRUB_OHCI_TDS): Likewise.
6167 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6168 (grub_ohci_ed_phys2virt): New function.
6169 (grub_ohci_virt_to_phys): Likewise.
6170 (grub_ohci_td_phys2virt): Likewise.
6171 (grub_ohci_td_virt2phys): Likewise.
6172 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6173 attachment.
6174 (grub_ohci_find_ed): New function.
6175 (grub_ohci_alloc_td): Likewise.
6176 (grub_ohci_free_td): Likewise.
6177 (grub_ohci_free_tds): Likewise.
6178 (grub_ohci_transfer): Use previously allocated memory.
6179 (grub_ohci_portstatus): Reset status changed bit.
6180 (grub_ohci_detect_dev): Supply status changed.
6181 (grub_ohci_fini_hw): Free memory.
6182 (grub_ohci_restore_hw): Reallocate memory.
6183 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6184 Reset status change.
6185 (grub_uhci_detect_dev): Supply status_change.
6186 * bus/usb/usb.c (attach_hooks): New var.
6187 (grub_usb_device_attach): New function.
6188 (grub_usb_register_attach_hook_class): Likewise.
6189 (grub_usb_unregister_attach_hook_class): Likewise.
6190 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6191 (grub_usb_add_hub): Reset connection changed bit.
6192 (attach_root_port): New function.
6193 (grub_usb_root_hub): Likewise.
6194 (poll_nonroot_hub): Likewise.
6195 (grub_usb_poll_devices): Likewise.
6196 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6197 * disk/usbms.c (grub_usbms_open): Use device hooks.
6198 (grub_usbms_iterate) :Poll devices.
6199 (grub_usbms_finddevs): Split into ...
6200 (grub_usbms_attach): ... this ...
6201 (grub_usbms_attach): ... and this.
6202 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6203 in detect_dev.
6204 (grub_usb_interface): New fields attached and detach_hook.
6205 (grub_usb_attach_hook_class): New type.
6206 (grub_usb_attach_desc): New struct.
6207 (grub_usb_register_attach_hook_class): New function.
6208 (grub_usb_unregister_attach_hook_class): Likewise.
6209 (grub_usb_poll_devices): Likewise.
6210 (grub_usb_device_attach): Likewise.
6211 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6212 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6213
6214 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6217 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6218 delta determination style. Works with most NetBSD partitions too.
6219
6220 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6223 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6224
6225 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6228
6229 2010-07-14 Anton Blanchard <anton@samba.org>
6230
6231 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6232 ET_DYN files.
6233
6234 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6235
6236 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6237
6238 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6239
6240 * kern/partition.c (grub_partition_check_containment): New function to
6241 check that a partition is physically contained in a parent. Since
6242 offsets are relative (and non-negative), this reduces to checking that
6243 the partition ends before its parent.
6244 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6245 (grub_partition_iterate): Likewise.
6246 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6247 comments.
6248 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6249 partitions that start before their parent, and add debug printfs.
6250
6251 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * Makefile.in (.SUFFIX): Spell correctly, as ...
6254 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6255 bare module name without `.mod', e.g. `test') tried to invoke a
6256 Modula-2 compiler.
6257
6258 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6259
6260 * README: Point to the Info manual.
6261
6262 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6263
6264 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6265 2nd superblock position from partition size.
6266
6267 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6268
6269 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6270 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6271 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6272 outputs.
6273
6274 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 Restructure SCSI .id handling.
6277 Reported and tested by: Aleš Nesrsta.
6278
6279 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6280 (grub_atapi_dev): Changed .name to "ata". New field .id.
6281 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6282 (grub_usbms_dev): New field .id.
6283 * disk/scsi.c (grub_scsi_iterate): Generate name.
6284 (grub_scsi_open): Parse name.
6285 * include/grub/scsi.h (grub_make_scsi_id): New function.
6286 (grub_scsi_dev): Change iterate and open to number instead of naming
6287 busses. All users updated.
6288 (grub_scsi): Remove name. Add .bus.
6289
6290 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * commands/help.c (grub_cmd_help): Fix a typo.
6293
6294 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6297 Reported and tested by: Colin Watson.
6298
6299 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6302 in this context.
6303
6304 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6307
6308 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6309
6310 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6311 indentation.
6312
6313 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6314
6315 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6316 and disk/raid6_recover.c.
6317 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6318 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6319
6320 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6321
6322 * term/gfxterm.c (repaint_schedulded): Rename to ...
6323 (repaint_scheduled): ... this. Update all callers.
6324 (repaint_was_schedulded): Rename to ...
6325 (repaint_was_scheduled): ... this. Update all callers.
6326
6327 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6328
6329 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6330 which we expect to be handled by upper layers.
6331
6332 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6333
6334 * bus/usb/usbhub.c: #include time.h header.
6335
6336 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6337
6338 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6339 entry_name also for entries without stat blocks (e.g. ".."); fixes
6340 corruption of the first entry in a directory.
6341
6342 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6343
6344 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6345 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6346 doesn't work otherwise.
6347
6348 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6349
6350 * docs/grub.texi (Features): Update list of supported file systems.
6351 (GNU/Linux): Update for GRUB 2.
6352 (Serial terminal): Remove mention of --disable-serial, which was a
6353 GRUB Legacy configure option. Update instructions to use
6354 `terminal_input' and `terminal_output' rather than `terminal'.
6355 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6356 configuration' and `Installing GRUB using grub-install'.
6357 (Menu entry editor): Update for GRUB 2.
6358 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6359 Document new -a, -u, and -v options.
6360 (initrd): New section.
6361 (initrd16): New section.
6362 (linux): New section.
6363 (linux16): New section.
6364 (search): The `var' argument to `--set' is optional.
6365 (GRUB only offers a rescue shell): Go into a little more detail on
6366 drive ordering.
6367
6368 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6369
6370 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6371
6372 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6373
6374 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6375 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6376
6377 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6378
6379 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6380 install_prefix, in line with install_dos_part and install_bsd_part.
6381 Add new prefix variable, which is copied to install_prefix after
6382 comparing core.img in memory with the one read from disk in the
6383 no-embedding case, and use that rather than overwriting
6384 install_prefix immediately when installing to a partition.
6385 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6386 Bicakci.
6387
6388 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6389
6390 * configure.ac: Avoid == in test command, it's not portable.
6391 * util/grub.d/30_os-prober.in: Likewise.
6392
6393 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6394
6395 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6396
6397 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6398
6399 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6400 multiple (top-level) partmaps.
6401
6402 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6405 Reported by: Tino Keitel.
6406
6407 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 Bidi and diacritics support.
6410
6411 * Makefile.in (widthspec.bin): New target.
6412 (widthspec.h): Likewise.
6413 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6414 * autogen.sh: Generate unidata.c.
6415 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6416 * commands/ls.c (grub_ls_list_devices): Likewise.
6417 (grub_ls_list_files): Likewise.
6418 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6419 (grub_mini_cmd_lsmod): Likewise.
6420 * commands/read.c: Likewise.
6421 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6422 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6423 * lib/arg.c (grub_arg_show_help): Likewise.
6424 * lib/crypto.c (grub_password_get): Likewise.
6425 * normal/auth.c (grub_username_get): Likewise.
6426 * normal/misc.c (grub_normal_print_device_info): Likewise.
6427 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6428 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6429 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6430 (normal/charset.c_DEPENDENCIES): New variable.
6431 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6432 (pkglib_MODULES): Remove charset.mod.
6433 (charset_mod_SOURCES): Removed.
6434 (charset_mod_CFLAGS): Likewise.
6435 (charset_mod_LDFLAGS): Likewise.
6436 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6437 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6438 and term/tparm.c.
6439 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6440 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6441 (kernel_img_HEADERS): Add terminfo.h.
6442 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6443 Fill ->font. Reverse ascii bitmaps.
6444 (grub_font_get_xheight): New function.
6445 * font/font.c (grub_font_get_string_width): Moved from here ...
6446 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6447 * font/font.c (grub_font_draw_string): Moved from here ...
6448 * gfxmenu/font.c (grub_font_draw_string): ... here.
6449 * font/font.c (grub_font_dup_glyph): New function.
6450 (grub_font_blit_glyph): Likewise.
6451 (grub_font_blit_glyph_mirror): Likewise.
6452 (blit_comb): Likewise.
6453 (grub_font_construct_dry_run): Likewise.
6454 (grub_font_get_constructed_device_width): Likewise.
6455 (grub_font_construct_glyph): Likewise.
6456 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6457 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6458 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6459 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6460 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6461 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6462 (grub_font_get_xheight): New proto.
6463 (grub_font_get_constructed_device_width): Likewise.
6464 (grub_font_construct_glyph): Likewise.
6465 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6466 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6467 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6468 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6469 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6470 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6471 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6472 (grub_console_getcharwidth): Likewise.
6473 * include/grub/misc.h (grub_xputs): New proto.
6474 (grub_puts): Inlined.
6475 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6476 (grub_normal_get_line_counter): Removed.
6477 (grub_install_newline_hook): Likewise.
6478 (grub_normal_get_char_counter): New proto.
6479 (grub_normal_reset_more): Likewise.
6480 (grub_xputs_normal): Likewise.
6481 * include/grub/powerpc/ieee1275/console.h: Removed.
6482 * include/grub/sparc64/ieee1275/console.h: Likewise.
6483 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6484 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6485 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6486 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6487 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6488 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6489 (grub_term_input): Pass reference to self. All users updated.
6490 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6491 Pass reference to self. New fields normal_color, highlight_color and
6492 data. All users updated.
6493 (grub_putchar): Removed.
6494 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6495 (grub_unicode_estimate_width): New function.
6496 (grub_term_getcharwidth): Add defaults.
6497 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6498 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6499 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6500 (grub_cls): Remove EXPORT_FUNC.
6501 (grub_setcolorstate): Inline.
6502 (grub_newline_hook): Removed.
6503 * include/grub/terminfo.h: Rewritten. All users updated.
6504 * include/grub/unicode.h: New file.
6505 * include/grub/video.h (grub_video_signed_rect): New type.
6506 * kern/emu/console.c (grub_console_highlight_color): Removed.
6507 (grub_console_normal_color): Likewise.
6508 (grub_console_standard_color): Made static.
6509 (grub_ncurses_putchar): Remove mapping.
6510 (grub_ncurses_getcharwidth): Removed.
6511 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6512 (grub_ncurses_setcolor): Removed.
6513 (grub_ncurses_getcolor): Likewise.
6514 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6515 (grub_console_putchar): ... this.
6516 (grub_console_putchar): Handle argument difference.
6517 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6518 console_init_early and console_init_lately.
6519 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6520 * kern/misc.c (grub_puts): Removed.
6521 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6522 (grub_vsnprintf_real): Remove str = NULL support.
6523 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6524 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6525 * kern/term.c (grub_putcode): Renamed to ...
6526 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6527 (grub_putchar): Removed.
6528 (grub_xputs_dumb): New function.
6529 (grub_xputs): New variable.
6530 * lib/charset.c: Move from here ...
6531 * normal/charset.c: ... to here.
6532 (grub_ucs4_to_utf8): New function.
6533 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6534 (join_types): New variable.
6535 (unpack_join): New function.
6536 (bidi_types): New variable.
6537 (unpack_bidi): New function.
6538 (get_bidi_type): Likewise.
6539 (get_join_type): Likewise.
6540 (is_mirrored): Likewise.
6541 (grub_unicode_get_comb_type): Likewise.
6542 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6543 (is_type_after): Likewise.
6544 (grub_unicode_aglomerate_comb): Likewise.
6545 (bidi_line_wrap): Likewise.
6546 (grub_bidi_line_logical_to_visual): Likewise.
6547 (grub_bidi_logical_to_visual): Likewise.
6548 (grub_unicode_mirror_code): Likewise.
6549 (grub_unicode_shape_code): Likewise.
6550 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6551 Don't use grub_putchar.
6552 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6553 (grub_normal_reader_init): Likewise.
6554 (grub_xputs_saved): New variable.
6555 (GRUB_MOD_INIT): Set grub_xputs.
6556 (GRUB_MOD_FINI): Restore grub_xputs.
6557 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6558 (menu_init): Avoid printing gfxmenu error.
6559 (show_menu): Use grub_normal_get_char_counter.
6560 * normal/menu_entry.c (update_screen): Fix out-of-array.
6561 (complete): Avoid NULL dereferencing.
6562 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6563 * normal/menu_text.c (print_spaces): Removed.
6564 (grub_print_ucs4): Likewise.
6565 (grub_print_message_indented): Use grub_print_ucs4.
6566 (print_message): Use grub_putcode.
6567 (print_entry): Hanlde diacritics.
6568 * normal/term.c (term_state): New type.
6569 (grub_more_lines): Removed.
6570 (term_states): New variable.
6571 (grub_normal_line_counter): Renamed to ..
6572 (grub_normal_char_counter): ...this. All users updated.
6573 (grub_normal_get_line_counter): Renamed to ...
6574 (grub_normal_get_char_counter): ... this.
6575 (grub_normal_reset_more): New function.
6576 (process_newline): Removed.
6577 (print_more): New function.
6578 (grub_install_newline_hook): Removed.
6579 (map_code): New function.
6580 (grub_puts_terminal): Use grub_print_ucs4.
6581 (putglyph): New function.
6582 (putcode_real): Likewise.
6583 (grub_putcode): Use putcode_real.
6584 (get_maxwidth): New function.
6585 (get_startwidth): Likewise.
6586 (print_ucs4_terminal): Likewise.
6587 (find_term_state): Likewise.
6588 (put_glyphs_terminal): Likewise.
6589 (print_backlog): Likewise.
6590 (print_ucs4_real): Likewise.
6591 (grub_print_ucs4): Likewise.
6592 (grub_xputs_normal): Likewise.
6593 * term/efi/console.c (grub_console_putchar): Output diacritics.
6594 (grub_console_getcharwidth): Removed.
6595 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6596 * term/gfxterm.c (clear_char): Free chars.
6597 (scroll_up): Avoid leaking memory.
6598 (grub_gfxterm_putchar): Support diacritics.
6599 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6600 * term/i386/pc/console.c (grub_console_term_output): Declare as
6601 GRUB_TERM_CODE_TYPE_VGA.
6602 * term/i386/pc/vga.c (grub_vga_term): Declare as
6603 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6604 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6605 GRUB_TERM_CODE_TYPE_VGA.
6606 * term/i386/vga_common.c (map_char): Removed.
6607 (grub_console_putchar): Likewise.
6608 (grub_console_getcharwidth): Likewise.
6609 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6610 (colors): Reordered to match terminfo.
6611 (grub_ofconsole_normal_color): Removed.
6612 (grub_ofconsole_writeesc): Likewise.
6613 (grub_ofconsole_highlight_color): Likewise.
6614 (grub_ofconsole_getcharwidth): Likewise.
6615 (grub_ofconsole_setcolorstate): Likewise.
6616 (grub_ofconsole_setcolor): Likewise.
6617 (grub_ofconsole_getcolor): Likewise.
6618 (grub_ofconsole_readkey): Renamed to ...
6619 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6620 key.
6621 (grub_ofconsole_checkkey): Removed.
6622 (grub_ofconsole_getkey): Likewise.
6623 (grub_ofconsole_getxy): Likewise.
6624 (grub_ofconsole_gotoxy): Likewise.
6625 (grub_ofconsole_cls): Likewise.
6626 (grub_ofconsole_refresh): Likewise.
6627 (grub_ofconsole_terminfo_input): New struct.
6628 (grub_ofconsole_terminfo_output): Likewise.
6629 (grub_ofconsole_term_input): Use terminfo.
6630 (grub_ofconsole_term_output): Likewise.
6631 (grub_console_init): Split into ...
6632 (grub_console_init_early): ...this and ...
6633 (grub_console_init_lately): ...this. Use terminfo.
6634 (grub_ofconsole_putchar): Renamed to ...
6635 (put): ... this. Remove mapping.
6636 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6637 * term/serial.c: Simplify using terminfo.
6638 (xpos): Removed.
6639 (ypos): Likewise.
6640 (keep_track): Likewise.
6641 (registered): Likewise.
6642 (input_buf): Likewise.
6643 (npending): Likewise.
6644 (serial_translate_key_sequence): Likewise.
6645 (fill_input_buf): Likewise.
6646 (grub_serial_checkkey): Likewise.
6647 (grub_serial_getkey): Likewise.
6648 (grub_serial_getxy): Likewise.
6649 (grub_serial_gotoxy): Likewise.
6650 (grub_serial_putchar): Likewise.
6651 (grub_serial_cls): Likewise.
6652 (grub_serial_setcolorstate): Likewise.
6653 (grub_serial_setcursor): Likewise.
6654 (serial_hw_init): Use serial_hw_fetch.
6655 (grub_serial_terminfo_input): New variable.
6656 (grub_serial_terminfo_output): Likewise.
6657 (grub_serial_term_input): Use terminfo.
6658 (grub_serial_term_output): Likewise.
6659 * term/terminfo.c (putstr): Use put.
6660 (grub_terminfo_all_free): New function
6661 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6662 (grub_terminfo_output_register): New function.
6663 (grub_terminfo_output_unregister): Likewise.
6664 (grub_terminfo_getxy): Likewise.
6665 (grub_terminfo_readkey): Likewise.
6666 (grub_terminfo_checkkey): Likewise.
6667 (grub_terminfo_getkey): Likewise.
6668 (grub_terminfo_input_init): Likewise.
6669 (print_terminfo): Likewise.
6670 (grub_cmd_terminfo): Handle encoding.
6671 (grub_terminfo_gotoxy): Track position.
6672 (grub_terminfo_cls): Likewise.
6673 (grub_terminfo_putchar): Likewise.
6674 (grub_terminfo_setcolorstate): Handle colors
6675 (grub_terminfo_cursor_on): This ...
6676 (grub_terminfo_cursor_off): ... and this merged into ...
6677 (grub_terminfo_setcursor): ... this.
6678 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6679 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6680 * unicode/BidiMirroring.txt: Likewise.
6681 * unicode/UnicodeData.txt: Likewise.
6682 * unicode/COPYING: Likewise.
6683 * util/grub-editenv.c (grub_putchar): Removed.
6684 (grub_xputs_real): New function.
6685 (grub_xputs): New variable.
6686 * util/grub-fstest.c (grub_putchar): Removed.
6687 (grub_xputs_real): New function.
6688 (grub_xputs): New variable.
6689 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6690 (grub_xputs_real): New function.
6691 (grub_xputs): New variable.
6692 * util/grub-probe.c (grub_putchar): Removed.
6693 (grub_xputs_real): New function.
6694 (grub_xputs): New variable.
6695 * util/grub-script-check.c (grub_putchar): Removed.
6696 (grub_xputs_real): New function.
6697 (grub_xputs): New variable.
6698 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6699 (grub_xputs_real): New function.
6700 (grub_xputs): New variable.
6701 * util/import_unicode.py: New file.
6702 * util/grub-mkfont.c (ft_errmsgs): New array.
6703 (grub_glyph_info): Make bitmap a pointer.
6704 (file_formats): New type WIDTH_SPEC.
6705 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6706 (options): Add width-spec.
6707 (help): Likewise.
6708 (add_char): Renamed to ...
6709 (add_glyph): ... this.
6710 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6711 (glyph_replace): New type.
6712 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6713 (add_char): New function.
6714 (add_subst): Likewise.
6715 (process_cursive): Likewise.
6716 (add_font): Handle GSUB.
6717 (write_font_width_spec): New function.
6718 (main): Sort glyphs.
6719 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6720 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6721 * kern/term.c (grub_cls): Moved from here...
6722 * normal/term.c (grub_cls): ... here.
6723
6724 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6725
6726 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6727 suitable for using within the format argument of printf when
6728 converting grub_size_t.
6729 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6730 "x" to convert grub_size_t arguments.
6731
6732 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6735 too long captions.
6736 (list_get_minimal_size): Take selection box into account.
6737
6738 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6741 NULL font.
6742
6743 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6744
6745 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6746 devices when iterating over /dev/disk/by-id; they will be handled
6747 later if appropriate, which they aren't always (e.g. LVM).
6748
6749 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6750
6751 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6752 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6753 fails.
6754 (grub_halt): Likewise.
6755 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6756 reset-all fails.
6757 (grub_halt): Don't return, even if all of shut-down, power-off, and
6758 poweroff fail.
6759
6760 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6763 arguments, not three.
6764
6765 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6766
6767 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6768 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6769 LVM-on-RAID is handled correctly.
6770
6771 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6772
6773 * docs/grub.texi (Changes from GRUB Legacy): New section.
6774 (Future): Fix typo.
6775
6776 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6777
6778 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6779 grub.d/README accidentally ends up executable for one reason or
6780 another. Ignore it.
6781
6782 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6785 (gpt_partition_map_iterate): Support non-512B sectors.
6786
6787 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6790 Tested by: Seth Goldberg.
6791
6792 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6795 Properly align mbi.
6796 Reported by: Seth Goldberg.
6797
6798 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * util/grub-mkrescue.in: Avoid module duplication.
6801
6802 2010-07-01 Sean Finney <seanius@seanius.net>
6803
6804 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6805
6806 2010-07-01 Sean Finney <seanius@seanius.net>
6807
6808 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6809
6810 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * disk/lvm.c (grub_lvm_checkvalue): New function.
6813 (grub_lvm_check_flag): Likewise.
6814
6815 2010-07-01 Robert Millan <rmh@gnu.org>
6816
6817 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6818 Support 'p' as partition separator on kernel of FreeBSD (used
6819 with GPT labels).
6820 (grub_util_biosdisk_get_grub_dev): Likewise.
6821
6822 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 Yeeloong firmware port.
6825
6826 * boot/mips/yeeloong/fwstart.S: New file.
6827 * bus/cs5536.c (gpiodump): New const.
6828 (set_io_space): New function.
6829 (set_iod): Likewise.
6830 (set_p2d): Likewise.
6831 (grub_cs5536_init_geode): Likewise.
6832 * commands/mips/yeeloong/lsspd.c: New file.
6833 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6834 (serial_mod_SOURCES): New variable.
6835 (serial_mod_CFLAGS): Likewise.
6836 (serial_mod_LDFLAGS): Likewise.
6837 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6838 term/terminfo.c and term/tparm.c.
6839 (pkglib_IMAGES): Add fwstart.img.
6840 (fwstart_img_SOURCES): New variable.
6841 (fwstart_img_CFLAGS): Likewise.
6842 (fwstart_img_ASFLAGS): Likewise.
6843 (fwstart_img_LDFLAGS): Likewise.
6844 (fwstart_img_FORMAT): Likewise.
6845 (pkglib_MODULES): Add lsspd.mod.
6846 (lsspd_mod_SOURCES): New variable.
6847 (lsspd_mod_CFLAGS): Likewise.
6848 (lsspd_mod_LDFLAGS): Likewise.
6849 (pkglib_MODULES): Add halt.mod.
6850 (halt_mod_SOURCES): New variable.
6851 (halt_mod_CFLAGS): Likewise.
6852 (halt_mod_LDFLAGS): Likewise.
6853 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6854 (serial_mod_SOURCES): Removed.
6855 (serial_mod_CFLAGS): Likewise.
6856 (serial_mod_LDFLAGS): Likewise.
6857 * disk/ata.c (check_device): New function.
6858 (grub_ata_device_initialize): Use check_device.
6859 (grub_ata_iterate): Recheck devices.
6860 (grub_ata_open): Likewise.
6861 (grub_atapi_iterate): Likewise.
6862 (grub_atapi_open): Likewise.
6863 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6864 (GRUB_ATA_CH1_PORT1): Likewise.
6865 (GRUB_ATA_CH0_PORT2): Likewise.
6866 (GRUB_ATA_CH1_PORT2): Likewise.
6867 * include/grub/mips/loongson.h: New file.
6868 * include/grub/mips/yeeloong/ec.h: Likewise.
6869 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6870 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6871 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6872 * include/grub/misc.h (grub_halt): Declare as noreturn.
6873 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6874 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6875 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6876 (UART_ENABLE_DTRRTS): Likewise.
6877 (UART_ENABLE_MODEM): Removed.
6878 (UART_ENABLE_OUT2): New const.
6879 * include/grub/term.h (grub_term_register_input_active): New function.
6880 (grub_term_register_output_active): Likewise.
6881 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6882 argument.
6883 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6884 (init_pci): New function.
6885 (grub_machine_init): Execute platform init when firmware. Init serial.
6886 (grub_halt): Implement.
6887 (grub_exit): Likewise.
6888 (grub_reboot): Likewise.
6889 * term/serial.c (serial_hw_init): Update macros.
6890 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6891 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6892 (image_targets): New target mipsel-yeeloong-flash.
6893 (generate_image): Support IMAGE_YEELOONG_FLASH.
6894 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6895 (grub_video_sm712_setup): Init card.
6896 (grub_video_sm712_set_palette): Removed.
6897 * video/sm712_init.c: New file.
6898
6899 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
6900
6901 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6902 PATH when running help2man and then run it on the unadorned
6903 executable names, rather than passing $(builddir)/* paths to
6904 help2man. This avoids the build directory ending up in generated
6905 manual pages.
6906
6907 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6908
6909 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6910 to avoid accidents when debugging with 'sh -x'.
6911 * util/grub-mkrescue.in: Likewise.
6912 * util/grub.d/00_header.in: Likewise.
6913 * util/grub.d/10_hurd.in: Likewise.
6914 * util/grub.d/10_kfreebsd.in: Likewise.
6915 * util/grub.d/10_linux.in: Likewise.
6916 * util/grub.d/10_netbsd.in: Likewise.
6917 * util/grub.d/10_windows.in: Likewise.
6918 * util/grub.d/20_linux_xen.in: Likewise.
6919 * util/grub.d/30_os-prober.in: Likewise.
6920 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6921
6922 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6923
6924 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6925 last character in the buffer.
6926 Reported by: Vladimir Serbinenko.
6927
6928 2010-06-29 Robert Millan <rmh@gnu.org>
6929
6930 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6931 (Command-line and menu entry commands): Document `badram' command.
6932
6933 2010-06-28 Robert Millan <rmh@gnu.org>
6934
6935 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6936 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6937 command using ${GRUB_BADRAM} as parameter.
6938
6939 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6940
6941 * docs/grub.texi (Device map): New section.
6942 (Themes): New section (stub).
6943 * Makefile.in (docs/grub.info): The info documentation now builds
6944 without errors. Make sure it stays that way.
6945
6946 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 Use normal parser for menu entries.
6949 Reported by: Thomas Frauendorfer
6950
6951 * include/grub/parser.h (grub_parser_execute): Don't export.
6952 * normal/menu.c (grub_menu_execute_entry_real): New function.
6953 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6954
6955 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6956
6957 * docs/grub.texi (Embedded configuration): New section (replacing
6958 old "Preset Menu" stub).
6959 (Images): New section.
6960 (configfile): Note that any menu entries defined in `file' are shown
6961 immediately.
6962
6963 2010-06-28 Josh Triplett <josh@joshtriplett.org>
6964
6965 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6966
6967 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * util/grub-install.in: Add --debug-image= option.
6970
6971 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6972
6973 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6974 possible on Linux.
6975
6976 * util/deviceiter.c (check_device): Rename to ...
6977 (check_device_readable_unique): ... this. Update all callers.
6978 Maintain and check a list of which devices (by canonicalized name)
6979 have already been seen.
6980 (clear_seen_devices): New function.
6981 (compare_file_names) [__linux__]: New function.
6982 (grub_util_iterate_devices): Clear the list of seen devices on exit
6983 and (just in case) on entry.
6984 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6985 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6986 seen-devices list, superseded by general code in check_device.
6987
6988 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6989
6990 * commands/cat.c (options): New variable.
6991 (grub_cmd_cat): Parse options. If the --dos option is given, print
6992 DOS-style "\r\n" line endings as simple newlines (Debian bug
6993 #586358).
6994 (GRUB_MOD_INIT): Use extcmd.
6995 (GRUB_MOD_FINI): Likewise.
6996 * docs/grub.texi (cat): Document --dos.
6997
6998 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 XEN with Linux grub-mkconfig support.
7001
7002 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7003 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7004 GRUB_CMDLINE_XEN_DEFAULT.
7005 * util/grub.d/20_linux_xen.in: New file.
7006
7007 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 Initialise VGA video on qemu ourselves.
7010
7011 * boot/i386/qemu/boot.S: Don't call 0xc000.
7012 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7013 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7014 (kernel_img_HEADERS): Add pci.h.
7015 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7016 * configure.ac: Force unifont on qemu and yeeloong.
7017 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7018 (grub_vga_palette_write): Use correct register.
7019 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7020 Call grub_qemu_init_cirrus.
7021 * kern/i386/qemu/init.c: New file.
7022 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7023
7024 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7025
7026 2010-06-26 Pavel Roskin <proski@gnu.org>
7027
7028 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7029 13.
7030
7031 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7032
7033 * docs/grub.texi (Simple configuration): Explain that
7034 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7035 set to `true' to disable their respective recovery entries, not
7036 merely set.
7037
7038 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7039
7040 Make the `source' command slightly faster.
7041
7042 * normal/main.c (grub_normal_execute): Don't re-read list files when
7043 nested.
7044
7045 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7046
7047 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7048 field position and mask size to red fields from mode_info, not
7049 green.
7050 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7051 Remove redundant tag->common.framebuffer_type assignment.
7052 Reported by: Seth Goldberg.
7053
7054 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7055
7056 Sync up other versions of the Linux loader with Robert Millan's
7057 change of 2010-01-09, "Make loader output a bit more user-friendly".
7058
7059 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7060 grub_dprintf().
7061 (grub_cmd_linux): Likewise.
7062 (grub_cmd_initrd): Likewise.
7063 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7064 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7065
7066 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7067
7068 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7069 larger than MEMORY_MAP_SIZE.
7070
7071 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7072
7073 Fix parallel build.
7074
7075 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7076 dependency.
7077 * script/parser.y: #include grub_script.tab.h header.
7078
7079 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Support >3GiB and <16MiB RAM in i386-qemu.
7082
7083 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7084 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7085 (grub_lower_mem): Removed.
7086 (grub_upper_mem): Likewise.
7087 (mem_size): Made static.
7088 (above_4g): New variable.
7089 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7090 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7091 support.
7092
7093 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 Cirrus 5446 and Bochs video cards support.
7096
7097 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7098 video_bochs.mod
7099 (video_cirrus_mod_SOURCES): New variable.
7100 (video_cirrus_mod_CFLAGS): Likewise.
7101 (video_cirrus_mod_LDFLAGS): Likewise.
7102 (video_bochs_mod_SOURCES): Likewise.
7103 (video_bochs_mod_CFLAGS): Likewise.
7104 (video_bochs_mod_LDFLAGS): Likewise.
7105 * include/grub/vga.h: New file.
7106 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7107 (grub_video_fb_set_page_t): New type.
7108 (grub_video_fb_setup): New prototype.
7109 (grub_video_fb_swap_buffers): Likewise.
7110 (grub_video_fb_get_info_and_fini): Likewise.
7111 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7112 (CRTC_DATA_PORT): Likewise.
7113 (CRTC_CURSOR): Likewise.
7114 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7115 (CRTC_CURSOR_ADDR_LOW): Likewise.
7116 (CRTC_CURSOR_DISABLE): Likewise.
7117 (update_cursor): Use grub_vga_cr_write.
7118 (grub_vga_text_setcursor): Likewise.
7119 * video/bochs.c: New file.
7120 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7121 (palette): Likewise.
7122 (palette_size): Likewise.
7123 (framebuffer): New variable.
7124 (grub_video_fb_init): Use 'framebuffer'.
7125 (grub_video_fb_fini): Likewise.
7126 (grub_video_fb_get_info): Likewise.
7127 (grub_video_fb_get_palette): Likewise.
7128 (grub_video_fb_set_palette): Likewise.
7129 (grub_video_fb_set_viewport): Likewise.
7130 (grub_video_fb_get_viewport): Likewise.
7131 (grub_video_fb_map_color): Likewise.
7132 (grub_video_fb_map_rgb): Likewise.
7133 (grub_video_fb_map_rgba): Likewise.
7134 (grub_video_fb_unmap_color): Likewise.
7135 (grub_video_fb_unmap_color_int): Likewise.
7136 (grub_video_fb_fill_rect): Likewise.
7137 (grub_video_fb_blit_bitmap): Likewise.
7138 (grub_video_fb_blit_render_target): Likewise.
7139 (grub_video_fb_scroll): Likewise.
7140 (grub_video_fb_create_render_target): Likewise.
7141 (grub_video_fb_doublebuf_blit_init): Likewise.
7142 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7143 (doublebuf_pageflipping_update_screen): New function.
7144 (doublebuf_pageflipping_init): Likewise.
7145 (grub_video_fb_setup): Likewise.
7146 (grub_video_fb_swap_buffers): Likewise.
7147 (grub_video_fb_get_info_and_fini): Likewise.
7148 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7149 All users updated.
7150 (doublebuf_pageflipping_commit): Restructured into ...
7151 (doublebuf_pageflipping_set_page): ... this.
7152 (doublebuf_pageflipping_update_screen): Removed.
7153 (doublebuf_pageflipping_init): Likewise.
7154 (double_buffering_init): Likewise.
7155 (grub_video_vbe_setup): Use grub_video_fb_setup.
7156 (grub_video_vbe_swap_buffers): Removed.
7157 (grub_video_vbe_set_active_render_target): Likewise.
7158 (grub_video_vbe_get_active_render_target): Likewise.
7159 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7160 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7161 grub_video_fb_set_active_render_target and
7162 grub_video_fb_get_active_render_target.
7163 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7164 (SEQUENCER_DATA_PORT): Likewise.
7165 (MAP_MASK_REGISTER): Likewise.
7166 (CRTC_ADDR_PORT): Likewise.
7167 (CRTC_DATA_PORT): Likewise.
7168 (START_ADDR_HIGH_REGISTER): Likewise.
7169 (START_ADDR_LOW_REGISTER): Likewise.
7170 (GRAPHICS_ADDR_PORT): Likewise.
7171 (GRAPHICS_DATA_PORT): Likewise.
7172 (READ_MAP_REGISTER): Likewise.
7173 (INPUT_STATUS1_REGISTER): Likewise.
7174 (INPUT_STATUS1_VERTR_BIT): Likewise.
7175 (get_map_mask): Use grub_vga_sr_read.
7176 (set_map_mask): Use grub_vga_sr_write.
7177 (set_read_map): Use grub_vga_gr_write.
7178 (set_start_address): Use grub_vga_cr_write.
7179 * video/sm712.c (framebuffer): Remove leftover fields.
7180
7181 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7182
7183 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7184 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7185 instead. Replace the gfxterm backend check with a check that
7186 ${GRUB_PREFIX}/video.lst is non-empty.
7187 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7188 again.
7189 (load_video): New generated function. Call it before loading
7190 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7191 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7192 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7193 * docs/grub.texi (Simple configuration): Document
7194 GRUB_VIDEO_BACKEND.
7195
7196 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Use video functions in linux and xnu loaders.
7199
7200 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7201 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7202 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7203 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7204 loader/i386/pc/linux.c.
7205 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7206 (find_line_len): Removed.
7207 (find_framebuf): Likewise.
7208 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7209 * loader/i386/efi/xnu.c: Removed.
7210 * loader/i386/pc/xnu.c: Moved from here...
7211 * loader/i386/xnu.c: ...here.
7212
7213 Enable priorities in video drivers.
7214
7215 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7216 (grub_video_adapter): New field prio.
7217 (grub_video_register): Respect prio when inserting.
7218 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7219 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7220 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7221 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7222 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7223 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7224 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7225
7226 Fix SDL driver ID.
7227
7228 * include/grub/video.h (grub_video_driver_id_t): New value
7229 GRUB_VIDEO_DRIVER_SDL.
7230 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7231
7232 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7233
7234 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7235 argument to printf.
7236 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7237
7238 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7239
7240 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7241 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7242
7243 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7244
7245 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7246 directly, and recommend grub-install instead.
7247 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7248
7249 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7250
7251 Fix i386-pc prefix handling with nested partitions (Debian bug
7252 #585068). Note that the case where the core image is booted using
7253 multiboot and relocated from its original location still requires
7254 more work.
7255
7256 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7257 with "(,", fill the boot drive in between those two characters, but
7258 expect that a full partition specification including partition map
7259 names will follow.
7260 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7261 specified, write a prefix without the drive name but including a
7262 full partition specification.
7263
7264 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7265
7266 * util/grub-mkconfig.in: Ignore non-option arguments, for
7267 compatibility with older versions (before 2010-06-12) which did the
7268 same. In particular, this makes it easier to ship an update-grub
7269 wrapper which is compatible with that used with GRUB Legacy (Debian
7270 bug #586056).
7271
7272 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7273
7274 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7275 for manual page generation.
7276
7277 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7278
7279 * po/POTFILES: Remove leftover commands/handler.c.
7280
7281 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7284 left this script non-functional.
7285
7286 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * docs/man/grub-emu.h2m: New file.
7289
7290 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7291
7292 * docs/grub.texi (Commands): Document reduced command set in rescue
7293 mode.
7294 (cpuid): New section.
7295
7296 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7297
7298 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7299 new partition naming style.
7300 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7301
7302 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7303
7304 Add "-o grub.iso" like cmdline options support.
7305
7306 * util/grub-install.in: Improve cmdline option parsing.
7307 * util/grub-mkconfig.in: Likewise.
7308 * util/grub-mkrescue.in: Likewise.
7309 * util/grub-reboot.in: Likewise.
7310 * util/grub-set-default.in: Likewise.
7311 * util/i386/efi/grub-install.in: Likewise.
7312 * util/ieee1275/grub-install.in: Likewise.
7313 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7314
7315 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * .bzrignore: Ignore 41_custom.
7318
7319 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7320
7321 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7322
7323 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7324
7325 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7326 prototype declarations.
7327
7328 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7329 generating fs, partmap, and video lists.
7330 * include/grub/fs.h (grub_fs_register): Omit prototype if
7331 GRUB_LST_GENERATOR is defined.
7332 * include/grub/partition.h (grub_partition_map_register): Likewise.
7333 * include/grub/video.h (grub_video_register): Likewise.
7334
7335 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7336
7337 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7338
7339 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7340
7341 * util/grub-mkrescue.in: Support --xorriso argument.
7342
7343 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7346 Suggested by: Thomas Schmitt.
7347
7348 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7351 Suggested by: Thomas Schmitt.
7352
7353 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 custom.cfg support.
7356
7357 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7358 * util/grub.d/41_custom.in: New file.
7359
7360 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7361
7362 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7363 been merged back into normal.
7364
7365 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7366
7367 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7368 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7369
7370 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7371
7372 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7373 when generating manual pages.
7374 * docs/man/grub-bin2h.h2m: New file.
7375 * docs/man/grub-editenv.h2m: New file.
7376 * docs/man/grub-fstest.h2m: New file.
7377 * docs/man/grub-install.h2m: New file.
7378 * docs/man/grub-macho2img.h2m: New file.
7379 * docs/man/grub-mkconfig.h2m: New file.
7380 * docs/man/grub-mkdevicemap.h2m: New file.
7381 * docs/man/grub-mkfont.h2m: New file.
7382 * docs/man/grub-mkimage.h2m: New file.
7383 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7384 * docs/man/grub-mkrelpath.h2m: New file.
7385 * docs/man/grub-mkrescue.h2m: New file.
7386 * docs/man/grub-ofpathname.h2m: New file.
7387 * docs/man/grub-pe2elf.h2m: New file.
7388 * docs/man/grub-probe.h2m: New file.
7389 * docs/man/grub-reboot.h2m: New file.
7390 * docs/man/grub-script-check.h2m: New file.
7391 * docs/man/grub-set-default.h2m: New file.
7392 * docs/man/grub-setup.h2m: New file.
7393
7394 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Use FOR_* macros instead of *_iterate whenever possible.
7397
7398 * commands/handler.c: Removed.
7399 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7400 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7401 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7402 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7403 (grub_probe_SOURCES): Remove kern/parser.c.
7404 (util/grub-script-check.c_DEPENDENCIES): Removed.
7405 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7406 and grub_script_check_init.c.
7407 (grub_script_check_init.lst): Removed.
7408 (grub_script_check_init.h): Likewise.
7409 (grub_script_check_init.c): Likewise.
7410 (pkglib_MODULES): Remove handler.mod and sh.mod.
7411 (handler_mod_SOURCES): Removed.
7412 (handler_mod_CFLAGS): Likewise.
7413 (handler_mod_LDFLAGS): Likewise.
7414 (normal_mod_SOURCES): Remove normal/handler.c.
7415 Add script/main.c, script/script.c, script/execute.c,
7416 script/function.c, script/lexer.c, grub_script.tab.c
7417 and grub_script.yy.c.
7418 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7419 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7420 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7421 (grub_setup_SOURCES): Remove kern/parser.c.
7422 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7423 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7424 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7425 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7426 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7427 (grub_setup_SOURCES): Remove kern/parser.c.
7428 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7429 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7430 * include/grub/command.h (grub_command_iterate): Removed.
7431 (FOR_COMMANDS): New macro.
7432 * include/grub/dl.h (grub_dl): New member next.
7433 (grub_dl_iterate): Removed.
7434 (grub_dl_head): New variable declaration.
7435 (FOR_DL_MODULES): New macro.
7436 * include/grub/fs.h: Include list.h.
7437 (grub_fs): Make next first element.
7438 (grub_fs_list): New variable declaration.
7439 (grub_fs_register): Make inline.
7440 (grub_fs_unregister): Likewise.
7441 (grub_fs_iterate): Removed.
7442 (FOR_FILESYSTEMS): New macro.
7443 * include/grub/handler.h: Removed.
7444 * include/grub/list.h (grub_list_hook_t): Removed.
7445 (grub_list_test_t): Likewise.
7446 (grub_list_pop): Likewise.
7447 (grub_list_iterate): Likewise.
7448 (grub_list_insert): Likewise.
7449 (FOR_LIST_ELEMENTS): New macro.
7450 * include/grub/parser.h (grub_parser_class): Removed.
7451 (grub_parser_register): Likewise.
7452 (grub_parser_unregister): Likewise.
7453 (grub_parser_get_current): Likewise.
7454 (grub_parser_set_current): Likewise.
7455 (grub_register_rescue_parser): Likewise.
7456 (grub_rescue_parse_line): New function.
7457 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7458 * include/grub/script_sh.h (grub_script_function_list): New variable
7459 declaration.
7460 (FOR_SCRIPT_FUNCTIONS): New macro.
7461 (grub_script_function_iterate): Removed.
7462 (grub_normal_parse_line): New prototype.
7463 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7464 (FOR_DISABLED_TERM_INPUTS): Likewise.
7465 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7466 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7467 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7468 element.
7469 (grub_video_register): Inline.
7470 (grub_video_unregister): Likewise.
7471 (grub_video_adapter_list): New variable declaration.
7472 (grub_video_iterate): Removed.
7473 (FOR_VIDEO_ADAPTERS): New macro.
7474 * kern/dl.c (grub_dl_list): Removed. All users updated.
7475 (grub_dl_iterate): Removed.
7476 * kern/fs.c (grub_fs_list): Make global.
7477 (grub_fs_register): Removed.
7478 (grub_fs_unregister): Likewise.
7479 (grub_fs_iterate): Likewise.
7480 * kern/handler.c: Removed.
7481 * kern/list.c (grub_list_pop): Removed.
7482 (grub_list_iterate): Likewise.
7483 (grub_list_insert): Likewise.
7484 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7485 (grub_prio_list_insert): Don't use grub_list_insert.
7486 * kern/main.c (grub_register_rescue_parser): Don't call
7487 grub_register_rescue_parser.
7488 * kern/parser.c (grub_parser_class): Removed.
7489 (grub_parser_execute): Use grub_rescue_parse_line.
7490 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7491 (grub_rescue_parser): Removed.
7492 (grub_register_rescue_parser): Likewise.
7493 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7494 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7495 (grub_auth_check_authentication): Likewise.
7496 * normal/completion.c (iterate_command): Removed.
7497 (grub_normal_do_completion): Use FOR_COMMANDS.
7498 * normal/handler.c: Removed.
7499 * normal/main.c (read_config_file): Remove parser changing.
7500 (grub_normal_execute): Don't call read_handler_list.
7501 (grub_normal_read_line_real): Statically allocate prompt.
7502 (grub_cmdline_run): Use grub_normal_parse_line.
7503 (GRUB_MOD_FINI): Don't call free_handler_list.
7504 * normal/menu_entry.c (run): Likewise.
7505 * script/function.c (grub_script_function_list): Make global.
7506 (grub_script_function_iterate): Removed.
7507 * script/main.c (grub_normal_parse_line): Make global.
7508 (grub_sh_parser): Removed.
7509 (GRUB_MOD_INIT): Likewise.
7510 (GRUB_MOD_FINI): Likewise.
7511 * tests/lib/functional_test.c (grub_functional_test): Use
7512 FOR_LIST_ELEMENTS.
7513 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7514 (grub_test_run): Use FOR_LIST_ELEMENTS.
7515 * tests/lib/unit_test.c (main): Likewise.
7516 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7517 grub_list_pop.
7518 * util/grub-fstest.c (grub_term_input_class): Removed.
7519 (grub_term_output_class): Likewise.
7520 * util/grub-probe.c: Likewise.
7521 * util/i386/pc/grub-setup.c: Likewise.
7522 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7523 * util/grub-script-check.c (main): Don't call grub_init_all and
7524 grub_fini_all.
7525 * video/video.c (grub_video_adapter_list): Make global.
7526 (grub_video_register): Removed.
7527 (grub_video_unregister): Likewise.
7528 (grub_video_iterate): Likewise.
7529
7530 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7533 reported by Henrique Ferreiro.
7534
7535 2010-06-09 Robert Millan <rmh@gnu.org>
7536
7537 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7538 ones, when both are available.
7539
7540 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7541
7542 Make --version uniform and avoid hard-coded program name.
7543
7544 * util/grub-mkimage.c (main): Use `program_name' instead of
7545 hard-coded string.
7546 * util/i386/pc/grub-setup.c (main): Likewise.
7547 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7548 * util/grub-install.in: Save the basename of $0 in $self, and use the
7549 latter in informational messages. Use the same format for --version
7550 as the binary programs.
7551 * util/grub-mkconfig.in: Likewise.
7552 * util/grub-mkrescue.in: Likewise.
7553 * util/grub-reboot.in: Likewise.
7554 * util/grub-set-default.in: Likewise.
7555 * util/i386/efi/grub-install.in: Likewise.
7556 * util/ieee1275/grub-install.in: Likewise.
7557 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7558
7559 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7560
7561 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7562 embedding area. Use <= instead of == when checking for non-emptiness.
7563
7564 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7565
7566 * configure.ac: Add `.' to the directories searched for unifont.
7567
7568 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7569
7570 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7571 grub_script.yy.h.
7572
7573 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7574
7575 * docs/grub.texi (History): Expand to cover GRUB 2.
7576 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7577 commands, not `terminal'.
7578 (serial): Likewise.
7579 (terminal_input): New section.
7580 (terminal_output): New section.
7581 (uppermem): New section (stub).
7582 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7583
7584 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7585
7586 * docs/grub.texi (Security): Menu entries are unrestricted by
7587 default, not restricted to superusers as I had previously thought.
7588 Reword to account for this.
7589
7590 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7591
7592 * kern/emu/misc.c (device_mapper_null_log): New function.
7593 (grub_device_mapper_supported): New function.
7594 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7595 prototype.
7596 * kern/emu/hostdisk.c (find_partition_start): Check whether
7597 device-mapper is supported before trying to use it.
7598 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7599
7600 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7601
7602 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7603 (File name syntax): Likewise.
7604 (help): --all is no longer supported in GRUB 2. Be more precise
7605 about pattern matching.
7606
7607 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7608
7609 * normal/completion.c (grub_normal_do_completion): When completing
7610 arguments to "set" and the current word contains an equals sign,
7611 skip to after the equals sign before starting completion.
7612
7613 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7614
7615 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7616
7617 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * docs/grub.texi (Network): New section.
7620 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7621 `(nd)' as in GRUB Legacy.
7622 (pxe_unload): New section.
7623
7624 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7625
7626 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7627 in the rescue shell, so recommend using `set' instead. Thanks,
7628 Jordan Uggla.
7629
7630 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7631
7632 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7633 (password): New section.
7634 (password_pbkdf2): New section.
7635 (search): New section.
7636 (Security): New section.
7637 (Troubleshooting): New section, currently very incomplete.
7638 (Invoking grub-mkpasswd-pbkdf2): New section.
7639 (Internals): New section, currently very incomplete.
7640
7641 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7642
7643 * util/grub.d/00_header.in: Add some more quoting (of
7644 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7645 work again.
7646 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7647
7648 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7649
7650 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7651 to `count', fixing variable shadowing that broke the -c option.
7652
7653 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7654
7655 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7656 in case they contain spaces.
7657
7658 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7659
7660 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7661 "part_" to partmap module names, in line with grub-install.
7662 Reported by: Jindřich Makovička (Debian bug #584426).
7663
7664 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7665
7666 * util/grub-mkimage.c: Make target-related error messages slightly
7667 more helpful; -O talks about "format". Explicitly point to the use
7668 of -O if no target is specified.
7669 Reported by: Didier Raboud (Debian bug #584415).
7670
7671 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7672
7673 * INSTALL: Document several build requirements for optional features
7674 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7675
7676 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7677
7678 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7679 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7680 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7681
7682 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7683
7684 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7685 Thanks to Jordan Uggla for spotting this.
7686
7687 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7688
7689 Finally make USB usable.
7690
7691 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7692 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7693 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7694 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7695 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7696 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7697 (GRUB_OHCI_FSMPS): Likewise.
7698 (GRUB_OHCI_PERIODIC_START): Likewise.
7699 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7700 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7701 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7702 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7703 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7704 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7705 (grub_ohci_transaction): Likewise.
7706 (grub_ohci_transfer): Improve condition detection algorithms.
7707 Handle toggle property. Program the transactions correctly.
7708 Improve error handling. Various important fixups.
7709 (grub_ohci_portstatus): Put register writes in right order.
7710 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7711 (grub_uhci_transfer): Don't show "failed" message on success.
7712 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7713 array.
7714 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7715 determine its size.
7716 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7717 before initialization is completed. Use IN direction for empty
7718 transfers. Use last_trans and compute toggle.
7719 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7720 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7721 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7722 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7723 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7724 (grub_usb_device): Increase toggle to 256.
7725 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7726 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7727 GRUB_USBMS_SUBCLASS_SFF8070.
7728 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7729 (grub_scsi_inquiry): New member page and alloc_length.
7730 (grub_scsi_request_sense): New structure.
7731 (grub_scsi_request_sense_data): Likewise.
7732 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7733 control.
7734 * disk/scsi.c (grub_scsi_request_sense): New function.
7735 (grub_scsi_test_unit_ready): Likewise.
7736 (grub_scsi_inquiry): Fill new fields.
7737 (grub_scsi_read_capacity): Likewise.
7738 (grub_scsi_read10): Add request sense at the end.
7739 (grub_scsi_read12): Likewise.
7740 (grub_scsi_write10): Likewise.
7741 (grub_scsi_write12): Likewise.
7742 (grub_scsi_open): Add Test Unit Ready.
7743 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7744 Support additional subclasses. Con't clear halt yet. Activate the
7745 proper config. Calculate LUNs correctly.
7746 (grub_usbms_transfer): Various important fixups.
7747
7748 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7751 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7752 (grub_ohci_fini_hw): New function.
7753 (grub_ohci_restore_hw): Likewise.
7754 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7755 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7756 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7757
7758 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 Dedicated DMA allocations.
7761
7762 * bus/pci.c (grub_memalign_dma32): New function
7763 (grub_dma_free): Likewise.
7764 (grub_dma_get_virt): Likewise.
7765 (grub_dma_get_phys): Likewise.
7766 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7767 (grub_ohci_pci_iter): Use dma32_alloc.
7768 (grub_ohci_transfer): Likewise.
7769 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7770 (grub_usb_bulk_readwrite): Likewise.
7771 * include/grub/pci.h: Add declarations.
7772
7773 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 CS5536 support.
7776
7777 * bus/cs5536.c: New file.
7778 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7779 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7780 (cs5536_mod_SOURCES): New variable.
7781 (cs5536_mod_CFLAGS): Likewise.
7782 (cs5536_mod_LDFLAGS): Likewise.
7783 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7784 machine/pci.h.
7785 (kernel_img_SOURCES): Add bus/cs5536.c.
7786 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7787 usb_keyboard.mod.
7788 (usb_mod_SOURCES): New variable.
7789 (usb_mod_CFLAGS): New variable.
7790 (usb_mod_LDFLAGS): New variable.
7791 (usbtest_mod_SOURCES): New variable.
7792 (usbtest_mod_CFLAGS): New variable.
7793 (usbtest_mod_LDFLAGS): New variable.
7794 (ohci_mod_SOURCES): New variable.
7795 (ohci_mod_CFLAGS): New variable.
7796 (ohci_mod_LDFLAGS): New variable.
7797 (usbms_mod_SOURCES): New variable.
7798 (usbms_mod_CFLAGS): New variable.
7799 (usbms_mod_LDFLAGS): New variable.
7800 (usb_keyboard_mod_SOURCES): New variable.
7801 (usb_keyboard_mod_CFLAGS): New variable.
7802 (usb_keyboard_mod_LDFLAGS): New variable.
7803 * include/grub/smbus.h: New file.
7804 * include/grub/cs5536.h: New file.
7805
7806 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * util/grub.d/00_header.in: Add safety check to make sure that
7809 ${locale_dir} exists before trying to probe it.
7810
7811 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7812
7813 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7814 per the GNU Coding Standards; this is now too obscure to be worth
7815 documenting.
7816 (QNX): Likewise.
7817 (chainloader): Remove cross-reference to `SCO UnixWare'.
7818
7819 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7820
7821 * docs/grub.texi (Chain-loading): New section.
7822 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7823 adjusted for GRUB 2.
7824 (SCO UnixWare): Likewise.
7825 (QNX): Likewise.
7826 (chainloader): Add reference to `Block list syntax'.
7827 (drivemap): New section.
7828 (parttool): New section.
7829
7830 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7831
7832 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7833 the grub shell'.
7834 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7835 (Installing GRUB using grub-install): Remove reference to the grub
7836 shell; mention `grub-mkimage' and `grub-setup' instead.
7837 (Invoking grub-install): Likewise.
7838 (Interface): Add reference to `Menu entry editor'.
7839 (serial): Remove `--device' option.
7840
7841 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7842
7843 * docs/grub.texi (Configuration): New section, documenting
7844 configuration file generation using grub-mkconfig. I've left a slot
7845 for documenting the full shell scripting format but have not yet
7846 started on writing that up.
7847 (Invoking grub-mkconfig): New section.
7848
7849 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7850
7851 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7852 (GNU GRUB manual): Likewise.
7853 (General commands): Update description of `terminfo' for GRUB 2.
7854
7855 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7856
7857 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7858 (GRUB_MOD_INIT): Fix capitalisation.
7859 * docs/grub.texi (Command-line and menu entry commands): Document
7860 gettext and gptsync commands.
7861
7862 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7863
7864 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7865 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7866
7867 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
7868
7869 Add btrfs probing support, currently only in the single-device case.
7870
7871 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7872 function.
7873 (grub_guess_root_device): Call find_root_device_from_mountinfo
7874 before looking in /dev.
7875
7876 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7879 GRUB_DISK_SIZE_UNKNOWN.
7880 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7881
7882 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
7883
7884 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7885 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7886 corrupted or not synced properly.
7887
7888 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7891 Reported by: Seth Goldberg.
7892
7893 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7896 addition of dest.
7897 Reported by: Seth Goldberg.
7898
7899 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7902 Reported by: Seth Goldberg.
7903
7904 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7907 64-bit address as signed on MIPS.
7908
7909 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7910
7911 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7912 to the empty string.
7913
7914 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7915
7916 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7917
7918 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7919 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7920 * kern/misc.c (__enable_execute_stack): Disable on
7921 GRUB_MACHINE_EMU.
7922
7923 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7924
7925 Make grub-probe work with symbolic links under /dev/mapper as well
7926 as with real block devices. The Linux world seems to be (at best)
7927 in transition here, and GRUB shouldn't get caught in the middle.
7928
7929 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7930 /dev/mapper.
7931
7932 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7935 input files (in which case exit zero).
7936
7937 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7938
7939 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7940 return NULL for various reasons even if it has a maximum-length
7941 buffer: for example, there might be a symlink loop, or the path
7942 might exceed PATH_MAX. If this happens, return NULL.
7943
7944 2010-05-27 Robert Millan <rmh@gnu.org>
7945
7946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7947 partmap module to handle cross-partmap setups.
7948 Reported by Orestes Mas. Gràcies!
7949
7950 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7951
7952 * util/grub-mkrescue.in: Initialise override_dir rather than
7953 assuming that it's unset or empty in the environment.
7954
7955 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7956
7957 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7958 variable index into p_index to suppress a warning with -Wshadow.
7959
7960 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7961
7962 * INSTALL: Added flex >= 2.5.35 requirement.
7963
7964 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7967
7968 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 cmostest support.
7971
7972 * commands/i386/cmostest.c: New file.
7973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7974 (cmostest_mod_SOURCES): New variable.
7975 (cmostest_mod_CFLAGS): Likewise.
7976 (cmostest_mod_LDFLAGS): Likewise.
7977 * conf/i386-pc.rmk: Likewise.
7978 * docs/grub.texi (Vendor power-on keys): New section.
7979 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7980 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7981 and GRUB_BUTTON_CMOS_ADDRESS.
7982 * util/grub.d/00_header.in: Handle powering-on by separate button.
7983
7984 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7987 Removed drawing_scrollbar argument. All users updated
7988 Fixes #29792.
7989 Reported by Jo Shields
7990
7991 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7994 buffer since gfxterm handles double repaint.
7995
7996 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7999 * term/gfxterm.c (real_scroll): Likewise.
8000
8001 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8004 before calling BIOS.
8005
8006 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * include/grub/i18n.h: Always enable grub_gettext.
8009
8010 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8013 partition naming style.
8014
8015 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8016
8017 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8018 not the first option.
8019
8020 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8021
8022 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8023
8024 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8025
8026 * util/misc.c: Move inclusion of <limits.h> to ...
8027 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8028
8029 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8030
8031 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8032 Fix merge error in NetBSD code.
8033 (find_partition_start) [__NetBSD__]: Likewise.
8034
8035 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8036
8037 Fix grub-mkrescue usage unit testing.
8038
8039 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8040
8041 2010-05-18 Christian Franke <franke@computer.org>
8042
8043 * util/grub.d/10_windows.in: Use path names instead of
8044 drive letters to prevent warning from Cygwin 1.7.
8045 Add drivemap command to menuentry if needed.
8046
8047 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8048
8049 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8050 gnumach and gnumach.gz.
8051
8052 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * include/grub/i18n.h (gettext): Inline instead of using #define.
8055 (grub_gettext): Likewise.
8056 (_): Likewise.
8057
8058 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8061 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8062 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8063 (main): Add a slash after pkglibdirroot.
8064
8065 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * util/grub-install.in: Add missing "in" keyword.
8068
8069 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8072 Reported by: Seth Goldberg.
8073
8074 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8077
8078 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8079
8080 * configure.ac: Check for Linux device-mapper support.
8081
8082 * util/hostdisk.c (device_is_mapped): New function.
8083 (find_partition_start): New function, partly broken out from
8084 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8085 device-mapper support added.
8086 (linux_find_partition): Use find_partition_start.
8087 (convert_system_partition_to_system_disk): Add `st' argument.
8088 Support Linux /dev/mapper/* devices if device-mapper support is
8089 available; only DM-RAID devices are understood at present.
8090 (find_system_device): Add `st' argument. Pass it to
8091 convert_system_partition_to_system_disk.
8092 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8093 find_system_device and convert_system_partition_to_system_disk. Use
8094 find_partition_start.
8095
8096 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8097 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8098 * util/deviceiter.c [__linux__]: Define MINOR.
8099 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8100 * util/mkdevicemap.c (grub_putchar): New function.
8101 (grub_getkey): New function.
8102 (grub_refresh): New function.
8103 (main): Set debug=all if -v -v is used.
8104
8105 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8106
8107 Fix build with non-GNU libcs.
8108
8109 * util/misc.c (canonicalize_file_name): Move to ...
8110 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8111 grub_make_system_path_relative_to_its_root.
8112
8113 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8114
8115 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8116 we handle finding grub-mkimage. Default to finding grub-mkimage in
8117 ${bindir} with program_transform_name applied, and provide a
8118 --grub-mkimage option to override this.
8119
8120 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Remove grub-mkisofs.
8123
8124 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8125 (grub_mkisofs_SOURCES): Removed.
8126 (grub_mkisofs_CFLAGS): Removed.
8127 * util/mkisofs/defaults.h: Removed.
8128 * util/mkisofs/eltorito.c: Likewise.
8129 * util/mkisofs/exclude.h: Likewise.
8130 * util/mkisofs/hash.c: Likewise.
8131 * util/mkisofs/include/: Likewise.
8132 * util/mkisofs/include/fctldefs.h: Likewise.
8133 * util/mkisofs/include/mconfig.h: Likewise.
8134 * util/mkisofs/include/prototyp.h: Likewise.
8135 * util/mkisofs/include/statdefs.h: Likewise.
8136 * util/mkisofs/iso9660.h: Likewise.
8137 * util/mkisofs/joliet.c: Likewise.
8138 * util/mkisofs/match.c: Likewise.
8139 * util/mkisofs/match.h: Likewise.
8140 * util/mkisofs/mkisofs.c: Likewise.
8141 * util/mkisofs/mkisofs.h: Likewise.
8142 * util/mkisofs/msdos_partition.h: Likewise.
8143 * util/mkisofs/multi.c: Likewise.
8144 * util/mkisofs/name.c: Likewise.
8145 * util/mkisofs/rock.c: Likewise.
8146 * util/mkisofs/tree.c: Likewise.
8147 * util/mkisofs/write.c: Likewise.
8148
8149 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Unify grub-mkimage accross platforms.
8152
8153 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8154 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8155 (grub_mkelfimage_SOURCES): Removed.
8156 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8157 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8158 (bin_UTILITIES): Add grub-mkimage.
8159 (grub_mkimage_SOURCES): New variable.
8160 (kernel_img_HEADERS): Remove machine/kernel.h.
8161 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8162 (pkglib_PROGRAMS): Add kernel.img.
8163 (kernel_img_HEADERS): Add machine/kernel.h.
8164 (kernel_img_FORMAT): Removed.
8165 (bin_UTILITIES): Remove grub-mkimage.
8166 (grub_mkimage_SOURCES): Removed.
8167 (grub_mkimage_CFLAGS): Likewise.
8168 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8169 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8170 (pkglib_PROGRAMS): Add kernel.img.
8171 (bin_UTILITIES): Remove grub-mkimage.
8172 (grub_mkimage_SOURCES): Removed.
8173 (grub_mkimage_CFLAGS): Likewise.
8174 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8175 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8176 (pkglib_PROGRAMS): Add kernel.img.
8177 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8178 (pkglib_PROGRAMS): Add kernel.img.
8179 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8180 (grub_mkimage_SOURCES): Removed.
8181 (grub_mkimage_CFLAGS): Likewise.
8182 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8183 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8184 (pkglib_PROGRAMS): Add kernel.img.
8185 (bin_UTILITIES): Remove grub-mkimage.
8186 (grub_mkimage_SOURCES): Removed.
8187 (grub_mkimage_CFLAGS): Likewise.
8188 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8189 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8190 (grub_mkimage_SOURCES): Removed.
8191 (grub_mkimage_CFLAGS): Likewise.
8192 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8193 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8194 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8195 (grub_pe32_optional_header): ... this.
8196 (grub_pe64_optional_header): ... and this. All users updated.
8197 (GRUB_PE32_PE32_MAGIC): Split into ..
8198 (GRUB_PE32_PE32_MAGIC): .. this.
8199 (GRUB_PE32_PE64_MAGIC): .. and this.
8200 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8201 * include/grub/elf.h (PT_GNU_STACK): New definition.
8202 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8203 * include/grub/i386/efi/kernel.h: Likewise.
8204 * include/grub/i386/kernel.h: Likewise.
8205 * include/grub/i386/pc/kernel.h: Likewise.
8206 * include/grub/i386/qemu/boot.h: Likewise.
8207 * include/grub/mips/kernel.h: Likewise.
8208 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8209 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8210 * include/grub/powerpc/kernel.h: Likewise.
8211 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8212 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8213 * include/grub/sparc64/kernel.h: Likewise.
8214 * include/grub/x86_64/efi/kernel.h: Likewise.
8215 * include/grub/x86_64/kernel.h: Likewise.
8216 * include/grub/offsets.h: New file.
8217 * include/grub/kernel.h (grub_module_info): Split into ...
8218 (grub_module_info32): ... this.
8219 (grub_module_info64): ... and this.
8220 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8221 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8222 (grub_boot_blocklist): Moved from here ...
8223 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8224 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8225 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8226 * include/grub/types.h (grub_target_to_host16): Removed.
8227 (grub_target_to_host32): Likewise.
8228 (grub_target_to_host64): Likewise.
8229 (grub_host_to_target16): Likewise.
8230 (grub_host_to_target32): Likewise.
8231 (grub_host_to_target64): Likewise.
8232 (grub_host_to_target_addr): Likewise.
8233
8234 Support grub-mkrescue for efi, coreboot and qemu.
8235
8236 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8237 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8238 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8239 * util/grub-mkrawimage.c: Moved from here ...
8240 * util/grub-mkimage.c: ... here. All users updated.
8241 (ALIGN_ADDR): Use image_target.
8242 (TARGET_NO_FIELD): New const.
8243 (image_target_desc): New type.
8244 (image_targets): New array.
8245 (grub_target_to_host64): Use image_target.
8246 (grub_target_to_host32): Likewise.
8247 (grub_target_to_host16): Likewise.
8248 (grub_host_to_target64): Likewise.
8249 (grub_host_to_target32): Likewise.
8250 (grub_host_to_target16): Likewise.
8251 (grub_host_to_target_addr): Likewise.
8252 (generate_image): Handle multiimage.
8253 (main): Require -O parameter. All users updated.
8254 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8255 util/efi/grub-mkimage.c
8256 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8257 New option --rom-directory.
8258 Use xorriso.
8259 * util/i386/efi/grub-mkimage.c: Removed.
8260 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8261 (grub_target_to_host32): Likewise.
8262 (grub_target_to_host64): Likewise.
8263 (grub_host_to_target16): Likewise.
8264 (grub_host_to_target32): Likewise.
8265 (grub_host_to_target64): Likewise.
8266 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8267 (grub_target_to_host32): Likewise.
8268 (grub_target_to_host64): Likewise.
8269 (grub_host_to_target16): Likewise.
8270 (grub_host_to_target32): Likewise.
8271 (grub_host_to_target64): Likewise.
8272
8273 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8274
8275 Source tree is reorganized for emu build.
8276
8277 * include/grub/util/console.h: Move from here...
8278 * include/grub/emu/console.h: ...to here.
8279 * include/grub/util/getroot.h: Move from here...
8280 * include/grub/emu/getroot.h: ...to here.
8281 * include/grub/util/hostdisk.h: Move from here...
8282 * include/grub/emu/hostdisk.h: ...to here.
8283 * util/console.c: Move from here...
8284 * kern/emu/console.c: ...to here.
8285 * util/getroot.c: Move from here...
8286 * kern/emu/getroot.c: ...to here.
8287 * util/grub-emu.c: Move from here...
8288 * kern/emu/main.c: ...to here.
8289 * util/hostdisk.c: Move from here...
8290 * kern/emu/hostdisk.c: ...to here.
8291 * util/hostfs.c: Move from here...
8292 * kern/emu/hostfs.c: ...to here.
8293 * util/mm.c: Move from here...
8294 * kern/emu/mm.c: ...to here.
8295 * util/pci.c: Move from here...
8296 * bus/emu/pci.c: ...to here.
8297 * util/sdl.c: Move from here...
8298 * video/emu/sdl.c: ...to here.
8299 * util/time.c: Move from here...
8300 * kern/emu/time.c: ...to here.
8301 * util/usb.c: Move from here...
8302 * bus/usb/emu/usb.c: ...to here.
8303
8304 * include/grub/emu/misc.h: New header for grub-emu functions.
8305 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8306
8307 * conf/any-emu.rmk: Rule updates for above renames.
8308 * conf/common.rmk: Likewise.
8309 * conf/i386-pc.rmk: Likewise.
8310 * conf/i386-qemu.rmk: Likewise.
8311 * conf/mips.rmk: Likewise.
8312 * conf/sparc64-ieee1275.rmk: Likewise.
8313 * conf/x86-efi.rmk: Likewise.
8314
8315 * disk/lvm.h: #include updates for above renames.
8316 * util/grub-mkrelpath.c: Likewise.
8317 * util/grub-probe.c: Likewise.
8318 * util/i386/pc/grub-setup.c: Likewise.
8319 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8320 * kern/emu/console.c: Likewise.
8321 * kern/emu/getroot.c: Likewise.
8322 * kern/emu/hostdisk.c: Likewise.
8323 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8324
8325 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8326 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8327 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8328 * util/misc.c: Remove grub-emu functions.
8329
8330 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Fix gfxmenu crash.
8333 Reported by: Thorsten Grützmacher.
8334
8335 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8336 timeout hook.
8337 (circprog_set_property): Register and unregister timeout hook.
8338 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8339 (label_destroy): Free template. and unregister hook.
8340 (label_set_state): New function.
8341 (label_set_property): Handle templates and hooks.
8342 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8343 timeout hook.
8344 (progress_bar_set_property): Register and unregister timeout hook.
8345 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8346 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8347 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8348 (update_timeout_visit): Removed.
8349 (update_timeouts): New function.
8350 (redraw_timeouts): Likewise.
8351 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8352 (grub_gfxmenu_clear_timeout): Likewise.
8353 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8354 (grub_gfxmenu_timeout_notify): Likewise.
8355 (grub_gfxmenu_timeout_notifications): New external variable.
8356 (grub_gfxmenu_timeout_register): New function.
8357 (grub_gfxmenu_timeout_unregister): Likewise.
8358
8359 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 Transform (broken) vga terminal into (working) vga video driver.
8362
8363 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8364 video/i386/pc/vga.c.
8365 * include/grub/video.h (grub_video_driver_id):
8366 Add GRUB_VIDEO_DRIVER_VGA.
8367 * term/i386/pc/vga.c: Renamed to ...
8368 * video/i386/pc/vga.c: ...this
8369 (DEBUG_VGA): Removed.
8370 (CHAR_WIDTH): Likewise.
8371 (CHAR_HEIGHT): Likewise.
8372 (TEXT_WIDTH): Likewise.
8373 (TEXT_HEIGHT): Likewise.
8374 (DEFAULT_FG_COLOR): Likewise.
8375 (DEFAULT_BG_COLOR): Likewise.
8376 (colored_char): Likewise.
8377 (xpos): Likewise.
8378 (ypos): Likewise.
8379 (cursor_state): Likewise.
8380 (fg_color): Likewise.
8381 (bg_color): Likewise.
8382 (text_buf): Likewise.
8383 (page): Likewise.
8384 (font): Likewise.
8385 (framebuffer): New variable.
8386 (set_read_map): Disabled.
8387 (setup): New variable.
8388 (is_target): Likewise.
8389 (grub_vga_mod_init): Likewise.
8390 (grub_vga_mod_fini): Likewise.
8391 (check_vga_mem): Likewise.
8392 (write_char): Likewise.
8393 (write_cursor): Likewise.
8394 (scroll_up): Likewise.
8395 (grub_vga_putchar): Likewise.
8396 (grub_vga_getcharwidth): Likewise.
8397 (grub_vga_getwh): Likewise.
8398 (grub_vga_getxy): Likewise.
8399 (grub_vga_gotoxy): Likewise.
8400 (grub_vga_cls): Likewise.
8401 (grub_vga_setcolorstate): Likewise.
8402 (grub_vga_setcursor): Likewise.
8403 (grub_video_vga_init): New function.
8404 (grub_video_vga_setup): Likewise.
8405 (grub_video_vga_fini): Likewise.
8406 (update_target): Likewise.
8407 (grub_video_vga_blit_bitmap): Likewise.
8408 (grub_video_vga_blit_render_target): Likewise.
8409 (grub_video_vga_set_active_render_target): Likewise.
8410 (grub_video_vga_get_active_render_target): Likewise.
8411 (grub_video_vga_swap_buffers): Likewise.
8412 (grub_video_vga_set_palette): Likewise.
8413 (grub_video_vga_get_info_and_fini): Likewise.
8414 (grub_vga_term): Removed.
8415 (grub_video_vga_adapter): New variable.
8416 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8417 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8418
8419 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * video/readers/jpeg.c: Indented.
8422
8423 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Various jpeg cleanups.
8426
8427 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8428 (grub_jpeg_decode_quan_table): Use sizeof.
8429 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8430
8431 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8432
8433 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8434 tables. Ignore non-last ac bit.
8435 (grub_jpeg_decode_quan_table): Likewise.
8436
8437 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8440 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8441 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8442 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8443 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8444 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8445
8446 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8449 error.
8450
8451 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8454
8455 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8458 condition.
8459
8460 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8463 part.
8464
8465 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8468 pointers.
8469
8470 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8473
8474 2010-05-01 Christian Franke <franke@computer.org>
8475
8476 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8477 Remove broken Cygwin path conversion.
8478 * util/misc.c: [__CYGWIN__] Add include and define.
8479 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8480 for Cygwin 1.7.
8481 (make_system_path_relative_to_its_root): Simplify loop, replace early
8482 return by break.
8483 [__CYGWIN__] Add conversion to win32 path.
8484 Include "/" case in trailing slash removal.
8485
8486 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8489 Reported by: Seth Goldberg
8490
8491 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * commands/help.c (grub_cmd_help): Fix a typo.
8494 Reported by: Seth Goldberg
8495
8496 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8499 name and add N_.
8500 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8501 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8502 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8503 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8504 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8505 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8506 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8507 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8508 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8509 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8510 * normal/context.c (GRUB_MOD_INIT): Likewise.
8511 * normal/main.c (GRUB_MOD_INIT): Likewise.
8512 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8513 * term/serial.c (GRUB_MOD_INIT): Likewise.
8514 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8515
8516 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8519 extra == 0.
8520
8521 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * commands/iorw.c: New file.
8524 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8525 (iorw_mod_SOURCES): New variable.
8526 (iorw_mod_CFLAGS): Likewise.
8527 (iorw_mod_LDFLAGS): Likewise.
8528
8529 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 Hotkey support
8532
8533 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8534 * normal/main.c (hotkey_aliases): New variable.
8535 (grub_normal_add_menu_entry): Parse "--hotkey".
8536 * normal/menu_text.c (run_menu): Handle hotkeys.
8537
8538 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * kern/i386/coreboot/init.c (grub_machine_init): Call
8541 grub_machine_mmap_init on qemu.
8542
8543 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * boot/i386/qemu/boot.S: Add a missing .code16.
8546
8547 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 Use LBIO on coreboot.
8550
8551 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8552 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8553 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8554 New declaration.
8555 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8556 grub_machine_mmap_init on coreboot.
8557 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8558 GRUB_LINUXBIOS_MEMBER_LINK.
8559 (grub_machine_mmap_iterate): Fix declaration.
8560 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8561
8562 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 Split coreboot and multiboot ports.
8565
8566 * conf/i386-multiboot.rmk: New file.
8567 * configure.ac: Add multiboot port.
8568 * include/grub/i386/multiboot/boot.h: New file.
8569 * include/grub/i386/multiboot/console.h: Likewise.
8570 * include/grub/i386/multiboot/init.h: Likewise.
8571 * include/grub/i386/multiboot/kernel.h: Likewise.
8572 * include/grub/i386/multiboot/loader.h: Likewise.
8573 * include/grub/i386/multiboot/memory.h: Likewise.
8574 * include/grub/i386/multiboot/serial.h: Likewise.
8575 * include/grub/i386/multiboot/time.h: Likewise.
8576 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8577 * loader/multiboot.c: Likewise.
8578 * loader/multiboot_mbi2.c: Likewise.
8579 * util/grub-mkrescue.in: Generate multiboot rescue.
8580
8581 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8584
8585 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 Merge handling of input and output terminals. Fix a hang.
8588
8589 * commands/terminal.c (abstract_terminal): New struct.
8590 (handle_command): New function. Based on grub_cmd_terminal_input.
8591 (grub_cmd_terminal_input): Use handle_command.
8592 (grub_cmd_terminal_output): Use handle_command.
8593
8594 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8595
8596 Fix comment handling.
8597
8598 * tests/grub_script_comments.in: New testcase.
8599 * conf/tests.rmk: Rules for new testcase.
8600 * script/yylex.l: Updated flex rules.
8601
8602 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8603
8604 * docs/grub.texi (play): Document that zero pitches produce rests.
8605 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8606 if argc is 1.
8607
8608 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8611 autogen issues.
8612
8613 2010-04-26 Christian Franke <franke@computer.org>
8614
8615 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8616 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8617 (grub_get_prefix): Remove function.
8618 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8619 make_system_path_relative_to_its_root ().
8620 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8621
8622 2010-04-24 Christian Franke <franke@computer.org>
8623
8624 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8625 (kernel_img_LDFLAGS): Remove -static-libgcc.
8626
8627 2010-04-24 Christian Franke <franke@computer.org>
8628
8629 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8630 and CHECK_END_SYMBOL if grub-emu is built.
8631 Unset TARGET_OBJ2ELF if grub-emu is built
8632 without module support.
8633
8634 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8635
8636 Nilfs2 support.
8637
8638 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8639 (grub_fstest_SOURCES): Likewise.
8640 (pkglib_MODULES): Add nilfs2.mod.
8641 (nilfs2_mod_SOURCES): New variable.
8642 (nilfs2_mod_CFLAGS): Likewise.
8643 (nilfs2_mod_LDFLAGS): Likewise.
8644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8645 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8646 * fs/nilfs2.c: New file.
8647
8648 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8651 is not supported.
8652
8653 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8654
8655 Add grub-mkconfig support for NetBSD.
8656
8657 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8658 * util/grub-mkconfig.in: export new NetBSD specific variables.
8659 * po/POTFILES-shell: added 10_netbsd.in.
8660 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8661
8662 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8663
8664 Fix emu build with grub-emu-pci and grub-emu-modules.
8665
8666 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8667 functions.
8668 * include/grub/libpciaccess.h: New file.
8669 * conf/any-emu.rmk: Update kernel headers for emu build.
8670
8671 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8674
8675 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8678
8679 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8682 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8683 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8684 util/ieee1275/ofpath.c.
8685 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8686 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8687 * include/grub/sparc64/ieee1275/boot.h
8688 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8689 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8690 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8691 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8692 const char *.
8693 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8694 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8695 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8696 install.
8697
8698 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8699
8700 * util/grub-mkconfig.in: Corrected two == equality tests.
8701 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8702 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8703 expect a number appended to it.
8704 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8705 expects a number appended to it.
8706
8707 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8710
8711 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * util/hostdisk.c (make_device_name): Change to new partition naming.
8714
8715 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8718
8719 2010-04-17 Christian Franke <franke@computer.org>
8720
8721 * Makefile.in: Add missing localedir setting.
8722
8723 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8724
8725 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8726 mistake in r2156. Noticed by Anthony Fok.
8727
8728 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8729 @localedir@.
8730 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8731
8732 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8733
8734 Fix a spurious, uninitialized variable warning.
8735
8736 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8737 Initialize variable, shdr.
8738 (grub_freebsd_load_elfmodule): Likewise.
8739 (grub_freebsd_load_elf_meta): Likewise.
8740
8741 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8742
8743 Fix for escaped dollar in double quoted strings.
8744
8745 * script/yylex.l: Updated flex rules.
8746 * conf/tests.rmk: Rule for new testcase.
8747 * tests/grub_script_dollar.in: New testcase.
8748
8749 2010-04-13 Carles Pina i Estany <carles@pina.cat>
8750 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
8751
8752 Enclose all translated strings in grub.cfg in single quotes, and
8753 escape them appropriately (Ubuntu bug #552921).
8754
8755 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8756 * util/grub.d/10_hurd.in: Use it.
8757 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8758 * util/grub.d/10_linux.in (linux_entry): Likewise.
8759
8760 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 Fix cygwin compilation.
8763
8764 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8765 * include/grub/misc.h (__register_frame_info)
8766 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8767 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8768 * kern/misc.c (__register_frame_info)
8769 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8770 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8771
8772 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8775
8776 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 Unify libgcc processing.
8779
8780 * Makefile.in (kernel_img_LDFLAGS): New variable.
8781 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8782 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8783 overwriting.
8784 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8785 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8786 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8787 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8788 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8789 overwriting. Remove -lgcc and -static-libgcc
8790 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8791 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8792 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8793 (kernel_img_LDFLAGS): Append instead of overwriting.
8794 Remove -lgcc and -static-libgcc
8795 * conf/sparc64-ieee1275.rmk: Likewise.
8796 * include/grub/powerpc/libgcc.h: Move to ...
8797 * include/grub/libgcc.h: .. this.
8798 * include/grub/libgcc.h: Don't export most of the function on x86.
8799 (__bswapsi2): New export.
8800 (__bswapdi2): Likewise.
8801 * include/grub/mips/libgcc.h: Removed.
8802 * include/grub/sparc64/libgcc.h: Likewise.
8803
8804 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8807 disk_info_msg (conflicts with gettexting into languages with cases).
8808
8809 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8810
8811 Add grub-probe support for NetBSD.
8812
8813 * util/getroot.c (find_root_device): Convert block device to
8814 character device on NetBSD.
8815 * util/probe.c (probe): Require character device on NetBSD.
8816 * util/hostdisk.c: NetBSD specific headers.
8817 (configure_device_driver): new function to tune device driver
8818 parameters (currently only for NetBSD floppy driver).
8819 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8820 via disklabel ioctl).
8821 (open_device): call configure_device_driver on NetBSD.
8822 (convert_system_partition_to_system_disk): NetBSD specific code.
8823 (device_is_wholedisk): Likewise.
8824 (grub_util_biosdisk_get_grub_dev): Likewise.
8825 (make_device_name): Fixed a typo in bsd_part_str.
8826 * configure.ac: check for opendisk() and getrawpartition() on
8827 NetBSD and set LIBUTIL.
8828 * Makefile.in: add LIBUTIL to LIBS.
8829
8830 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8831
8832 Documentation fix.
8833
8834 * util/grub-script-check.c: Better help message.
8835
8836 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8837
8838 Fix FreeBSD build.
8839
8840 * configure.ac: Flex version check.
8841 * conf/common.rmk: Add -Wno-error to sh.mod.
8842 * script/yylex.l: Remove all #pragma.
8843
8844 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8847 prototype.
8848 Reported by: Seth Goldberg.
8849
8850 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8853 Rename "module" to "module2".
8854 Reported by: Seth Goldberg.
8855
8856 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8859 EXPORT_FUNC.
8860 Reported by: Seth Goldberg.
8861
8862 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * lib/posix_wrap/locale.h: Add missing file.
8865 Reported by: Seth Goldberg.
8866
8867 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8868
8869 grub-emu module load support.
8870
8871 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8872 NO_DYNAMIC_MODULES switched to this.
8873 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8874 (CFLAGS): Likewise.
8875 * conf/any-emu.rmk: Generate symlist.
8876 (kernel_img_HEADERS): Add util/datetime.h.
8877 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8878 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8879 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8880 kern/$(target_cpu)/cache.S.
8881 * configure.ac (grub-emu-modules): New option.
8882 * genmk.rb: Handle multiple source lists.
8883 * include/grub/sdl.h: New file.
8884 * include/grub/libusb.h: Likewise.
8885 * util/grub-emu.c (main): Hanle (host) root.
8886 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8887 GRUB_ERR_UNKNOWN_DEVICE.
8888 * util/misc.c: Move mm functions to ...
8889 * util/mm.c: ... here. All users updated.
8890
8891 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8894 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8895 missing files.
8896 (maintainer-clean): Remove libgcrypt-grub.
8897
8898 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8901
8902 2010-04-09 EFI Coder <eficoder@hotmail.com>
8903
8904 * normal/menu_text.c (print_message): Clean up the message and show
8905 the Fn information when on EFI
8906 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8907
8908 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8911 All users updated.
8912 * normal/crypto.c (read_crypto_list): Likewise.
8913 * normal/dyncmd.c (read_command_list): Likewise.
8914 * normal/term.c (read_terminal_list): Likewise.
8915 * normal/main.c (read_lists): Use explicit prefix.
8916 (read_lists_hook): Use read_lists.
8917 (grub_normal_execute): Likewise.
8918
8919 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8922 Reported by: Thomas Schmitt.
8923 Add -no-emul-boot to grub-mkisofs parameters.
8924
8925 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * font/font.c: Indented.
8928
8929 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8930
8931 Elif support to GRUB script (by Deepak Vankadaru).
8932
8933 * tests/grub_script_if.in: New testcase.
8934 * conf/tests.rmk: Rule for new testcase.
8935 * script/parser.y: Grammar rules for elif.
8936
8937 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8938
8939 While and until loops support to GRUB script.
8940
8941 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8942 (grub_script_create_cmdwhile): New function prototype.
8943 (grub_script_execute_cmdwhile): New function prototype.
8944 * script/execute.c (grub_script_execute_cmdwhile): New function.
8945 * script/parser.y (command): New commands.
8946 (whilecmd): New grammar rule.
8947 (untilcmd): New grammar rule.
8948 * script/script.c (grub_script_create_cmdwhile): New function.
8949 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8950 function.
8951
8952 * tests/grub_script_while1.in: New testcase.
8953 * conf/tests.rmk: Rule for new testcase.
8954
8955 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8958 as *.jpg.
8959
8960 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
8961
8962 GRUB_BACKGROUND support.
8963
8964 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8965 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8966
8967 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 Load fonts and modules for gfxmenu in grub-mkconfig.
8970 Idea by: Mario Vazquez
8971
8972 * util/grub.d/00_header.in: Load pf2 and image modules.
8973
8974 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 grub-mkconfig multiple terminal support.
8977
8978 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8979 * util/grub.d/00_header.in: Likewise.
8980
8981 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8984 we use cd $(srcdir).
8985
8986 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
8987
8988 * util/grub.d/10_linux.in: Only use the first word of
8989 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8990 spaces in GRUB_DISTRIBUTOR.
8991 * util/grub.d/10_kfreebsd.in: Likewise.
8992 * util/grub.d/10_hurd.in: Likewise.
8993
8994 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8995
8996 Fix unit testing framework for Qemu 0.12.
8997
8998 * tests/util/grub-shell.in: Remove -serial stdio option.
8999
9000 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 POSIX header file wrappers.
9003
9004 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9005 equivalents.
9006 * lib/posix_wrap/ctype.h: Likewise.
9007 * lib/posix_wrap/errno.h: Likewise.
9008 * lib/posix_wrap/langinfo.h: Likewise.
9009 * lib/posix_wrap/limits.h: Likewise.
9010 * lib/posix_wrap/localcharset.h: Likewise.
9011 * lib/posix_wrap/stdint.h: Likewise.
9012 * lib/posix_wrap/stdio.h: Likewise.
9013 * lib/posix_wrap/stdlib.h: Likewise.
9014 * lib/posix_wrap/string.h: Likewise.
9015 * lib/posix_wrap/sys/types.h: Likewise.
9016 * lib/posix_wrap/unistd.h: Likewise.
9017 * lib/posix_wrap/wchar.h: Likewise.
9018 * lib/posix_wrap/wctype.h: Likewise.
9019 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9020 (grub_script.yy.h): Likewise.
9021 * script/yylex.l: Remove POSIX emulation #defines.
9022 * Makefile.in (POSIX_CFLAGS): New variable.
9023 (GNULIB_UTIL_CFLAGS): Likewise.
9024
9025 Regexp support.
9026
9027 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9028 (regexp_mod_SOURCES): New variable.
9029 (regexp_mod_CFLAGS): Likewise.
9030 (regexp_mod_LDFLAGS): Likewise.
9031 * commands/regexp.c: New file.
9032 * gnulib/regcomp.c: New file. Imported from gnulib.
9033 * gnulib/regex.c: Likewise.
9034 * gnulib/regex_internal.c: Likewise.
9035 * gnulib/regex_internal.h: Likewise.
9036 * gnulib/regexec.c: Likewise.
9037 * gnulib/regex.h: Likewise.
9038
9039 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9042 unsupported video mode types.
9043
9044 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9047
9048 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9051 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9052
9053 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 Remove unused grub_vga_get_font.
9056
9057 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9058 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9059
9060 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9061
9062 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9063 * include/grub/misc.h: Likewise.
9064
9065 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9066
9067 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9068 for which failure is fatal.
9069
9070 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9071
9072 * util/grub-install.in: Use mkdir -p to create grub directory.
9073 * util/i386/efi/grub-install.in: Likewise.
9074 * util/ieee1275/grub-install.in: Likewise.
9075
9076 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9077
9078 * Makefile.in (LEX): new variable.
9079
9080 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9081
9082 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9083 `=' and added double quotes on operands of this equality test.
9084
9085 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * Makefile.in (uninstall): Remove a leftover debug echo.
9088 Reported by: Grégoire Sutre
9089
9090 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 MIPS multiboot2 support.
9093
9094 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9095 (multiboot2_mod_SOURCES): New variable.
9096 (multiboot2_mod_CFLAGS): Likewise.
9097 (multiboot2_mod_LDFLAGS): Likewise.
9098 (multiboot2_mod_ASFLAGS): Likewise.
9099 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9100 definition.
9101 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9102 (MULTIBOOT_MBI_REGISTER): Likewise.
9103 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9104 (MULTIBOOT_ELF32_MACHINE): Likewise.
9105 (MULTIBOOT_ELF64_MACHINE): Likewise.
9106 * include/grub/mips/multiboot.h: New file.
9107 * include/grub/video.h (grub_video_driver_id): New type
9108 GRUB_VIDEO_DRIVER_SM712.
9109 (grub_video_get_info_and_fini): Export.
9110 (grub_video_get_palette): Likewise.
9111 (grub_video_get_driver_id): Likewise.
9112 * include/multiboot2.h: Resynced with spec.
9113 * loader/i386/multiboot.c: Moved from here ...
9114 * loader/multiboot.c: ... here. All users updated.
9115 (grub_multiboot_boot): Use platform-specific macros.
9116 * loader/i386/multiboot_elfxx.c: Moved from here ...
9117 * loader/multiboot_elfxx.c: ... here. All users updated.
9118 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9119 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9120 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9121
9122 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 Import gnulib argp module.
9125
9126 * gnulib/argp-ba.c: New file.
9127 * gnulib/argp-eexst.c: Likewise.
9128 * gnulib/argp-fmtstream.c: Likewise.
9129 * gnulib/argp-fmtstream.h: Likewise.
9130 * gnulib/argp-fs-xinl.c: Likewise.
9131 * gnulib/argp-help.c: Likewise.
9132 * gnulib/argp-namefrob.h: Likewise.
9133 * gnulib/argp-parse.c: Likewise.
9134 * gnulib/argp-pin.c: Likewise.
9135 * gnulib/argp-pv.c: Likewise.
9136 * gnulib/argp-pvh.c: Likewise.
9137 * gnulib/argp-version-etc.c: Likewise.
9138 * gnulib/argp-version-etc.h: Likewise.
9139 * gnulib/argp-xinl.c: Likewise.
9140 * gnulib/argp.h: Likewise.
9141
9142 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * kern/device.c (grub_device_iterate): Clear errors after failed
9145 opening device.
9146
9147 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9150 returned by firmware.
9151
9152 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9155 compilation on coreboot and qemu
9156
9157 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * include/multiboot2.h: Resync with spec.
9160
9161 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Multiboot2 tag support
9164
9165 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9166 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9167 Remove loader/multiboot_loader.c.
9168 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9169 (grub_multiboot2_real_boot): Likewise.
9170 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9171 (grub_get_multiboot_mmap_count): New proto.
9172 (grub_fill_multiboot_mmap): Likewise.
9173 (grub_multiboot_set_video_mode): Likewise.
9174 (grub_multiboot_set_console): Likewise.
9175 (grub_multiboot_load): Likewise.
9176 (grub_multiboot_load_elf): Likewise.
9177 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9178 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9179 * include/multiboot.h: Resynced with specification.
9180 * include/multiboot2.h: Resynced with specification.
9181 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9182 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9183 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9184 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9185 users updated.
9186 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9187 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9188 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9189 Removed.
9190 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9191 Moved from here...
9192 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9193 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9194 Moved from here...
9195 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9196 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9197 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9198 All users updated.
9199 * loader/i386/multiboot_mbi2.c: New file.
9200
9201 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 Resync with gnulib.
9204
9205 * Makefile.in (GNULIB_CFLAGS): New variable.
9206 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9207 (grub_script_check_CFLAGS): New variable.
9208 * gnulib/alloca.h: Resync with gnulib.
9209 * gnulib/error.c: Likewise.
9210 * gnulib/error.h: Likewise.
9211 * gnulib/fnmatch.c: Likewise.
9212 * gnulib/fnmatch_loop.c: Likewise.
9213 * gnulib/getdelim.c: Likewise.
9214 * gnulib/getline.c: Likewise.
9215 * gnulib/getopt.c: Likewise.
9216 * gnulib/getopt1.c: Likewise.
9217 * gnulib/getopt_int.h: Likewise.
9218 * gnulib/gettext.h: Likewise.
9219 * gnulib/progname.c: Likewise.
9220 * gnulib/progname.h: Likewise.
9221
9222 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9223
9224 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9225 which is the case with --disabled-nls.
9226
9227 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9228 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9229 * util/misc.c: Likewise.
9230 * util/mkisofs/mkisofs.c: Likewise.
9231 * util/mkisofs/mkisofs.h: Likewise.
9232
9233 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 Simplify Apple CC support.
9236
9237 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9238 Add 0 byte at the end not to have a symbol with empty target.
9239 * mmap/i386/pc/mmap_helper.S: Likewise.
9240 * genmk.rb: Ignore errors 2030 and 2050.
9241 * kern/i386/pc/startup.S: Use LOCAL when possible.
9242
9243 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9244
9245 Testcase and the fix for final semicolon on cmdline.
9246
9247 * tests/grub_script_final_semicolon.in: New testcase.
9248 * conf/tests.rmk: Rules for the new testcase.
9249 * script/parser.y: Grammar fix.
9250
9251 2010-03-26 BVK Chaitanya <bvk@localhost>
9252
9253 Blank lines testcase for GRUB script.
9254
9255 * tests/grub_script_blanklines.in: New testcase.
9256 * conf/tests.rmk: Rules for the new testcase.
9257
9258 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 Don't use __FILE__.
9261
9262 * genmk.rb: Add -DGRUB_FILE to all C targets.
9263 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9264 * include/grub/list.h: Likewise.
9265 * include/grub/misc.h: Likewise.
9266 * include/grub/mm.h: Likewise.
9267 * include/grub/test.h: Likewise.
9268 * kern/mm.c: Likewise.
9269 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9270
9271 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 Sunpc partitions support.
9274
9275 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9276 (grub_fstest_SOURCES): Likewise.
9277 (pkglib_MODULES): Add part_sunpc.mod.
9278 (part_sunpc_mod_SOURCES): New variable.
9279 (part_sunpc_mod_CFLAGS): Likewise.
9280 (part_sunpc_mod_LDFLAGS): Likewise.
9281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9282 * partmap/sunpc.c: New file.
9283
9284 2010-03-26 BVK Chaitanya <bvk@localhost>
9285
9286 For loop support to GRUB script.
9287
9288 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9289 (grub_script_create_cmdfor): New function prototype.
9290 (grub_script_execute_cmdfor): New function prototype.
9291 * script/execute.c (grub_script_execute_cmdfor): New function.
9292 * script/parser.y (command): New for command.
9293 (forcmd): New grammar rule.
9294 * script/script.c (grub_script_create_cmdfor): New function.
9295 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9296 function.
9297 * tests/grub_script_for1.in: New testcase.
9298 * conf/tests.rmk: Rules for new testcase.
9299
9300 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 Nested partitions
9303
9304 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9305 'partition' is NULL, grub_partition_get_start already does that.
9306 * commands/loadenv.c (check_blocklists): Likewise.
9307 (write_blocklists): Likewise.
9308 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9309 (grub_fstest_SOURCES): Likewise.
9310 (pkglib_MODULES): Add part_bsd.mod.
9311 (part_bsd_mod_SOURCES): New variable.
9312 (part_bsd_mod_CFLAGS): Likewise.
9313 (part_bsd_mod_LDFLAGS): Likewise.
9314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9315 (grub_emu_SOURCES): Likewise.
9316 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9317 * include/grub/bsdlabel.h: New file.
9318 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9319 'get_name'.
9320 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9321 (grub_partition_map_list): New variable.
9322 (grub_partition_map_register): Inline.
9323 (grub_partition_map_unregister): Likewise.
9324 (FOR_PARTITION_MAPS): New macro.
9325 (grub_partition_map_iterate): Removed.
9326 (grub_partition_get_start): Handle nested partitions.
9327 * include/grub/msdos_partition.h: Remove bsd-related entries.
9328 (grub_pc_partition): Remove.
9329 * kern/disk.c (grub_disk_close): Free partition data.
9330 (grub_disk_adjust_range): Handle nested partitions.
9331 * kern/partition.c (grub_partition_map_probe): New function.
9332 (grub_partition_probe): Parse name to number, handle subpartitions.
9333 (get_partmap): New function.
9334 (grub_partition_iterate): Handle subpartitions.
9335 (grub_partition_get_name): Likewise.
9336 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9337 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9338 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9339 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9340 Set 'number'.
9341 (acorn_partition_map_probe): Remove.
9342 (acorn_partition_map_get_name): Likewise.
9343 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9344 Set 'number'.
9345 Set 'index' to 0 since there can be only one partition entry per sector.
9346 (amiga_partition_map_probe): Remove.
9347 (amiga_partition_map_get_name): Likewise.
9348 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9349 Set 'number'.
9350 Set 'offset' and 'index' to real positions of partitions.
9351 (apple_partition_map_probe): Remove.
9352 (apple_partition_map_get_name): Likewise.
9353 * partmap/bsdlabel.c: New file.
9354 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9355 Set 'number'.
9356 Allocate 'data' so it can be correctly freed.
9357 Set 'index' to offset inside sector.
9358 (gpt_partition_map_probe): Remove.
9359 (gpt_partition_map_get_name): Likewise.
9360 * partmap/msdos.c (grub_partition_parse): Remove.
9361 (pc_partition_map_iterate): Don't force raw access.
9362 Set 'number'.
9363 Make 'ext_offset' a local variable.
9364 (pc_partition_map_probe): Remove.
9365 (pc_partition_map_get_name): Remove.
9366 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9367 Set 'number'.
9368 (sun_partition_map_probe): Remove.
9369 (sun_partition_map_get_name): Likewise.
9370 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9371 (grub_pcpart_type): Likewise.
9372 * util/hostdisk.c (open_device): Handle new numbering scheme.
9373 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9374 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9375 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9376 * util/grub-install.in: Insert all subpartition modules.
9377 * util/ieee1275/grub-install.in: Likewise.
9378
9379 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9380
9381 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9382 grammar.
9383
9384 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9385
9386 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9387
9388 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9389
9390 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9391 match where 'make install' puts them.
9392 * util/i386/efi/grub-install.in: Likewise.
9393
9394 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9395
9396 * .bzrignore: Add gentrigtables, grub-script-check,
9397 grub_script_check_init.c, grub_script_check_init.h, and
9398 trigtables.c.
9399
9400 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * kern/parser.c: Indented.
9403
9404 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9407
9408 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9411 alpha_mask_size == 0 case.
9412
9413 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9414
9415 GRUB shell lexer and parser improvements.
9416
9417 * conf/any-emu.rmk: Build rule updates.
9418 * conf/common.rmk: Likewise.
9419 * conf/i386-coreboot.rmk: Likewise.
9420 * conf/i386-efi.rmk: Likewise.
9421 * conf/i386-ieee1275.rmk: Likewise.
9422 * conf/i386-pc.rmk: Likewise.
9423 * conf/powerpc-ieee1275.rmk: Likewise.
9424 * conf/x86_64-efi.rmk: Likewise.
9425
9426 * configure.ac: Configure check for flex.
9427
9428 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9429 types.
9430 (grub_lexer_param): Struct member updates.
9431 (grub_parser_param): Likewise.
9432 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9433 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9434 (grub_script_lexer_init): Prototype update.
9435 (grub_script_lexer_record_start): Likewise.
9436 (grub_script_lexer_record_stop): Likewise.
9437 (grub_script_lexer_yywrap): New function prototype.
9438 (grub_script_lexer_fini): Likewise.
9439 (grub_script_execute_argument_to_string): Removed by...
9440 (grub_script_execute_argument_to_argv): ...better version.
9441
9442 * script/execute.c (ROUND_UPTO): New macro.
9443 (grub_script_execute_cmdline): Out of memory fixes.
9444 (grub_script_execute_menuentry): Likewise.
9445 (grub_script_execute_argument_to_string): Removed. Update all
9446 users by...
9447 (grub_script_execute_argument_to_argv): ...better version.
9448 * script/function.c (grub_script_function_create): Use
9449 grub_script_execute_argument_to_argv instead of
9450 grub_script_execute_argument_to_string.
9451
9452 * script/lexer.c (check_varstate): Removed.
9453 (check_textstate): Removed.
9454 (grub_script_lexer_record_start): Likewise.
9455 (grub_script_lexer_record_stop): Likewise.
9456 (recordchar): Replaced with...
9457 (grub_script_lexer_record): ...new function.
9458 (nextchar): Removed.
9459 (grub_script_lexer_init): Rewritten.
9460 (grub_script_yylex): Rewritten.
9461 (append_newline): New function.
9462 (grub_script_lexer_yywrap): New function.
9463 (grub_script_lexer_fini): New function.
9464 (grub_script_yyerror): Sets error flag.
9465
9466 * script/yylex.l: New file.
9467 (grub_lexer_yyfree): Wrapper for flex yyffre.
9468 (grub_lexer_yyalloc): Likewise.
9469 (grub_lexer_yyrealloc): Likewise.
9470 * script/parser.y: Refactored.
9471
9472 * script/script.c (grub_script_arg_add): Out of memory fixes.
9473 (grub_script_add_arglist): Likewise.
9474 (grub_script_create_cmdline): Likewise.
9475 (grub_script_create_cmdmenu): Likewise.
9476 (grub_script_add_cmd): Likewise.
9477 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9478 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9479 unnecessary code.
9480
9481 * tests/grub_script_echo1.in: New testcase.
9482 * tests/grub_script_vars1.in: New testcase.
9483 * tests/grub_script_echo_keywords.in: New testcase.
9484
9485 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 Remove some redundancy in build system.
9488
9489 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9490 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9491 (TARGET_LDFLAGS): Add -nostdlib.
9492 (TARGET_IMG_LDFLAGS): Likewise.
9493 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9494 anything since mmap isn't available.
9495 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9496 Add util/time.c.
9497 (pkglib_MODULES): Remove reboot.mod.
9498 (reboot_mod_SOURCES): Removed.
9499 (reboot_mod_CFLAGS): Likewise.
9500 (reboot_mod_LDFLAGS): Likewise.
9501 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9502 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9503 (DEFSYMFILES): Add kernel_syms.lst.
9504 (kernel_img_HEADERS): Add common headers.
9505 (symlist.c): New target.
9506 (kernel_syms.lst): Likewise.
9507 (pkglib_MODULES): Add memdisk.mod.
9508 (memdisk_mod_SOURCES): New variable.
9509 (memdisk_mod_CFLAGS): Likewise.
9510 (memdisk_mod_LDFLAGS): Likewise.
9511 (pkglib_MODULES): Add reboot.mod.
9512 (reboot_mod_SOURCES): New variable.
9513 (reboot_mod_CFLAGS): Likewise.
9514 (reboot_mod_LDFLAGS): Likewise.
9515 (pkglib_MODULES): Add date.mod.
9516 (date_mod_SOURCES): New variable.
9517 (date_mod_CFLAGS): Likewise.
9518 (date_mod_LDFLAGS): Likewise.
9519 (pkglib_MODULES): Add datehook.mod.
9520 (datehook_mod_SOURCES): New variable.
9521 (datehook_mod_CFLAGS): Likewise.
9522 (datehook_mod_LDFLAGS): Likewise.
9523 (pkglib_MODULES): Add lsmmap.mod.
9524 (lsmmap_mod_SOURCES): New variable.
9525 (lsmmap_mod_CFLAGS): Likewise.
9526 (lsmmap_mod_LDFLAGS): Likewise.
9527 (pkglib_MODULES): Add boot.mod.
9528 (boot_mod_SOURCES): New variable.
9529 (boot_mod_CFLAGS): Likewise.
9530 (boot_mod_LDFLAGS): Likewise.
9531 * conf/i386-coreboot.rmk: Removed redundant parts.
9532 * conf/i386-ieee1275.rmk: Likewise.
9533 * conf/i386-pc.rmk: Likewise.
9534 * conf/mips-yeeloong.rmk: Likewise.
9535 * conf/mips.rmk: Likewise.
9536 * conf/powerpc-ieee1275.rmk: Likewise.
9537 * conf/sparc64-ieee1275.rmk: Likewise.
9538 * conf/x86_64-efi.rmk: Likewise.
9539 * conf/i386-coreboot.rmk: Moved qemu parts ..
9540 * conf/i386-qemu.rmk: ... here
9541 * conf/i386-efi.rmk: Moved common parts to...
9542 * conf/x86-efi.rmk: ... here.
9543 * conf/i386.rmk: Added modules common to all x86 variants.
9544 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9545 * disk/memdisk.c: Remove grub/machine/kernel.h.
9546 * gensymlist.sh.in: Include symbol.h.
9547 * hook/datehook.c: Correct module name.
9548 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9549 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9550 * include/grub/i386/efi/serial.h: New file.
9551 * include/grub/x86_64/efi/serial.h: Likewise.
9552 * util/time.c: Likewise.
9553 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9554
9555 2010-03-14 Colin King <colin.king@ubuntu.com>
9556 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9557
9558 Shrink the pre-partition-table part of boot.img by eight bytes.
9559
9560 * boot/i386/pc/boot.S (ERR): New macro.
9561 (chs_mode): Use ERR.
9562 (geometry_error): Likewise.
9563 (hd_probe_error): Remove. This is only used once, so we wrwite
9564 it inline instead.
9565 (read_error): Instead of printing read_error_string, just set up
9566 %si and fall through to ...
9567 (error_message): ... this new function, also used by ERR.
9568
9569 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9570
9571 Speed up consecutive hostdisk operations on the same device.
9572
9573 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9574 (grub_util_biosdisk_open): Initialise disk->data.
9575 (struct linux_partition_cache): New structure.
9576 (linux_find_partition): Cache partition start positions; these are
9577 expensive to compute on every read and write.
9578 (open_device): Cache open file descriptor in disk->data, so that we
9579 don't have to reopen it and flush the buffer cache for consecutive
9580 operations on the same device.
9581 (grub_util_biosdisk_close): New function.
9582 (grub_util_biosdisk_dev): Set `close' member.
9583
9584 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9585 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9586 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9587 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9588 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9589
9590 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 Compile parts of grub-emu as modules.
9593
9594 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9595 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9596 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9597 (all-local): Add $(GRUB_EMU).
9598 (install-local): Install $(GRUB_EMU).
9599 (uninstall): Uninstall $(GRUB_EMU).
9600 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9601 * kern/dl.c: Likewise.
9602 * commands/sleep.c: Not include machine/time.h.
9603 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9604 (COMMON_CFLAGS): Likewise.
9605 (sbin_UTILITIES): Remove grub-emu.
9606 (grub_emu_SOURCES): Removed.
9607 (kernel_img_RELOCATABLE): New variable.
9608 (pkglib_PROGRAMS): Add kernel.img.
9609 (kernel_img_SOURCES): New variable
9610 (kernel_img_CFLAGS): Likewise.
9611 (kernel_img_LDFLAGS): Likewise.
9612 (TARGET_NO_STRIP): Likewise.
9613 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9614 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9615 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9616 (grub-emu): New target.
9617 (GRUB_EMU): New variable.
9618 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9619 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9620 * loader/xnu.c: Likewise.
9621 * include/grub/pci.h: Likewise.
9622 * genemuinit.sh: New file.
9623 * genemuinitheader.sh: Likewise.
9624 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9625 Support TARGET_NO_DYNAMIC_MODULES.
9626 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9627 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9628 * disk/loopback.c: Likewise.
9629 * font/font_cmd.c: Likewise.
9630 * partmap/acorn.c: Likewise.
9631 * partmap/amiga.c: Likewise.
9632 * partmap/apple.c: Likewise.
9633 * partmap/gpt.c: Likewise.
9634 * partmap/msdos.c: Likewise.
9635 * partmap/sun.c: Likewise.
9636 * parttool/msdospart.c: Likewise.
9637 * term/gfxterm.c: Likewise.
9638 * video/bitmap.c: Likewise.
9639 * video/readers/jpeg.c: Likewise.
9640 * video/readers/png.c: Likewise.
9641 * video/readers/tga.c: Likewise.
9642 * video/video.c: Likewise.
9643 * util/grub-emu.c (read_command_list): Removed.
9644 (main): Don't call util_init_nls.
9645 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9646 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9647
9648 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9651 date.mod, datehook.mod.
9652 (datetime_mod_SOURCES): New variable.
9653 (datetime_mod_CFLAGS): Likewise.
9654 (datetime_mod_LDFLAGS): Likewise.
9655 (date_mod_SOURCES): Likewise.
9656 (date_mod_CFLAGS): Likewise.
9657 (date_mod_LDFLAGS): Likewise.
9658 (datehook_mod_SOURCES): Likewise.
9659 (datehook_mod_CFLAGS): Likewise.
9660 (datehook_mod_LDFLAGS): Likewise.
9661 * conf/sparc64-ieee1275.rmk: Likewise.
9662 * lib/ieee1275/datetime.c: New file.
9663
9664 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9667 (ieee1275_fb_mod_SOURCES): New variable.
9668 (ieee1275_fb_mod_CFLAGS): Likewise.
9669 (ieee1275_fb_mod_LDFLAGS): Likewise.
9670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9671 New proto.
9672 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9673 (HEAP_MAX_ADDR): Likewise.
9674 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9675 type.
9676 Correct stop condition.
9677 (grub_ieee1275_devices_iterate): New function.
9678 * video/ieee1275.c: New file.
9679
9680 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9683
9684 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9685 as scratch.
9686 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9687 SCRATCH_PAD_DISKBOOT as scratch.
9688 (bootit): Pass Openfirmware pointer in %o4.
9689 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9690 of 0x200000.
9691 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9692 with util/grub-mkrawimage.c.
9693 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9694 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9695 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9696 (grub_aout_load) [GRUB_UTIL]: Likewise.
9697 * include/grub/kernel.h (grub_modules_get_end): New proto.
9698 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9699 (SCRATCH_PAD_BOOT): New definition.
9700 (SCRATCH_PAD_DISKBOOT): Likewise.
9701 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9702 * include/grub/sparc64/ieee1275/ieee1275.h
9703 (grub_ieee1275_original_stack): New variable
9704 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9705 New definition
9706 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9707 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9708 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9709 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9710 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9711 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9712 (grub_platform_image_format_t): New type.
9713 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9714 * kern/main.c (grub_modules_get_end)
9715 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9716 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9717 (codestart): Switch stacks.
9718 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9719 variable.
9720 (grub_heap_init): Use grub_modules_get_end.
9721 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9722 stack.
9723 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9724 (main): Likewise.
9725 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9726
9727 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9728
9729 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9730
9731 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9732
9733 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9734 bug #559005).
9735
9736 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * genmoddep.awk: Output all missing symbols and not only first.
9739
9740 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * NEWS: Put the date of 1.98 release.
9743
9744 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9747 ft2build.h.
9748
9749 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9752 completition in the middle of string.
9753
9754 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * util/grub-mkrescue.in: Use mktemp with explicit template.
9757
9758 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9761
9762 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9765 right pointer.
9766
9767 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 Fix FreeBSD compilation.
9770
9771 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9772 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9773
9774 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9777
9778 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9781
9782 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9785
9786 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9787
9788 Support relative image path in theme file.
9789
9790 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9791 (image_set_property): Handle theme_dir and relative path.
9792
9793 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * configure.ac: Alias amd64 to x86_64.
9796
9797 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * NEWS: mention multiboot on EFI.
9800
9801 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * kern/main.c (grub_load_modules): Handle errors from init functions of
9804 embeded modules.
9805
9806 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * normal/autofs.c (autoload_fs_module): Handle errors.
9809
9810 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 Disable linux.mod on qemu-mips since it's not functional and leads
9813 to compilation failure.
9814
9815 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9816 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9817 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9818 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9819 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9820 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9821 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9822 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9823 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9824 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9825 Reported by: BVK Chaitanya
9826
9827 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9828
9829 * INSTALL: Add gettext as a dependency and add qemu to a new section
9830 "Prerequisites for make-check".
9831
9832 2010-03-04 Christian Franke <franke@computer.org>
9833
9834 * util/grub-pe2elf.c: Add missing include "progname.h".
9835
9836 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * normal/crypto.c (read_crypto_list): Fix a typo.
9839 Reported by: Seth Goldberg.
9840
9841 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
9844 Reported by: Seth Goldberg.
9845
9846 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9849 ascii.bitmaps.
9850
9851 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * genmk.rb: Remove terminal*.lst in make clean.
9854 Reported by: Seth Goldberg.
9855
9856 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * util/i386/efi/grub-install.in: Copy gettext files.
9859
9860 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9863
9864 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Wait for user entry basing on presence of output rather than on errors.
9867
9868 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9869 (grub_install_newline_hook): Likewise.
9870 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9871 * normal/menu.c (show_menu): Check line_counter to determine presence
9872 of output.
9873 * normal/term.c (grub_normal_line_counter): New variable.
9874 (grub_normal_get_line_counter): New function.
9875 (grub_install_newline_hook): Likewise.
9876
9877 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9880
9881 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * configure.ac: Update version to 1.98.
9884
9885 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/grub.d/10_linux.in (linux_entry): Don't default to
9888 gfxpayload=keep if Linux doesn't support video handover.
9889
9890 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Don't compile video modules on yeeloong since video subsystem is part
9893 of kernel.
9894
9895 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9896 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9897 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9898 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9899 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9900 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9901 * include/grub/bitmap_scale.h: Likewise.
9902 * include/grub/bufio.h: Likewise.
9903 * include/grub/font.h: Likewise.
9904 * include/grub/gfxterm.h: Likewise.
9905 * include/grub/video.h: Likewise.
9906 * include/grub/vbe.h: Don't include video_fb.h.
9907 * video/i386/pc/vbe.c: Include video_fb.h.
9908 * commands/i386/pc/vbetest.c: Include video.h.
9909
9910 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9911
9912 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9913 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9914 default entry if GRUB_SAVEDEFAULT=true. This allows using
9915 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9916 saving a new default on every boot.
9917
9918 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9921 * normal/term.c (read_terminal_list): Likewise.
9922 * normal/main.c (grub_normal_init_page): Likewise.
9923 (grub_normal_read_line_real): Likewise.
9924
9925 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9928 memory leak.
9929 Reported by: Seth Goldberg.
9930
9931 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9932
9933 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9934 duplicate declaration of `start'.
9935
9936 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9939 filename.
9940 Reported by: Georgy Buranov
9941
9942 2010-02-20 Carles Pina i Estany <carles@pina.cat>
9943
9944 * util/grub-mkrawimage.c (usage): Change string formatting to
9945 improve gettext.
9946
9947 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9948
9949 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9950 backspace keys.
9951
9952 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9955 Reported by: Michael Suchanek.
9956
9957 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
9958
9959 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9960 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9961
9962 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 Remove any reference to non-free fonts.
9965
9966 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9967 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9968 uses non-free components.
9969 * font/font.c (grub_font_get_name): Remove example name.
9970 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9971 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9972 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9973 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9974
9975 2010-02-16 Georgy Buranov <gburanov@gmail.com>
9976
9977 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9978
9979 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9982 Double divisor.
9983 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9984 features.
9985 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9986
9987 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9990
9991 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9992
9993 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9994 * docs/grub.texi (Command-line and menu entry commands): Document play
9995 command.
9996
9997 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9998
9999 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10000 parse arguments as inline tempo and notes. Move code for playing notes
10001 to...
10002 (play): ... new function.
10003
10004 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10005
10006 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10007 grub_uint16_t instead of short.
10008 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10009 disk from little endian to cpu endianness.
10010
10011 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10012
10013 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10014 GRUB_TICKS_PER_SECOND instead of 120.
10015
10016 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10019 escape sequence after \e.
10020
10021 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10024 non-ASCII characters.
10025
10026 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10029 set root in single quotes to prevent \, from being unescaped.
10030
10031 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 Prevent unknown commands from stopping menuentry execution.
10034
10035 * script/execute.c (grub_script_execute_cmdline): Print error after
10036 unknown command.
10037
10038 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10041 Reported by: Pavel Pisa.
10042
10043 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10046
10047 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Merge grub_ieee1275_map_physical into grub_map and rename to
10050 grub_ieee1275_map
10051
10052 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10053 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10054 Remove.
10055 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10056 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10057 necessary.
10058 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10059
10060 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10063 opening and not after.
10064
10065 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10068 constants.
10069
10070 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10073 (alloc_phys): Use ALIGN_UP instead of align_addr.
10074
10075 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10078
10079 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10082
10083 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10086 verbose dprintf.
10087
10088 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Fix over-4GiB seek on sparc64.
10091
10092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10093 Replace pos_i and pos_lo with pos. All users updated.
10094 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10095 New constant.
10096 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10097 Likewise.
10098 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10099 and pos_lo.
10100
10101 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * util/grub-mkrawimage.c (main): Call set_program_name.
10104
10105 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 Properly align 64-bit targets.
10108
10109 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10110 (generate_image): Use ALIGN_ADDR.
10111
10112 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 Properly create cross-endian images.
10115
10116 * include/grub/types.h (grub_host_to_target_addr): New macro
10117 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10118
10119 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10122
10123 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10126
10127 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10128 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10129 (grub_linux_boot): Divide by 64K when on VESA.
10130
10131 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Support GRUB_GFXPAYLOAD_LINUX.
10134
10135 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10136 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10137
10138 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10141 to show messages instead of discarding them.
10142 Process errors after executing command and not before. Keep old method
10143 too as precaution.
10144
10145 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * configure.ac: Check for ft2build.h.
10148
10149 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10152
10153 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * genkernsyms.sh.in: Use TARGET_CC.
10156
10157 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10158
10159 * NEWS: Update.
10160
10161 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * include/grub/multiboot2.h: Remove leftover file.
10164 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10165 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10166
10167 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10168
10169 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10170
10171 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 Fix warnings in grub-emu when compiling with maximum warning options.
10174
10175 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10176 (grub_arch_modules_addr): Return 0 and not NULL.
10177 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10178 (xstrdup): Use newstr instead of dup.
10179 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10180 of disk to dsk to avoid shadowing.
10181 (find_free_slot): Fix prototype.
10182 * util/getroot.c (grub_util_is_dmraid): Make static.
10183 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10184 Add missing prototype.
10185 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10186
10187 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10190 appropriately.
10191
10192 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10195 code out.
10196
10197 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10200 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10201 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10202 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10203 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10204 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10205
10206 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * include/grub/err.h (grub_err_printf): Don't export.
10209
10210 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10213
10214 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10217 * kern/misc.c (grub_gettext_dummy): Make static.
10218
10219 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10222 by non-valid ones.
10223 * kern/term.c (grub_putchar): Likewise.
10224
10225 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10228 buggy hook call and memory leak.
10229
10230 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10233
10234 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10237
10238 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10241 modevar.
10242 Return grub_errno on allocation error.
10243
10244 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10247
10248 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10249
10250 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10251 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10252
10253 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10256 non-pxe disk.
10257 (grub_pxefs_open): Likewise.
10258
10259 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10260
10261 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10262 * util/grub.d/10_kfreebsd.in: Likewise.
10263 * util/grub.d/10_linux.in: Likewise.
10264
10265 2010-02-06 Colin D Bennett <colin@gibibit.com>
10266
10267 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10268 (gfxmenu_mod_SOURCES): New variable.
10269 (gfxmenu_mod_CFLAGS): Likewise.
10270 (gfxmenu_mod_LDFLAGS): Likewise.
10271 * include/grub/term.h (grub_term_set_current_output): Declare
10272 argument as const.
10273 * docs/gfxmenu-theme-example.txt: New file.
10274 * gfxmenu/gfxmenu.c: Likewise.
10275 * gfxmenu/gui_box.c: Likewise.
10276 * gfxmenu/gui_canvas.c: Likewise.
10277 * gfxmenu/gui_circular_progress.c: Likewise.
10278 * gfxmenu/gui_image.c: Likewise.
10279 * gfxmenu/gui_label.c: Likewise.
10280 * gfxmenu/gui_list.c: Likewise.
10281 * gfxmenu/gui_progress_bar.c: Likewise.
10282 * gfxmenu/gui_string_util.c: Likewise.
10283 * gfxmenu/gui_util.c: Likewise.
10284 * gfxmenu/icon_manager.c: Likewise.
10285 * gfxmenu/model.c: Likewise.
10286 * gfxmenu/named_colors.c: Likewise.
10287 * gfxmenu/theme_loader.c: Likewise.
10288 * gfxmenu/view.c: Likewise.
10289 * gfxmenu/widget-box.c: Likewise.
10290 * include/grub/gfxmenu_model.h: Likewise.
10291 * include/grub/gfxmenu_view.h: Likewise.
10292 * include/grub/gfxwidgets.h: Likewise.
10293 * include/grub/gui.h: Likewise.
10294 * include/grub/gui_string_util.h: Likewise.
10295 * include/grub/icon_manager.h: Likewise.
10296
10297 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Agglomerate scrolling in gfxterm.
10300
10301 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10302 (grub_virtual_screen_setup): Initialise 'total_screen'.
10303 (write_char): Split to ...
10304 (paint_char): ... this ...
10305 (write_char): ... and this.
10306 (paint_char): Handle delayed scrolling.
10307 (draw_cursor): Likewise.
10308 (scroll_up): Split to ...
10309 (real_scroll): ... this ...
10310 (scroll_up): ... and this.
10311 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10312 characters.
10313 (grub_gfxterm_refresh): Call real_scroll.
10314
10315 2010-02-06 Colin D Bennett <colin@gibibit.com>
10316
10317 * include/grub/misc.h (grub_iscntrl): New inline function.
10318 (grub_isalnum): Likewise.
10319 (grub_strtol): Likewise.
10320
10321 2010-02-06 Colin D Bennett <colin@gibibit.com>
10322
10323 * normal/menu_text.c (get_entry_number): Move from here ...
10324 * normal/menu.c (get_entry_number): ... moved here.
10325 * include/grub/menu.h (grub_menu_get_default_entry_index):
10326 New prototype.
10327 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10328 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10329 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10330 (grub_menu_viewer_should_return): Likewise.
10331 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10332 * normal/menu_text.c (run_menu): Enable menu switching.
10333 * normal/menu_viewer.c (should_return): New variable.
10334 (menu_viewer_changed): Likewise.
10335 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10336 (grub_menu_viewer_should_return): New function.
10337 (menuviewer_write_hook): Likewise.
10338 (grub_menu_viewer_init): Likewise.
10339
10340 2010-02-06 Colin D Bennet <colin@gibibit.com>
10341 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 Support for gfxterm in a window.
10344
10345 * include/grub/gfxterm.h: New file.
10346 * include/grub/video.h (struct grub_video_rect): New declaration.
10347 (grub_video_rect_t): Likewise.
10348 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10349 (refcount): New variable.
10350 (render_target): Likewise.
10351 (window): Likewise.
10352 (repaint_callback): Likewise.
10353 (grub_virtual_screen_setup): Use 'render_target'.
10354 (init_window): New function.
10355 (grub_gfxterm_init_window): Likewise.
10356 (grub_gfxterm_init): Check reference counter.
10357 Use init_window.
10358 (destroy_window): New function.
10359 (grub_gfxterm_destroy_window): Likewise.
10360 (grub_gfxterm_fini): Check reference counter.
10361 Use destroy_window.
10362 (redraw_screen_rect): Restore viewport.
10363 Use 'render_target' and 'window'.
10364 Call 'repaint_callback'.
10365 (write_char): Use 'render_target'.
10366 (draw_cursor): Likewise.
10367 (scroll_up): Restore viewport.
10368 Use 'render_target' and 'window'.
10369 Call 'repaint_callback'.
10370 (grub_gfxterm_cls): Likewise.
10371 (grub_gfxterm_refresh): Use 'window'.
10372 (grub_gfxterm_set_repaint_callback): New function.
10373 (grub_gfxterm_background_image_cmd): Use 'window'.
10374 (grub_gfxterm_get_term): New function.
10375 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10376
10377 2010-02-06 Colin D Bennett <colin@gibibit.com>
10378
10379 Bitmap scaling support.
10380
10381 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10382 (bitmap_scale_mod_SOURCES): New variable.
10383 (bitmap_scale_mod_CFLAGS): Likewise.
10384 (bitmap_scale_mod_LDFLAGS): Likewise.
10385 * include/grub/bitmap_scale.h: New file.
10386 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10387 (background_image_cmd_options): New variable.
10388 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10389 (cmd): Rename and change type to ...
10390 (background_image_cmd_handle): ... this. All users updated.
10391 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10392 * video/bitmap_scale.c: New file.
10393
10394 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 SDL support.
10397
10398 * Makefile.in (LIBSDL): New variable.
10399 (enable_grub_emu_sdl): Likewise.
10400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10401 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10402 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10403 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10404 * util/sdl.c: New file.
10405
10406 2010-02-06 Colin D Bennett <colin@gibibit.com>
10407 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 Double buffering support.
10410
10411 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10412 * include/grub/video.h: Update comment.
10413 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10414 New type.
10415 (grub_video_fb_doublebuf_blit_init): New prototype.
10416 * term/gfxterm.c (scroll_up): Support double buffering.
10417 (grub_gfxterm_refresh): Likewise.
10418 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10419 (grub_video_fb_doublebuf_blit_init): Likewise.
10420 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10421 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10422 'displayed_page', 'render_page' and 'update_screen'.
10423 (grub_video_vbe_fini): Free offscreen buffer.
10424 (doublebuf_pageflipping_commit): New function.
10425 (doublebuf_pageflipping_update_screen): Likewise.
10426 (doublebuf_pageflipping_init): Likewise.
10427 (double_buffering_init): Likewise.
10428 (grub_video_vbe_setup): Enable doublebuffering.
10429 (grub_video_vbe_swap_buffers): Implement.
10430 (grub_video_vbe_set_active_render_target): Handle double buffering.
10431 (grub_video_vbe_get_active_render_target): Likewise.
10432 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10433 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10434 (grub_video_vbe_enable_double_buffering): Likewise.
10435 (grub_video_vbe_swap_buffers): Use update_screen.
10436 (grub_video_set_mode): Use double buffering.
10437
10438 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10439
10440 * maintainance/gentrigtables.py: Remove.
10441 * lib/trig.c: Likewise.
10442
10443 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10444
10445 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10446 `trigtables.c'.
10447 (trigtables.c): New rule.
10448 (gentrigtables): Likewise.
10449 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10450
10451 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10452
10453 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10454 integer constants.
10455
10456 2010-02-06 Colin D Bennet <colin@gibibit.com>
10457
10458 Trigonometry support.
10459
10460 * include/grub/trig.h: New file.
10461 * lib/trig.c: Likewise.
10462 * maintainance/gentrigtables.py: Likewise.
10463 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10464 (trig_mod_SOURCES): New variable.
10465 (trig_mod_CFLAGS): Likewise.
10466 (trig_mod_LDFLAGS): Likewise.
10467
10468 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10471 disk devices.
10472
10473 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10476 error.
10477
10478 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * util/hostdisk.c (open_device): Don't use partition device when reading
10481 before the partition.
10482 (grub_util_biosdisk_read): Don't read from partition and before the
10483 partition in single operation.
10484 (grub_util_biosdisk_write): Don't write to partition and before the
10485 partition in single operation.
10486
10487 2010-02-03 Torsten Landschoff <torsten@debian.org>
10488
10489 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10490 last sectors.
10491
10492 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10495 CDROM reads.
10496 (grub_biosdisk_write): Refuse to write to CDROM.
10497
10498 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10501
10502 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * font/font.c (find_glyph): Check that bmp_idx is available before
10505 using it.
10506 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10507 with (font == NULL).
10508
10509 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10510
10511 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10512
10513 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10514
10515 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10516 * util/grub-script-check.c (getline): Fix empty lines case.
10517
10518 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10519
10520 * Makefile.in (check): Exit with fail status when one of the tests
10521 fails.
10522 * tests/example_functional_test.c (example_test): Fix reversed assert.
10523 * tests/example_unit_test.c (example_test): Likewise.
10524
10525 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10526
10527 * util/grub.d/10_linux.in: This script does not use any of the
10528 contents of gettext.sh, only the external command `gettext', so stop
10529 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10530 the same prefix as GRUB.)
10531 * util/grub.d/10_kfreebsd.in: Likewise.
10532
10533 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10536 of the line.
10537
10538 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10541 last sectors.
10542
10543 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10546 having a 4KiB and not 32KiB buffer size.
10547
10548 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10549
10550 * util/hostfs.c: Include `<errno.h>'.
10551 (grub_hostfs_read): Handle errors from fseeko() and fread().
10552
10553 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10554
10555 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10556 loop when using read hooks on files whose size isn't sector-aligned.
10557
10558 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10559
10560 Remove unused parameter.
10561
10562 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10563 (grub_iso9660_open): Remove initialization of `data->length'.
10564
10565 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10566
10567 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10568 memleak conditions.
10569
10570 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10571
10572 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10573 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10574
10575 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10576
10577 * util/bin2h.c (usage): Fix warning (space after backslash).
10578
10579 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10580
10581 * font/font.c: Include `grub/fontformat.h.
10582 Remove font file format constants.
10583 (grub_font_load): Use the new macros.
10584 * include/grub/fontformat.h: New file.
10585 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10586 (write_font_pf2): Use the new macros.
10587
10588 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10589
10590 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10591 does.
10592
10593 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10594
10595 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10596
10597 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10598 (_start): Macroify `0x7F'.
10599
10600 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10601 (make_install_device): Use "(pxe)" as fallback prefix when booting
10602 via PXE.
10603
10604 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * configure.ac: Reset LIBS after check for libgcc symbols.
10607
10608 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10609
10610 * util/hostdisk.c (open_device): Add trailing newline to debug
10611 message.
10612
10613 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10614
10615 * configure.ac: Check for `limits.h'.
10616 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10617
10618 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10619
10620 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10621 capitalize error strings.
10622
10623 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10624
10625 * util/grub.d/10_hurd.in: Add a recovery mode.
10626
10627 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * configure.ac: Check for libgcc symbols with -nostdlib.
10630
10631 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10632
10633 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10634
10635 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10638 stack since heap may be unavailable at that point.
10639 (grub_ofconsole_gotoxy): Likewise.
10640
10641 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * configure.ac: Check for _restgpr_14_x.
10644 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10645 and _savegpr_* prototypes.
10646
10647 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10648
10649 Use generic grub_reboot() for i386-efi.
10650
10651 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10652 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10653 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10654
10655 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10658 presence of "prefix" variable as it breaks when normal.mod is
10659 embedded.
10660
10661 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10664 stack since heap is unavailable at that point.
10665
10666 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10669 (grub_freebsd_bootinfo): Rewritten.
10670 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10671
10672 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10675
10676 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10677
10678 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10679 domain now.
10680
10681 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10682
10683 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10684 around for handling "/" to the correct fix. Fix a memory leak. Use
10685 xstrdup instead of strdup.
10686
10687 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10690
10691 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10694
10695 * font/font.c (struct grub_font): New member 'bmp_idx'.
10696 (font_init): Initialise 'bmp_idx'.
10697 (load_font_index): Fill 'bmp_idx'.
10698 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10699
10700 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10703 unnecessary calls.
10704
10705 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Move context handling out of the kernel.
10708
10709 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10710 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10711 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10712 * conf/i386-efi.rmk: Likewise.
10713 * conf/i386-ieee1275.rmk: Likewise.
10714 * conf/i386-pc.rmk: Likewise.
10715 * conf/powerpc-ieee1275.rmk: Likewise.
10716 * conf/sparc64-ieee1275.rmk: Likewise.
10717 * conf/x86_64-efi.rmk: Likewise.
10718 * include/grub/env.h: Include grub/menu.h.
10719 (grub_env_var_type): Removed.
10720 (grub_env_var): Replaced field 'type' with 'global'.
10721 (grub_env_find): New prototype.
10722 (grub_env_context_open): Remove EXPORT_FUNC.
10723 (grub_env_context_close): Likewise.
10724 (grub_env_export): Likewise.
10725 (grub_env_set_data_slot): Removed.
10726 (grub_env_get_data_slot): Likewise.
10727 (grub_env_unset_data_slot): Likewise.
10728 (grub_env_unset_menu): New prototype.
10729 (grub_env_set_menu): Likewise.
10730 (grub_env_get_menu): Likewise.
10731 * include/grub/env_private.h: New file.
10732 * include/grub/normal.h (grub_context_init): New prototype.
10733 (grub_context_fini): Likewise.
10734 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10735 * normal/context.c (grub_cmd_export): ... to here.
10736 * kern/env.c: Include env_private.h.
10737 (HASHSZ): Moved to include/grub/env_private.h.
10738 (grub_env_context): Likewise.
10739 (grub_env_sorted_var): Likewise.
10740 (current_context): Renamed from this ...
10741 (grub_current_context): ...to this. 'static' removed. All users updated.
10742 (grub_env_find): Removed 'static'.
10743 (grub_env_context_open): Moved to normal/context.c.
10744 (grub_env_context_close): Likewise.
10745 (grub_env_export): Likewise.
10746 (mangle_data_slot_name): Removed.
10747 (grub_env_set_data_slot): Likewise.
10748 (grub_env_get_data_slot): Likewise.
10749 (grub_env_unset_data_slot): Likewise.
10750 * kern/main.c (grub_set_root_dev): Don't export root.
10751 It will be done later.
10752 (grub_main): Don't export prefix.
10753 It will be done later.
10754 * normal/context.c: New file.
10755 * normal/main.c (free_menu): Use grub_env_unset_menu.
10756 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10757 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10758 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10759 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10760
10761 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 setpci support.
10764
10765 * commands/setpci.c: New file.
10766 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10767 (setpci_mod_SOURCES): New variable.
10768 (setpci_mod_CFLAGS): Likewise.
10769 (setpci_mod_LDFLAGS): Likewise.
10770
10771 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 Byte-addressable PCI configuration space.
10774
10775 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10776 dword address.
10777 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10778 GRUB_PCI_REG_CACHELINE.
10779 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10780 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10781 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10782 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10783 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10784 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10785 grub_pci_make_address.
10786 (lock_rom_area): Likewise.
10787 * commands/lspci.c (grub_lspci_iter): Use macroses
10788 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10789 of grub_pci_make_address.
10790 * disk/ata.c (grub_ata_pciinit): Likewise.
10791 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10792 (GRUB_PCI_REG_VENDOR): Likewise.
10793 (GRUB_PCI_REG_DEVICE): Likewise.
10794 (GRUB_PCI_REG_COMMAND): Likewise.
10795 (GRUB_PCI_REG_STATUS): Likewise.
10796 (GRUB_PCI_REG_REVISION): Likewise.
10797 (GRUB_PCI_REG_CLASS): Likewise.
10798 (GRUB_PCI_REG_CACHELINE): Likewise.
10799 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10800 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10801 (GRUB_PCI_REG_BIST): Likewise.
10802 (GRUB_PCI_REG_ADDRESSES): Likewise.
10803 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10804 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10805 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10806 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10807 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10808 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10809 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10810 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10811 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10812 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10813 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10814 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10815 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10816 (GRUB_PCI_REG_MIN_GNT): Likewise.
10817 (GRUB_PCI_REG_MAX_LAT): Likewise.
10818 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10819 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10820 * video/efi_uga.c (find_framebuf): Likewise.
10821 * video/sm712.c (grub_video_sm712_setup): Likewise.
10822 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10823 space.
10824
10825 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10826
10827 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10828 can be reliably determined to be supported.
10829
10830 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10831
10832 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10833 that VESA is supported.
10834 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10835 supported.
10836
10837 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10840
10841 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10842
10843 * util/misc.c (make_system_path_relative_to_its_root): Work around
10844 special-casing of "/", as previous incarnation of this routine did.
10845
10846 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 Fix any-emu compilation.
10849
10850 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10851 * grub_bin2h_SOURCES: New variable.
10852
10853 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10854
10855 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10856
10857 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10858
10859 * util/grub.d/00_header.in: Fix handling of locale_dir.
10860
10861 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10864 as possible unifont location (Gentoo).
10865 Reported by: Alexander Brüning
10866
10867 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 Don't try to generate lists for kernel.img.
10870
10871 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10872 (pkglib_MODULES): Remove kernel.img.
10873 (kernel_img_EXPORTS): Removed.
10874 (kernel_img_RELOCATABLE): New variable.
10875 * conf/x86_64-efi.rmk: Likewise.
10876 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10877
10878 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10881 grub_xasprintf or grub_snprintf.
10882 (grub_vsprintf): Likewise.
10883 (grub_snprintf): New proto.
10884 (grub_vsnprintf): Likewise.
10885 (grub_xasprintf): Likewise.
10886 (grub_xvasprintf): Likewise.
10887 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10888 (grub_sprintf): Removed.
10889 (grub_vsnprintf): New function.
10890 (grub_snprintf): Likewise.
10891 (grub_xvasprintf): Likewise.
10892 (grub_xasprintf): Likewise.
10893 (grub_vsprintf): Renamed to ...
10894 (grub_vsnprintf_real): ...this. New argument max_len.
10895
10896 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10897
10898 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10899 fix grub-script-check warning.
10900
10901 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * include/grub/font.h (grub_font_load): Fix prototype.
10904
10905 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10908
10909 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * include/grub/x86_64/at_keyboard.h: New file.
10912
10913 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 * loader/mips/linux.c: Include missing grub/i18n.h.
10916
10917 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10918
10919 * normal/menu.c (notify_execution_failure): Clarify error message.
10920
10921 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10922
10923 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10924 return value (and revert all return statements). Update users.
10925
10926 2010-01-20 Dan Merillat <debian@dan.merillat.org>
10927
10928 * kern/device.c (grub_device_iterate): Allocate new part_ent
10929 structure based on sizeof (*p) rather than sizeof (p->next), to
10930 account for structure padding.
10931
10932 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10933 disk is NULL, which might happen for LVM physical volumes with no
10934 LVM signature.
10935
10936 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10937
10938 * loader/mips/linux.c (grub_cmd_initrd)
10939 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10940
10941 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10942
10943 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10944 (grub_video_video_init, grub_video_bitmap_init)
10945 (grub_font_manager_init, grub_term_gfxterm_init)
10946 (grub_at_keyboard_init): New extern declarations.
10947 (grub_machine_init): Initialize gfxterm and at_keyboard.
10948
10949 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10950
10951 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10952 `gfxterm.mod' into core image.
10953
10954 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10955 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10956 (kernel_img_FORMAT): Copy to ...
10957
10958 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10959 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10960 (kernel_img_FORMAT): ... here, and ...
10961
10962 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10963 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10964 (kernel_img_FORMAT): ... here.
10965
10966 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10967 and input (at_keyboard) terminals in kernel.
10968 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10969
10970 (pkglib_MODULES): Remove `pci.mod'.
10971 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10972 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10973 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10974 (at_keyboard_mod_LDFLAGS): Remove variables.
10975
10976 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
10977
10978 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10979
10980 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10981
10982 * include/grub/mips/libgcc.h: Only export symbols for functions
10983 that libgcc provides.
10984
10985 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 MIPS support.
10988
10989 * bus/bonito.c: New file.
10990 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10991 GRUB_PCI_NUM_DEVICES.
10992 * term/i386/pc/serial.c: Move to ...
10993 * term/serial.c: ... here. All users updated.
10994 * util/i386/pc/grub-mkimage.c: Move to ...
10995 * util/grub-mkrawimage.c: ... here. All users updated.
10996 * term/i386/pc/at_keyboard.c: Move to ...
10997 * term/at_keyboard.c: ... here. All users updated.
10998 * conf/mips-qemu-mips.rmk: New file.
10999 * conf/mips-yeeloong.rmk: Likewise.
11000 * conf/mips.rmk: Likewise.
11001 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11002 mipsel-qemu-mips.
11003 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11004 to port addresses.
11005 (grub_ata_pciinit): Support CS5536.
11006 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11007 * font/font_cmd.c (loadfont_command): Open file before passing it to
11008 grub_font_load.
11009 (pseudo_file_read): New function.
11010 (pseudo_file_close): Likewise.
11011 (pseudo_fs): New structure.
11012 (load_font_module): New function.
11013 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11014 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11015 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11016 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11017 * include/grub/i386/at_keyboard.h: Split into ...
11018 * include/grub/at_keyboard.h: ... this ...
11019 * include/grub/i386/at_keyboard.h: ... and this.
11020 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11021 New prototype.
11022 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11023 updated.
11024 (grub_elf64_size): Likewise.
11025 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11026 filename.
11027 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11028 * include/grub/i386/coreboot/serial.h: Rewritten.
11029 * include/grub/i386/ieee1275/serial.h: Include
11030 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11031 * include/grub/i386/pc/serial.h: Moved from here ...
11032 * include/grub/serial.h: ... to here. All users updated.
11033 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11034 (GRUB_PCI_NUM_BUS): Likewise.
11035 (GRUB_PCI_NUM_DEVICES): Likewise.
11036 (grub_pci_device_map_range): Add missing volatile keyword.
11037 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11038 * include/grub/mips/at_keyboard.h: New file.
11039 * include/grub/mips/cache.h: Likewise.
11040 * include/grub/mips/io.h: Likewise.
11041 * include/grub/mips/kernel.h: Likewise.
11042 * include/grub/mips/libgcc.h: Likewise.
11043 * include/grub/mips/pci.h: Likewise.
11044 * include/grub/mips/qemu-mips/boot.h: Likewise.
11045 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11046 * include/grub/mips/qemu-mips/loader.h: Likewise.
11047 * include/grub/mips/qemu-mips/memory.h: Likewise.
11048 * include/grub/mips/qemu-mips/serial.h: Likewise.
11049 * include/grub/mips/qemu-mips/time.h: Likewise.
11050 * include/grub/mips/relocator.h: Likewise.
11051 * include/grub/mips/time.h: Likewise.
11052 * include/grub/mips/types.h: Likewise.
11053 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11054 * include/grub/mips/yeeloong/boot.h: Likewise.
11055 * include/grub/mips/yeeloong/kernel.h: Likewise.
11056 * include/grub/mips/yeeloong/loader.h: Likewise.
11057 * include/grub/mips/yeeloong/memory.h: Likewise.
11058 * include/grub/mips/yeeloong/pci.h: Likewise.
11059 * include/grub/mips/yeeloong/serial.h: Likewise.
11060 * include/grub/mips/yeeloong/time.h: Likewise.
11061 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11062 * kern/elf.c (grub_elf32_size): New parameter. All users
11063 updated.
11064 (grub_elf64_size): Likewise.
11065 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11066 Load modules before saying "Welcome to GRUB!".
11067 Call grub_refresh after saying "Welcome to GRUB!".
11068 * kern/mips/cache.S: New file.
11069 * kern/mips/cache_flush.S: Likewise.
11070 * kern/mips/dl.c: Likewise.
11071 * kern/mips/init.c: Likewise.
11072 * kern/mips/qemu-mips/init.c: Likewise.
11073 * kern/mips/startup.S: Likewise.
11074 * kern/mips/yeeloong/init.c: Likewise.
11075 * kern/term.c (grub_putcode): Handle NULL terminal.
11076 (grub_getcharwidth): Likewise.
11077 (grub_getkey): Likewise.
11078 (grub_checkkey): Likewise.
11079 (grub_getkeystatus): Likewise.
11080 (grub_getxy): Likewise.
11081 (grub_getwh): Likewise.
11082 (grub_gotoxy): Likewise.
11083 (grub_cls): Likewise.
11084 (grub_setcolorstate): Likewise.
11085 (grub_setcolor): Likewise.
11086 (grub_getcolor): Likewise.
11087 (grub_refresh): Likewise.
11088 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11089 (write_jump): Add hatch nop.
11090 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11091 * lib/mips/setjmp.S: New file.
11092 * loader/mips/linux.c: Likewise.
11093 * term/i386/pc/at_keyboard.c: Move from here ...
11094 * term/at_keyboard.c: ... to here.
11095 * term/i386/pc/serial.c: Moved from here ...
11096 * term/serial.c: ... to here. All users updated.
11097 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11098 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11099 (serial_translate_key_sequence): Avoid deadlock.
11100 (grub_serial_getkey): Handle backspace.
11101 (grub_serial_putchar): Fix newline handling.
11102 * util/i386/pc/grub-mkimage.c: Move from here ...
11103 * util/grub-mkrawimage.c: ... to here. All users updated.
11104 (generate_image): New parameters 'font_path' and 'format'.
11105 Support embedding font.
11106 Use grub_host_to_target* instead of grub_cpu_to_le*.
11107 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11108 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11109 (options): New option "--font".
11110 (usage): Likewise.
11111 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11112 (main): Handle "--font".
11113 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11114 (grub_virtual_screen_setup): Set bg_color_display.
11115 (redraw_screen_rect): Use bg_color_display instead of incorrect
11116 bg_color.
11117 (grub_gfxterm_cls): Likewise.
11118 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11119 Support embedding config file.
11120 (add_segments): Likewise.
11121 (options): New option "--config".
11122 (main): Handle "--config".
11123 * video/sm712.c: New file.
11124
11125 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11126
11127 Fix parallel builds.
11128
11129 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11130 font.c depend on ascii.h).
11131
11132 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11133
11134 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11135
11136 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11137
11138 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11139 By default: disabled.
11140 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11141 parameter.
11142
11143 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11144
11145 * font/font.c: Update copyright years.
11146 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11147
11148 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11149
11150 * font/font.c: Include `ascii.h'.
11151 (ASCII_BITMAP_SIZE): New macro.
11152 (ascii_font_glyph): Define.
11153 (ascii_glyph_lookup): New function.
11154 (grub_font_get_string_width): Change comment. If glyph not found, use
11155 ascii_glyph_lookup.
11156 (grub_font_get_glyph_with_fallback): If glyph not available returns
11157 ascii_glyph_lookup.
11158 * util/grub-mkfont.c (file_formats): New enum.
11159 (options): Add `ascii-bitmaps' new option.
11160 (usage): Add `asii-bitmaps' new option.
11161 (write_font_ascii_bitmap): New function.
11162 (write_font): Rename to ...
11163 (write_font_p2): ... this. Remove print_glyphs call.
11164 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11165 used. Call print_glyphs.
11166 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11167
11168 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11169
11170 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11171 (grub_bin2h_SOURCES): New variable.
11172 * util/bin2h.c: New file.
11173
11174 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * include/multiboot.h: Resynced with spec.
11177 * include/multiboot2.h: Likewise.
11178 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11179 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11180
11181 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11182
11183 * include/grub/term.h (grub_term_register_input,
11184 grub_term_register_output): Check return of terminal init()
11185 routines, and abort if errors are raised.
11186
11187 * commands/terminal.c: Update copyright year.
11188
11189 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11190
11191 * commands/terminal.c (grub_cmd_terminal_input)
11192 (grub_cmd_terminal_output): Check return of terminal init()
11193 routines, and abort if errors are raised.
11194
11195 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * include/grub/i386/bsd.h: Fix include pathes.
11198
11199 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 Add missing *BSD copyright headers.
11202
11203 * include/grub/aout.h: Add BSD licence.
11204 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11205 * include/grub/i386/freebsd_linker.h: ... here,
11206 * include/grub/i386/freebsd_reboot.h: ... here,
11207 * include/grub/i386/netbsd_bootinfo.h: ... here,
11208 * include/grub/i386/netbsd_reboot.h: ... here,
11209 * include/grub/i386/openbsd_bootarg.h: ... here,
11210 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11211 licence to each file.
11212
11213 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11214
11215 * acinclude.m4: Remove `nop' assembly instruction; it's not
11216 implemented by all architectures.
11217
11218 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11219
11220 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11221 ELILO. This is no longer necessary.
11222
11223 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11224
11225 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11226
11227 * util/grub-script-check.c: grub-script-check tool.
11228 * conf/common.rmk: Make rules for grub-script-check.
11229
11230 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11231
11232 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11233 spotting it back in 2008. Shame on me for forgetting he did.
11234
11235 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11236
11237 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11238
11239 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11240 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11241 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11242 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11243 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11244 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11245
11246 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11247
11248 * include/grub/test.h: Add license header.
11249 * tests/example_functional_test.c: Likewise.
11250 * tests/example_unit_test.c: Likewise.
11251 * tests/lib/functional_test.c: Likewise.
11252 * tests/lib/test.c: Likewise.
11253 * tests/lib/unit_test.c: Likewise.
11254
11255 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 Use flag-based instead of hook-based video mode selection and "auto"
11258 keyword.
11259
11260 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11261 (grub_video_set_mode): Changed prototype. All users updated.
11262 (grub_video_check_mode_flag): New inline function.
11263 * video/video.c (parse_modespec): New function.
11264 (grub_video_set_mode): Parse flags and keywords.
11265
11266 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11267
11268 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11269 fprintf call.
11270
11271 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11272
11273 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11274
11275 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11276
11277 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11278 string.
11279 * util/grub-emu.c (usage): Likewise.
11280 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11281 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11282 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11283 * util/i386/pc/grub-setup.c (usage): Likewise.
11284
11285 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11286
11287 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11288 the message.
11289 (grub_util_info): Likewise.
11290 (grub_util_error): Likewise.
11291 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11292 and/or new lines in `grub_util_warna', `grub_util_info',
11293 `grub_util_error' calls.
11294 * util/getroot.c: Likewise.
11295 * util/grub-editenv.c: Likewise.
11296 * util/grub-emu.c: Likewise.
11297 * util/grub-fstest.c: Likewise.
11298 * util/grub-mkdevicemap.c: Likewise.
11299 * util/grub-mkfont.c: Likewise.
11300 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11301 * util/grub-mkrelpath.c: Likewise.
11302 * util/grub-pe2elf.c: Likewise.
11303 * util/grub-probe.c: Likewise.
11304 * util/hostdisk.c: Likewise.
11305 * util/i386/efi/grub-mkimage.c: Likewise.
11306 * util/i386/pc/grub-mkimage.c: Likewise.
11307 * util/i386/pc/grub-setup.c: Likewise.
11308 * util/ieee1275/ofpath.c: Likewise.
11309 * util/mkisofs/eltorito.c: Likewise.
11310 * util/mkisofs/rock.c: Likewise.
11311 * util/mkisofs/write.c: Likewise.
11312 * util/raid.c: Likewise.
11313 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11314 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11315
11316 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 Enable multiboot on non-pc.
11319
11320 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11321 multiboot.mod and multiboot2.mod to ...
11322 * conf/i386.rmk (pkglib_MODULES): ... here.
11323 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11324 Moved to ...
11325 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11326 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11327 Moved to ...
11328 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11329 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11330 Moved to ...
11331 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11332 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11333 Moved to ...
11334 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11335 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11336 relocator.mod.
11337 (ata_mod_SOURCES): Removed.
11338 (ata_mod_CFLAGS): Likewise.
11339 (ata_mod_LDFLAGS): Likewise.
11340 (relocator_mod_SOURCES): Removed.
11341 (relocator_mod_CFLAGS): Likewise.
11342 (relocator_mod_ASFLAGS): Likewise.
11343 (relocator_mod_LDFLAGS): Likewise.
11344 Include i386.mk.
11345 * include/grub/x86_64/multiboot.h: New file.
11346 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11347 Terminate EFI.
11348
11349 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 Video multiboot support.
11352
11353 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11354 New prototype.
11355 * include/multiboot.h: Resynced with multiboot specification.
11356 * include/multiboot2.h: Likewise.
11357 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11358 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11359 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11360 (HAS_VGA_TEXT): Likewise.
11361 (accepts_video): New variable.
11362 (grub_multiboot_set_accepts_video): New function.
11363 (grub_multiboot_get_mbi_size): Account for video structures.
11364 (set_video_mode): New function.
11365 (retrieve_video_parameters): Likewise.
11366 (grub_multiboot_make_mbi): Fill video fields.
11367
11368 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 Video driver ids.
11371
11372 * include/grub/video.h (grub_video_driver_id): New type.
11373 (grub_video_adapter): New member 'id'. All users updated.
11374 (grub_video_get_driver_id): New proto.
11375 * video/video.c (grub_video_get_driver_id): New function.
11376
11377 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11378
11379 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11380 `var=val'.
11381
11382 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11383
11384 * normal/cmdline.c (print_completion): Gettextizze.
11385
11386 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11387
11388 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11389
11390 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11391
11392 * gettext/gettext.c (grub_gettext_translate): Push and pop
11393 grub_errno.
11394 (grub_gettext_delete_list): Change comment style.
11395 * kern/err.c (grub_error): Gettextizze.
11396 (grub_fatal): Gettextizze.
11397
11398 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11399
11400 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11401 (grub_linux16_real_boot): ... this.
11402 * kern/i386/loader.S: Likewise.
11403 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11404 (grub_linux16_boot): New function. Switches to text mode and calls
11405 grub_linux16_real_boot().
11406
11407 * loader/i386/bsd.c: Include `<grub/video.h>'.
11408 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11409 text mode before calling grub_unix_real_boot().
11410
11411 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11412 (grub_multiboot_boot): Switch to text mode before calling
11413 grub_relocator32_boot().
11414
11415 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11416 (grub_chainloader_boot): Switch to text mode before calling
11417 grub_chainloader_real_boot().
11418
11419 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11420 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11421
11422 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11423 non-empty value.
11424
11425 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11426 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11427
11428 * util/grub.d/00_header.in: Define a "savedefault" function for use
11429 in menu entries.
11430 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11431
11432 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11433 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11434
11435 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11436 saved_entry if boot_once is unset.
11437 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11438 previous saved entry (i.e. grub-reboot).
11439
11440 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11441
11442 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11443
11444 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11447 `var=val'.
11448 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11449
11450 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11451
11452 * util/grub-reboot.in: Fix --version output.
11453 * util/grub-set-default.in: Likewise.
11454
11455 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11456
11457 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11458 blocks.
11459
11460 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11461
11462 * util/grub.d/00_header.in: Quote the value assigned to `default',
11463 in case it contains spaces.
11464
11465 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11466
11467 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11468 `save_default_entry' call from the macosx case to the linux case.
11469
11470 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11471 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11472
11473 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11474 in `chosen' environment variable.
11475 * normal/menu_text.c (get_entry_number): Check if the variable
11476 matches the title of a menu entry.
11477 (run_menu): Pass menu to get_entry_number.
11478
11479 * util/grub-reboot.in: New file.
11480 * util/grub-set-default.in: New file.
11481 * conf/common.rmk (grub-reboot): New utility.
11482 (grub-set-default): New utility.
11483
11484 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11485 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11486 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11487 move it to `saved_entry' for the next boot. Load environment on
11488 initialisation.
11489 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11490 * util/grub.d/10_hurd.in: Likewise.
11491 * util/grub.d/10_linux.in (linux_entry): Likewise.
11492 * util/grub.d/10_windows.in: Likewise.
11493 * util/grub.d/30_os-prober.in: Likewise.
11494
11495 * util/grub-install.in: Create environment block.
11496 * util/i386/efi/grub-install.in: Likewise.
11497 * util/ieee1275/grub-install.in: Likewise.
11498 * util/sparc64/ieee1275/grub-install.in: Likewise.
11499
11500 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11501
11502 Unit testing framework for GRUB.
11503
11504 * Makefile.in: Test framework build rules for 'make check'.
11505 * conf/tests.rmk: Build rules for individual tests and framework.
11506
11507 * include/grub/test.h: Header file for whitebox tests.
11508 * tests/lib/functional_test.c: Framework support for whitebox
11509 functional tests.
11510 * tests/lib/test.c: Common whitebox testing code for unit and
11511 functional tests.
11512 * tests/lib/unit_test.c: Framework support for whitebox unit
11513 tests.
11514
11515 * tests/util/grub-shell-tester.in: Support utility for grub-script
11516 tests.
11517 * tests/util/grub-shell.in: Utility to execute grub-script
11518 commands in a Qemu instance.
11519
11520 * tests/example_functional_test.c: Example whitebox functional
11521 test.
11522 * tests/example_grub_script_test.in: Example grub-script test.
11523 * tests/example_scripted_test.in: Example scripted test.
11524 * tests/example_unit_test.c: Example whitebox unit test.
11525
11526 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11529 Add loader/i386/multiboot_mbi.c.
11530 (multiboot2_mod_SOURCES): Likewise.
11531 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11532 (multiboot2_mod_SOURCES): Likewise.
11533 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11534 (grub_multiboot_make_mbi): Likewise.
11535 (grub_multiboot_free_mbi): Likewise.
11536 (grub_multiboot_init_mbi): Likewise.
11537 (grub_multiboot_add_module): Likewise.
11538 (grub_multiboot_set_bootdev): Likewise.
11539 * loader/i386/multiboot.c (mbi): Removed.
11540 (mbi_dest): Likewise.
11541 (alloc_mbi): New variable.
11542 (grub_multiboot_payload_size): Removed. All users updated.
11543 (grub_multiboot_pure_size): New variable.
11544 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11545 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11546 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11547 (grub_fill_multiboot_mmap): Likewise.
11548 (grub_multiboot_get_bootdev): Likewise.
11549 (grub_multiboot): Use multiboot_mbi functions.
11550 * loader/i386/multiboot_mbi.c: New file.
11551
11552 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11555 it would result in module crash.
11556
11557 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11560 (grub_ofconsole_getwh): Split to ...
11561 (grub_ofconsole_getwh): ... this.
11562 (grub_ofconsole_dimensions): ...and this.
11563 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11564
11565 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11566
11567 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11568
11569 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * loader/i386/pc/multiboot2.c: Removed stalled file.
11572
11573 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11576 Reported by: Grégoire Sutre
11577
11578 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11579
11580 * util/misc.c (canonicalize_file_name): New function.
11581 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11582 instead of realpath().
11583
11584 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11585
11586 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11587 and make it clearer that it's optional. Based on confusion
11588 witnessed on IRC.
11589
11590 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11593 in premature implicit newline.
11594
11595 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11598 which resulted in garbled command line at the end of screen.
11599
11600 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11601
11602 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11603 initialization with similar approach as with other Linux loaders.
11604
11605 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11606
11607 Fix i386-ieee1275 build.
11608
11609 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11610 and grub_term_height() for video_{width,height} initialization.
11611
11612 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11613
11614 Fix grub-emu build.
11615
11616 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11617
11618 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11619 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11620
11621 Support for multiple terminals.
11622
11623 * Makefile.in (pkglib_DATA): terminal.lst.
11624 (terminal.lst): New target.
11625 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11626 (GRUB_MOD_INIT(handler)): Likewise.
11627 (GRUB_MOD_FINI(handler)): Likewise.
11628 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11629 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11630 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11631 (grub_cmd_sleep): Use grub_term_save_pos.
11632 * commands/terminal.c: New file.
11633 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11634 commands/terminal.c and lib/charset.c.
11635 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11636 (pkglib_MODULES): Add terminal.mod.
11637 (terminal_mod_SOURCES): New variable.
11638 (terminal_mod_CFLAGS): Likewise.
11639 (terminal_mod_LDFLAGS): Likewise.
11640 * genhandlerlist.sh: Don't handle terminals.
11641 * genmk.rb: Generate terminal-*.lst.
11642 * genterminallist.sh: New file.
11643 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11644 (grub_is_valid_utf8): Likewise.
11645 (grub_utf8_to_ucs4_alloc): Likewise.
11646 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11647 (grub_menu_register_viewer): Changed argument.
11648 (grub_menu_try_text): New proto.
11649 (grub_gfxmenu_try_hook): New declaration.
11650 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11651 (grub_menu_init_page): Additional argument term.
11652 (grub_normal_init_page): Likewise.
11653 (grub_cmdline_get): Arguments simplified.
11654 (grub_utf8_to_ucs4_alloc): Removed.
11655 (grub_print_ucs4): Additional argument term.
11656 (grub_getstringwidth): Likewise.
11657 (grub_print_message_indented): Likewise.
11658 (grub_menu_text_register_instances): New proto.
11659 (grub_show_menu): Likewise.
11660 (read_terminal_list): Likewise.
11661 (grub_set_more): Likewise.
11662 * include/grub/parser.h: Include handler.h.
11663 * include/grub/reader.h: Rewritten.
11664 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11665 (GRUB_TERM_WIDTH): Changed to function.
11666 (GRUB_TERM_HEIGHT): Likewise.
11667 (GRUB_TERM_BORDER_WIDTH): Likewise.
11668 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11669 (GRUB_TERM_NUM_ENTRIES): Likewise.
11670 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11671 (GRUB_TERM_CURSOR_X): Likewise.
11672 (grub_term_input_class): Likewise.
11673 (grub_term_output_class): Likewise.
11674 (grub_term_outputs_disabled): New declaration.
11675 (grub_term_inputs_disabled): Likewise.
11676 (grub_term_outputs): Likewise.
11677 (grub_term_inputs): Likewise.
11678 (grub_term_register_input): Rewritten.
11679 (grub_term_register_output): Likewise.
11680 (grub_term_unregister_input): Likewise.
11681 (grub_term_unregister_output): Likewise.
11682 (FOR_ACTIVE_TERM_INPUTS): New macro.
11683 (FOR_DISABLED_TERM_INPUTS): Likewise.
11684 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11685 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11686 * include/grub/terminfo.h: Add oterm argument to all protypes.
11687 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11688 Use grub_rescue_run.
11689 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11690 All users updated.
11691 * kern/reader.c: Removed. All users updated.
11692 * kern/rescue_reader.c (grub_rescue_init): Removed.
11693 (grub_rescue_reader): Likewise.
11694 (grub_register_rescue_reader): Likewise.
11695 (grub_rescue_run): New function based on kern/reader.c.
11696 * kern/term.c: Adapted for multiterm.
11697 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11698 (grub_is_valid_utf8): Likewise.
11699 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11700 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11701 right terminal.
11702 * loader/i386/linux.c (grub_linux_boot): Likewise.
11703 * normal/auth.c (grub_username_get): New function.
11704 (grub_auth_check_authentication): Use grub_username_get.
11705 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11706 * normal/color.c: Adapt for multiterm.
11707 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11708 (grub_normal_init_page): Additional argument term.
11709 (read_lists): Call read_terminal_lists.
11710 (grub_enter_normal_mode): Call grub_cmdline_run.
11711 Handle grub_normal_exit_level.
11712 (grub_cmd_normal): Make reentrant.
11713 (grub_cmd_normal_exit): New function.
11714 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11715 * normal/menu.c: Adapt for multiterm.
11716 * normal/menu_entry.c: Likewise.
11717 * normal/menu_text.c: Likewise.
11718 * normal/menu_viewer.c: Removed. All users updated.
11719 * normal/term.c: New file.
11720 * util/console.c: Change order of includes to workaround a bug in
11721 ncurses headers.
11722 * term/terminfo.c: New argument oterm on all exported functions.
11723 All users updated.
11724 * util/grub-editenv.c (grub_term_input_class): Removed.
11725 (grub_term_output_class): Likewise.
11726
11727 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11728
11729 Make loader output a bit more user-friendly.
11730
11731 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11732 is being loaded. Likewise for the Hurd.
11733
11734 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11735 that kernel of FreeBSD ${version} is being loaded.
11736
11737 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11738 grub_dprintf().
11739 (grub_cmd_initrd): Likewise.
11740 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11741 that Linux ${version} is being loaded. Likewise for initrd.
11742
11743 2010-01-09 Carles Pina i Estany <carles@pina.cat>
11744
11745 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11746
11747 2010-01-08 Carles Pina i Estany <carles@pina.cat>
11748
11749 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11750 (GRUB_MOD_INIT): Gettextizze.
11751 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11752 (GRUB_MOD_INIT): Gettextizze.
11753 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11754 (grub_cmd_linux): Capitalise Linux.
11755 (GRUB_MOD_INIT): Gettextizze.
11756 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11757 (grub_cmd_linux): Capitalise Linux.
11758 (GRUB_MOD_INIT): Gettextizze.
11759 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11760 (grub_cmd_linux): Capitalise Linux.
11761 (GRUB_MOD_INIT): Gettextizze.
11762 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11763 (GRUB_MOD_INIT): Gettextizze.
11764 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11765 (grub_cmd_linux): Capitalise Linux.
11766 (GRUB_MOD_INIT): Gettextizze.
11767 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11768 (grub_cpu_xnu_init): Gettextizze.
11769 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11770 (GRUB_MOD_INIT): Gettextizze.
11771 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11772 (GRUB_MOD_INIT): Gettextizze.
11773 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11774 (grub_linux_load64): Capitalise Linux.
11775 (GRUB_MOD_INIT): Gettextizze.
11776 * loader/xnu.c: Include `<grub/i18n.h>'.
11777 (GRUB_MOD_INIT): Gettextizze.
11778 * po/POTFILES: Add `loader/efi/appleloader.c',
11779 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11780 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11781 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11782 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11783 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11784 and `loader/xnu.c'.
11785
11786 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11787
11788 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11789
11790 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11791
11792 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11793 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11794 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11795
11796 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11797
11798 Reset Multiboot 2 support. New loader implements the draft in
11799 /branches/multiboot2 and shares as much code as possible with the
11800 production Multiboot 1 implementation.
11801
11802 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11803 * loader/multiboot2.c: Likewise.
11804 * loader/i386/multiboot_helper.S: Likewise.
11805 * include/multiboot2.h: Replace with latest version from the draft
11806 in /branches/multiboot2.
11807
11808 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11809 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11810 and `loader/multiboot2.c'.
11811 (pkglib_MODULES): Add `multiboot2.mod'.
11812 (multiboot2_mod_SOURCES): New variable.
11813 (multiboot2_mod_LDFLAGS): Likewise.
11814 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11815
11816 * conf/i386-pc.rmk: Likewise.
11817
11818 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11819 (multiboot_mod_SOURCES): Remove variable.
11820 (multiboot_mod_LDFLAGS): Likewise.
11821 (multiboot_mod_CFLAGS): Likewise.
11822
11823 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11824 `<multiboot2.h>' instead of `<multiboot.h>'.
11825 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11826 (MULTIBOOT_HEADER_MAGIC): New macros.
11827
11828 * loader/multiboot_loader.c (module_version_status): Remove variable.
11829 (find_multi_boot2_header): Remove function.
11830 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11831 logic. Always check for the Multiboot version we're compiling for.
11832 (grub_cmd_module_loader): Likewise.
11833 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11834 command instead of `multiboot'.
11835
11836 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11837
11838 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11839 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11840 all users.
11841
11842 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11843 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 Fix breakage introduced with previous commit.
11846
11847 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11848 commands.
11849 * normal/handler.c (read_handler_list): Revert part of previous commit
11850 affecting this file.
11851 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11852 (grub_normal_execute): ... here.
11853
11854 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11855
11856 Merge prefix-redefinition-fix branch.
11857
11858 * normal/autofs.c (read_fs_list): Make function capable of being
11859 run multiple times, gracefuly replacing the previous data
11860 structures.
11861 * normal/dyncmd.c (read_command_list): Likewise.
11862 * normal/handler.c (read_handler_list): Likewise.
11863 * normal/main.c (read_lists): New function. Calls all the
11864 list reading functions.
11865 (grub_normal_execute): Use read_lists() instead of calling all
11866 list reading functions explicitly. Register read_lists() as a
11867 variable hook attached to ${prefix}.
11868
11869 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Merge crypto branch.
11872
11873 * Makefile.in (pkglib_DATA): Add crypto.lst.
11874 (crypto.lst): New target.
11875 * commands/hashsum.c: New file.
11876 * commands/password.c (check_password): Use grub_crypto_memcmp.
11877 * commands/password_pbkdf2.c: New file.
11878 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11879 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11880 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11881 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11882 -I$(srcdir)/lib/libgcrypt_wrap.
11883 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11884 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11885 password_pbkdf2.mod.
11886 (crypto_mod_SOURCES): New variable.
11887 (crypto_mod_CFLAGS): Likewise.
11888 (crypto_mod_LDFLAGS): Likewise.
11889 (hashsum_mod_SOURCES): New variable.
11890 (hashsum_mod_CFLAGS): Likewise.
11891 (hashsum_mod_LDFLAGS): Likewise.
11892 (pbkdf2_mod_SOURCES): New variable.
11893 (pbkdf2_mod_CFLAGS): Likewise.
11894 (pbkdf2_mod_LDFLAGS): Likewise.
11895 (password_pbkdf2_mod_SOURCES): New variable.
11896 (password_pbkdf2_mod_CFLAGS): Likewise.
11897 (password_pbkdf2_mod_LDFLAGS): Likewise.
11898 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11899 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11900 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11901 Include conf/gcry.rmk.
11902 * include/grub/auth.h: Rewritten.
11903 * include/grub/crypto.h: New file.
11904 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11905 * include/grub/normal.h (read_crypto_list): New prototype.
11906 * lib/crypto.c: New file.
11907 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11908 * lib/pbkdf2.c: Likewise.
11909 * normal/auth.c (grub_auth_strcmp): Removed.
11910 (grub_iswordseparator): Likewise.
11911 (grub_auth_strword): Likewise.
11912 (is_authenticated): Use grub_strword.
11913 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11914 and grub_strword. Pass entered password to authentication callback.
11915 * normal/crypto.c: New file.
11916 * normal/main.c: Call read_crypto_list.
11917 * util/grub-mkpasswd-pbkdf2.c: New file.
11918 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11919
11920 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 Fix descent and ascent calculation.
11923
11924 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11925 (options): New option "asce".
11926 (usage): Likewise.
11927 (add_char): Ignore invalid glyphs for descent calculation.
11928 Calculate ascent from actual content.
11929 (print_glyphs): Use 'asce'.
11930 (write_font): Likewise. Allow ascent override.
11931 (main): Handle "asce" option.
11932
11933 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11934
11935 * kern/err.c: Include `<grub/i18n.h>'.
11936 (grub_print_error): Add full stop. Gettextizze.
11937 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11938 (grub_bsd_load_elf): Capitalise ELF.
11939 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11940 (grub_cmd_freebsd_module): Likewise.
11941 (grub_cmd_freebsd_module_elf): Likewise.
11942 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11943
11944 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11945
11946 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11947 * commands/search_file.c (HELP_MESSAGE): New macro.
11948 * commands/search_label.c (HELP_MESSAGE): Likewise.
11949 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11950 * po/POTFILES: Add `commands/search_file.c',
11951 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11952 `commands/search.c'.
11953
11954 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11955
11956 * config.rpath: Update from Gnulib.
11957
11958 2010-01-05 Yves Blusseau <blusseau@zetam.org>
11959
11960 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11961
11962 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11963
11964 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11965
11966 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11967
11968 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11969 arguments to fread so that we get a return value in bytes, rather
11970 than something that will normally be rounded down to 0.
11971 Adjust error handling to avoid producing garbage when size_t is not
11972 the same size as long long.
11973
11974 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11975
11976 * util/mkisofs/write.c (padblock_write): Check return value of
11977 fread.
11978
11979 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11980
11981 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11982 floppy images now.
11983
11984 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11985
11986 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11987
11988 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11989 instead of manual alignment.
11990 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11991 verbose). Avoid attempts to read past end of the device
11992 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11993 but GRUB_DISK_CACHE_SIZE may exceed that).
11994
11995 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11996
11997 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11998 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11999 it to upper layer.
12000
12001 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12004 New constant.
12005 (grub_efi_piwg_device_path): New structure
12006 (grub_efi_piwg_device_path_t): New type.
12007 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12008 (devpath_1): Transform to a structure. All users updated.
12009 (devpath_2): Likewise.
12010 (devpath_3): Likewise.
12011 (devpath_4): Likewise.
12012 (devpath_5): Likewise.
12013
12014 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * loader/efi/appleloader.c: Restored. Update all users.
12017
12018 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12019
12020 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12021
12022 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12023 (struct boot_blocklist): Move from here ...
12024 * include/grub/i386/pc/boot.h [ASM_FILE]
12025 (struct grub_boot_blocklist): ... to here. Update all users.
12026 (setup): Only initialize `start' member of `first_block'
12027 structure. Add assert() calls to verify the other members.
12028
12029 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12030 (generate_image): Fix broken blocklist length initialization.
12031 Add assert() call to verify blocklist `segment' field.
12032
12033 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12034
12035 * loader/efi/appleloader.c: Remove. Update all users.
12036
12037 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12038
12039 * boot/i386/pc/boot.S: Update copyright year.
12040 * boot/i386/pc/cdboot.S: Likewise.
12041 * boot/i386/pc/diskboot.S: Likewise.
12042 * boot/i386/pc/lnxboot.S: Likewise.
12043 * boot/i386/pc/pxeboot.S: Likewise.
12044 * bus/pci.c: Likewise.
12045 * commands/cmp.c: Likewise.
12046 * commands/help.c: Likewise.
12047 * commands/hexdump.c: Likewise.
12048 * commands/i386/pc/halt.c: Likewise.
12049 * commands/i386/pc/play.c: Likewise.
12050 * commands/i386/pc/vbeinfo.c: Likewise.
12051 * commands/ls.c: Likewise.
12052 * commands/test.c: Likewise.
12053 * disk/dmraid_nvidia.c: Likewise.
12054 * disk/i386/pc/biosdisk.c: Likewise.
12055 * disk/ieee1275/nand.c: Likewise.
12056 * disk/ieee1275/ofdisk.c: Likewise.
12057 * disk/lvm.c: Likewise.
12058 * disk/raid.c: Likewise.
12059 * disk/raid6_recover.c: Likewise.
12060 * disk/scsi.c: Likewise.
12061 * fs/affs.c: Likewise.
12062 * fs/cpio.c: Likewise.
12063 * fs/ext2.c: Likewise.
12064 * fs/hfs.c: Likewise.
12065 * fs/iso9660.c: Likewise.
12066 * fs/ntfs.c: Likewise.
12067 * fs/sfs.c: Likewise.
12068 * fs/udf.c: Likewise.
12069 * fs/ufs.c: Likewise.
12070 * fs/xfs.c: Likewise.
12071 * gencmdlist.sh: Likewise.
12072 * genmk.rb: Likewise.
12073 * include/grub/disk.h: Likewise.
12074 * include/grub/efi/api.h: Likewise.
12075 * include/grub/efi/efi.h: Likewise.
12076 * include/grub/efi/pe32.h: Likewise.
12077 * include/grub/elf.h: Likewise.
12078 * include/grub/fs.h: Likewise.
12079 * include/grub/i386/at_keyboard.h: Likewise.
12080 * include/grub/i386/pc/memory.h: Likewise.
12081 * include/grub/i386/pc/vbe.h: Likewise.
12082 * include/grub/i386/pci.h: Likewise.
12083 * include/grub/i386/tsc.h: Likewise.
12084 * include/grub/ieee1275/ieee1275.h: Likewise.
12085 * include/grub/ntfs.h: Likewise.
12086 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12087 * include/grub/sparc64/libgcc.h: Likewise.
12088 * include/grub/symbol.h: Likewise.
12089 * include/grub/types.h: Likewise.
12090 * include/multiboot2.h: Likewise.
12091 * io/gzio.c: Likewise.
12092 * kern/device.c: Likewise.
12093 * kern/disk.c: Likewise.
12094 * kern/efi/efi.c: Likewise.
12095 * kern/efi/mm.c: Likewise.
12096 * kern/elf.c: Likewise.
12097 * kern/file.c: Likewise.
12098 * kern/i386/dl.c: Likewise.
12099 * kern/i386/pc/init.c: Likewise.
12100 * kern/i386/pc/startup.S: Likewise.
12101 * kern/ieee1275/ieee1275.c: Likewise.
12102 * kern/ieee1275/init.c: Likewise.
12103 * kern/main.c: Likewise.
12104 * kern/mm.c: Likewise.
12105 * kern/powerpc/dl.c: Likewise.
12106 * kern/sparc64/dl.c: Likewise.
12107 * kern/x86_64/dl.c: Likewise.
12108 * lib/hexdump.c: Likewise.
12109 * loader/efi/appleloader.c: Likewise.
12110 * loader/i386/ieee1275/linux.c: Likewise.
12111 * loader/i386/pc/chainloader.c: Likewise.
12112 * loader/i386/pc/linux.c: Likewise.
12113 * loader/i386/pc/multiboot2.c: Likewise.
12114 * loader/ieee1275/multiboot2.c: Likewise.
12115 * loader/multiboot2.c: Likewise.
12116 * loader/multiboot_loader.c: Likewise.
12117 * loader/powerpc/ieee1275/linux.c: Likewise.
12118 * normal/completion.c: Likewise.
12119 * normal/menu_entry.c: Likewise.
12120 * partmap/apple.c: Likewise.
12121 * util/grub.d/10_hurd.in: Likewise.
12122 * util/hostfs.c: Likewise.
12123 * video/readers/png.c: Likewise.
12124
12125 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12126
12127 * include/grub/misc.h (GNUC_PREREQ): New macro.
12128 (ATTRIBUTE_ERROR): New macro.
12129 * include/grub/list.h (grub_bad_type_cast_real): Use
12130 ATTRIBUTE_ERROR.
12131
12132 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12133
12134 * normal/menu_text.c (print_message): Change messages.
12135
12136 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12137
12138 * normal/menu_entry.c (store_completion): Gettextizze.
12139
12140 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12141
12142 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12143
12144 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12145
12146 * po/POTFILES: Sort correctly.
12147
12148 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12149
12150 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12151 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12152 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12153 full stop.
12154 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12155 summary. Gettextizze the strings.
12156 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12157 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12158 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12159 full stop.
12160 (GRUB_MOD_INIT): Remove command name from summary.
12161 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12162 summary.
12163 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12164 * term/i386/pc/serial.c (options): Add full stops.
12165 (GRUB_MOD_INIT): Remove command name from the summary.
12166
12167 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12168
12169 * commands/acpi.c: Gettextizze help strings and/or options. Include
12170 `grub/i18n.h' if needed.
12171 * commands/blocklist.c: Likewise.
12172 * commands/boot.c: Likewise.
12173 * commands/cat.c: Likewise.
12174 * commands/cmp.c: Likewise.
12175 * commands/configfile.c: Likewise.
12176 * commands/crc.c: Likewise.
12177 * commands/date.c: Likewise.
12178 * commands/echo.c: Likewise.
12179 * commands/efi/fixvideo.c: Likewise.
12180 * commands/efi/loadbios.c: Likewise.
12181 * commands/gptsync.c: Likewise.
12182 * commands/halt.c: Likewise.
12183 * commands/handler.c: Likewise.
12184 * commands/hdparm.c: Likewise.
12185 * commands/hexdump.c: Likewise.
12186 * commands/i386/cpuid.c: Likewise.
12187 * commands/i386/pc/drivemap.c: Likewise.
12188 * commands/i386/pc/halt.c: Likewise.
12189 * commands/i386/pc/pxecmd.c: Likewise.
12190 * commands/i386/pc/vbeinfo.c: Likewise.
12191 * commands/i386/pc/vbetest.c: Likewise.
12192 * commands/ieee1275/suspend.c: Likewise.
12193 * commands/keystatus.c: Likewise.
12194 * commands/loadenv.c: Likewise.
12195 * commands/ls.c: Likewise.
12196 * commands/lsmmap.c: Likewise.
12197 * commands/lspci.c: Likewise.
12198 * commands/memrw.c: Likewise.
12199 * commands/minicmd.c: Likewise.
12200 * commands/parttool.c: Likewise.
12201 * commands/password.c: Likewise.
12202 * commands/probe.c: Likewise.
12203 * commands/read.c: Likewise.
12204 * commands/reboot.c: Likewise.
12205 * commands/search.c: Likewise.
12206 * commands/sleep.c: Likewise.
12207 * commands/test.c: Likewise.
12208 * commands/true.c: Likewise.
12209 * commands/usbtest.c: Likewise.
12210 * commands/videotest.c: Likewise.
12211 * commands/xnu_uuid.c: Likewise.
12212 * disk/loopback.c: Likewise.
12213 * hello/hello.c: Likewise.
12214 * loader/i386/bsd.c: Likewise.
12215 * term/i386/pc/serial.c: Likewise.
12216 * po/POTFILES: Add new files.
12217
12218 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12219
12220 * term/i386/pc/at_keyboard.c
12221 (keyboard_controller_wait_untill_ready): Rename to ...
12222 (keyboard_controller_wait_until_ready): ... this. Update all users.
12223
12224 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12225
12226 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12227 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12228 string using string width.
12229 * normal/menu_text.c (grub_print_message_indented): Use
12230 grub_print_spaces and not print_spaces.
12231 (print_timeout): Likewise.
12232 (print_spaces): Move to...
12233 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12234
12235 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12236
12237 Import from Gnulib.
12238
12239 * gnulib/getdelim.c: New file.
12240 * gnulib/getline.c: Likewise.
12241
12242 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12243
12244 * include/grub/list.h (grub_assert_fail): Removed.
12245 (grub_bad_type_cast_real): New function.
12246 (grub_bad_type_cast): New macro.
12247 (GRUB_AS_LIST): Use grub_bad_type_cast.
12248 (GRUB_AS_LIST_P): Likewise.
12249 (GRUB_AS_NAMED_LIST): Likewise.
12250 (GRUB_AS_NAMED_LIST_P): Likewise.
12251 (GRUB_AS_PRIO_LIST): Likewise.
12252 (GRUB_AS_PRIO_LIST_P): Likewise.
12253 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12254
12255 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12258 Fix syntax error.
12259
12260 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12261
12262 * configure.ac: Check for TARGET_CFLAGS initialization before we
12263 initialize it ourselves (sigh).
12264 Move a few modifications to TARGET_CFLAGS to be unconditional
12265 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12266 eh_frame)
12267
12268 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12269 * term/i386/pc/at_keyboard.c
12270 (keyboard_controller_wait_untill_ready): Likewise.
12271 (keyboard_controller_led): Rename `led_status' paramter to avoid
12272 name conflict.
12273
12274 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12275
12276 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12277 quotes.
12278
12279 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12282
12283 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * normal/menu_text.c (grub_print_message_indented): Prevent
12286 past-the-end-of-array dereference.
12287
12288 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12291 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12292
12293 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12294
12295 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12296 * normal/main.c (grub_normal_read_line): Remove a space from the
12297 default prompt.
12298
12299 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12300
12301 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12302 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12303 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12304 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12305 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12306 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12307 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12308
12309 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12310
12311 * video/readers/jpeg.c (cmd): Declare.
12312 (grub_cmd_jpegtest): Use `grub_command_t' type.
12313 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12314 Assign to `cmd'.
12315 (GRUB_MOD_FINI): Use `cmd' to unregister.
12316 * video/readers/png.c (cmd): Declare.
12317 (grub_cmd_pngtest): Use `grub_command_t' type.
12318 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12319 Assign to `cmd'.
12320 (GRUB_MOD_FINI): Use `cmd' to unregister.
12321 * video/readers/tga.c (cmd): Declare.
12322 (grub_cmd_tgatest): Use `grub_command_t' type.
12323 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12324 Assign to `cmd'.
12325 (GRUB_MOD_FINI): Use `cmd' to unregister.
12326
12327 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12328
12329 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12330 stops.
12331 * kern/corecmd.c (grub_register_core_commands): Likewise.
12332 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12333 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12334 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12335 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12336 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12337 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12338 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12339 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12340 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12341 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12342 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12343 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12344 * normal/handler.c (insert_handler): Likewise.
12345 * normal/main.c (GRUB_MOD_INIT): Likewise.
12346 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12347
12348 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12349
12350 * commands/help.c (grub_cmd_help): Print the command name before the
12351 summary.
12352 (GRUB_MOD_INIT): Remove command name from the summary.
12353 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12354 string as summary.
12355 * lib/arg.c (find_long): Print the command name before the summary.
12356 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12357 summary.
12358 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12359 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12360 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12361 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12362 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12363 * commands/date.c (GRUB_MOD_INIT): Likewise.
12364 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12365 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12366 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12367 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12368 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12369 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12370 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12371 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12372 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12373 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12374 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12375 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12376 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12377 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12378 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12379 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12380 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12381 * commands/password.c (GRUB_MOD_INIT): Likewise.
12382 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12383 * commands/read.c (GRUB_MOD_INIT): Likewise.
12384 * commands/search.c (GRUB_MOD_INIT): Likewise.
12385 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12386 * commands/test.c (GRUB_MOD_INIT): Likewise.
12387 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12388 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12389 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12390 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12391 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12392 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12393 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12394 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12395 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12396 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12397 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12398 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12399 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12400 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12401
12402 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 Use search command for preliminar UUID search.
12405
12406 * commands/search.c: Split into ...
12407 * commands/search_wrap.c: ...this
12408 * commands/search.c: ...and this.
12409 * commands/search_file.c: New file.
12410 * commands/search_label.c: New file.
12411 * commands/search_uuid.c: New file.
12412 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12413 Add commands/search_wrap.c, commands/search_file.c,
12414 commands/search_label.c and commands/search_uuid.c.
12415 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12416 (search_mod_SOURCES): Set to commands/search_wrap.c.
12417 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12418 search_label.mod.
12419 (search_fs_file_mod_SOURCES): New variable.
12420 (search_fs_file_mod_CFLAGS): Likewise.
12421 (search_fs_file_mod_LDFLAGS): Likewise.
12422 (search_label_mod_SOURCES): Likewise.
12423 (search_label_mod_CFLAGS): Likewise.
12424 (search_label_mod_LDFLAGS): Likewise.
12425 (search_fs_uuid_mod_SOURCES): New variable.
12426 (search_fs_uuid_mod_CFLAGS): Likewise.
12427 (search_fs_uuid_mod_LDFLAGS): Likewise.
12428 (fs_file_mod_SOURCES): Removed.
12429 (fs_file_mod_CFLAGS): Likewise.
12430 (fs_file_mod_LDFLAGS): Likewise.
12431 (fs_uuid_mod_SOURCES): Removed.
12432 (fs_uuid_mod_CFLAGS): Likewise.
12433 (fs_uuid_mod_LDFLAGS): Likewise.
12434 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12435 Set to util/grub-install.in.
12436 * disk/fs_file.c: Removed.
12437 * disk/fs_uuid.c: Likewise.
12438 * include/grub/search.h: New file.
12439 * util/grub-install.in: Handle sparc64.
12440 Create and use load.cfg.
12441 * util/sparc64/ieee1275/grub-install.in: Removed.
12442
12443 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12446 Ignore return status if CF is cleared.
12447 (grub_biosdisk_get_diskinfo_standard): Likewise.
12448
12449 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12450
12451 * term/i386/pc/at_keyboard.c
12452 (keyboard_controller_wait_untill_ready): New function.
12453 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12454 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12455 for keyboard polling, rather than duplicate the same loop. This
12456 saves a few bytes in code size.
12457
12458 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 Support for (pxe[:server[:gateway]]) syntax and
12461 use environment variable for PXE.
12462
12463 * commands/i386/pc/pxecmd.c (options): Removed.
12464 (print_ip): Removed.
12465 (grub_cmd_pxe): Removed
12466 (grub_cmd_pxe_unload): New function.
12467 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12468 (grub_pxe_your_ip): Made static.
12469 (grub_pxe_default_server_ip): Likewise.
12470 (grub_pxe_default_gateway_ip): Likewise.
12471 (grub_pxe_blksize): Likewise.
12472 (parse_ip): New function.
12473 (grub_pxe_open): Support server and gateway specification.
12474 (grub_pxe_close): Free disk->data.
12475 (grub_pxefs_open): Use disk->data.
12476 (grub_pxefs_read): Likewise.
12477 (grub_env_write_readonly): New function.
12478 (set_mac_env): Likewise.
12479 (set_env_limn_ro): Likewise.
12480 (parse_dhcp_vendor): Likewise.
12481 (grub_pxe_detect): Set the environment variables.
12482 (set_ip_env): New function.
12483 (write_ip_env): Likewise.
12484 (grub_env_write_pxe_default_server): Likewise.
12485 (grub_env_write_pxe_default_gateway): Likewise.
12486 (grub_env_write_pxe_blocksize): Likewise.
12487 (GRUB_MOD_INIT(pxe)): Set environment variables.
12488 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12489 (grub_pxe_mac_addr_t): ... this. All users updated.
12490 (grub_pxe_your_ip): Removed.
12491 (grub_pxe_server_ip): Likewise.
12492 (grub_pxe_gateway_ip): Likewise.
12493 (grub_pxe_blksize): Likewise.
12494
12495 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12496
12497 * commands/help.c: Include `<grub/i18n.h>'.
12498 (grub_cmd_help): Gettextizze.
12499 (GRUB_MOD_INIT): Likewise.
12500 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12501 (GRUB_MOD_INIT): Gettextizze.
12502 * commands/search.c: Include `<grub/i18n.h>'.
12503 (options): Gettextizze.
12504 (GRUB_MOD_INIT): Gettextizze.
12505 * lib/arg.c: Include `<grub/i18n.h>'.
12506 (help_options): Gettextizze.
12507 (find_long): Likewise.
12508 (grub_arg_show_help): Likewise.
12509 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12510 (read_command_list): Gettextizze.
12511 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12512 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12513
12514 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12515
12516 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12517 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12518 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12519 (led_status): New variable.
12520 (keyboard_controller_led): New function.
12521 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12522 update led status for caps lock, num lock and scroll lock.
12523
12524 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12525
12526 * util/hostdisk.c (open_device): Fix a comment.
12527
12528 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12529
12530 * util/grub-install.in (host_os): New variable.
12531 * util/i386/efi/grub-install.in (host_os): Likewise.
12532
12533 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12534
12535 * util/mkisofs/write.c (padblock_write): Abort when given an
12536 excedingly large embed image, instead of silently truncating it.
12537
12538 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12539
12540 * include/multiboot.h: Indentation fixes.
12541
12542 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12543
12544 * include/multiboot.h (struct multiboot_aout_symbol_table)
12545 (struct multiboot_elf_section_header_table): New structure
12546 declarations (stolen from GRUB Legacy).
12547 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12548 table information.
12549
12550 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12551 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12552 type aliases.
12553
12554 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12555
12556 * include/multiboot.h: Make comments src2texi-friendly.
12557
12558 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12559
12560 For consistency with [multiboot]/docs/boot.S.
12561
12562 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12563 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12564 (MULTIBOOT_MAGIC2): Rename from this ...
12565 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12566
12567 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12568
12569 * include/multiboot.h: Remove `<grub/types.h>'.
12570 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12571 types. Update all users.
12572
12573 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12574
12575 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12576 `couldn't' and `can not' by `cannot'.
12577 * commands/i386/pc/drivemap.c: Likewise.
12578 * disk/ata.c: Likewise.
12579 * disk/ieee1275/nand.c: Likewise.
12580 * fs/affs.c: Likewise.
12581 * fs/fat.c: Likewise.
12582 * fs/hfs.c: Likewise.
12583 * fs/hfsplus.c: Likewise.
12584 * fs/iso9660.c: Likewise.
12585 * fs/jfs.c: Likewise.
12586 * fs/minix.c: Likewise.
12587 * fs/reiserfs.c: Likewise.
12588 * fs/sfs.c: Likewise.
12589 * fs/udf.c: Likewise.
12590 * fs/ufs.c: Likewise.
12591 * fs/xfs.c: Likewise.
12592 * loader/powerpc/ieee1275/linux.c: Likewise.
12593 * loader/sparc64/ieee1275/linux.c: Likewise.
12594 * util/grub-probe.c: Likewise.
12595 * util/misc.c: Likewise.
12596
12597 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12598
12599 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12600 grub_errno calls.
12601 * commands/acpi.c: Likewise.
12602 * commands/blocklist.c: Likewise.
12603 * commands/efi/loadbios.c: Likewise.
12604 * commands/i386/pc/drivemap.c: Likewise.
12605 * commands/loadenv.c: Likewise.
12606 * commands/memrw.c: Likewise.
12607 * commands/password.c: Likewise.
12608 * commands/videotest.c: Likewise.
12609 * disk/ata.c: Likewise.
12610 * disk/ata_pthru.c: Likewise.
12611 * disk/dmraid_nvidia.c: Likewise.
12612 * disk/ieee1275/nand.c: Likewise.
12613 * disk/ieee1275/ofdisk.c: Likewise.
12614 * disk/loopback.c: Likewise.
12615 * disk/lvm.c: Likewise.
12616 * disk/mdraid_linux.c: Likewise.
12617 * disk/raid.c: Likewise.
12618 * disk/raid6_recover.c: Likewise.
12619 * disk/scsi.c: Likewise.
12620 * efiemu/main.c: Likewise.
12621 * efiemu/mm.c: Likewise.
12622 * efiemu/pnvram.c: Likewise.
12623 * efiemu/symbols.c: Likewise.
12624 * font/font.c: Likewise.
12625 * fs/cpio.c: Likewise.
12626 * fs/hfsplus.c: Likewise.
12627 * fs/iso9660.c: Likewise.
12628 * fs/jfs.c: Likewise.
12629 * fs/minix.c: Likewise.
12630 * fs/ntfs.c: Likewise.
12631 * fs/ntfscomp.c: Likewise.
12632 * fs/reiserfs.c: Likewise.
12633 * fs/ufs.c: Likewise.
12634 * fs/xfs.c: Likewise.
12635 * gettext/gettext.c: Likewise.
12636 * include/grub/auth.h: Likewise.
12637 * kern/elf.c: Likewise.
12638 * kern/file.c: Likewise.
12639 * kern/ieee1275/init.c: Likewise.
12640 * kern/ieee1275/mmap.c: Likewise.
12641 * kern/ieee1275/openfw.c: Likewise.
12642 * kern/powerpc/dl.c: Likewise.
12643 * kern/sparc64/dl.c: Likewise.
12644 * lib/arg.c: Likewise.
12645 * loader/i386/bsd.c: Likewise.
12646 * loader/i386/bsdXX.c: Likewise.
12647 * loader/i386/efi/linux.c: Likewise.
12648 * loader/i386/efi/xnu.c: Likewise.
12649 * loader/i386/ieee1275/linux.c: Likewise.
12650 * loader/i386/linux.c: Likewise.
12651 * loader/i386/multiboot.c: Likewise.
12652 * loader/i386/pc/linux.c: Likewise.
12653 * loader/i386/pc/multiboot2.c: Likewise.
12654 * loader/i386/xnu.c: Likewise.
12655 * loader/ieee1275/multiboot2.c: Likewise.
12656 * loader/macho.c: Likewise.
12657 * loader/machoXX.c: Likewise.
12658 * loader/multiboot2.c: Likewise.
12659 * loader/multiboot_loader.c: Likewise.
12660 * loader/powerpc/ieee1275/linux.c: Likewise.
12661 * loader/sparc64/ieee1275/linux.c: Likewise.
12662 * loader/xnu.c: Likewise.
12663 * loader/xnu_resume.c: Likewise.
12664 * mmap/i386/pc/mmap.c: Likewise.
12665 * normal/menu_viewer.c: Likewise.
12666 * partmap/acorn.c: Likewise.
12667 * partmap/amiga.c: Likewise.
12668 * partmap/apple.c: Likewise.
12669 * script/lexer.c: Likewise.
12670 * term/gfxterm.c: Likewise.
12671 * term/i386/pc/serial.c: Likewise.
12672 * term/i386/pc/vga.c: Likewise.
12673 * term/ieee1275/ofconsole.c: Likewise.
12674 * term/terminfo.c: Likewise.
12675 * video/bitmap.c: Likewise.
12676 * video/efi_gop.c: Likewise.
12677 * video/efi_uga.c: Likewise.
12678 * video/fb/video_fb.c: Likewise.
12679 * video/i386/pc/vbe.c: Likewise.
12680 * video/readers/tga.c: Likewise.
12681 * video/video.c: Likewise.
12682
12683 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12684
12685 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12686 * commands/lspci.c: Likewise.
12687 * commands/probe.c: Likewise.
12688 * commands/xnu_uuid.c: Likewise.
12689 * conf/i386-coreboot.rmk: Likewise.
12690 * conf/i386-efi.rmk: Likewise.
12691 * conf/i386-ieee1275.rmk: Likewise.
12692 * conf/i386-pc.rmk: Likewise.
12693 * conf/powerpc-ieee1275.rmk: Likewise.
12694 * conf/sparc64-ieee1275.rmk: Likewise.
12695 * conf/x86_64-efi.rmk: Likewise.
12696 * fs/i386/pc/pxe.c: Likewise.
12697 * gettext/gettext.c: Likewise.
12698 * include/grub/efi/graphics_output.h: Likewise.
12699 * include/grub/i386/pc/memory.h: Likewise.
12700 * kern/env.c: Likewise.
12701 * kern/i386/qemu/startup.S: Likewise.
12702 * lib/i386/pc/biosnum.c: Likewise.
12703 * lib/i386/relocator.c: Likewise.
12704 * lib/i386/relocator_asm.S: Likewise.
12705 * lib/relocator.c: Likewise.
12706 * loader/i386/bsd.c: Likewise.
12707 * loader/i386/multiboot.c: Likewise.
12708 * loader/i386/pc/chainloader.c: Likewise.
12709 * loader/i386/xnu.c: Likewise.
12710 * loader/xnu.c: Likewise.
12711 * normal/main.c: Likewise.
12712 * normal/menu_text.c: Likewise.
12713 * util/getroot.c: Likewise.
12714 * util/grub-mkconfig_lib.in: Likewise.
12715 * util/grub.d/00_header.in: Likewise.
12716 * util/i386/pc/grub-mkimage.c: Likewise.
12717 * util/mkisofs/eltorito.c: Likewise.
12718 * util/mkisofs/exclude.h: Likewise.
12719 * util/mkisofs/hash.c: Likewise.
12720 * util/mkisofs/iso9660.h: Likewise.
12721 * util/mkisofs/joliet.c: Likewise.
12722 * util/mkisofs/mkisofs.c: Likewise.
12723 * util/mkisofs/mkisofs.h: Likewise.
12724 * util/mkisofs/multi.c: Likewise.
12725 * util/mkisofs/name.c: Likewise.
12726 * util/mkisofs/rock.c: Likewise.
12727 * util/mkisofs/tree.c: Likewise.
12728 * util/mkisofs/write.c: Likewise.
12729 * video/efi_gop.c: Likewise.
12730
12731 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12734 size counting.
12735
12736 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12737
12738 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12739 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12740
12741 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12744 (GRUB_MOD_INIT(memrw)): Update help line.
12745
12746 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12749 Use grub_extcmd_t. All users updated.
12750 (options): New variable.
12751 (grub_cmd_read): Restructure for readability. Support "-v" option.
12752 (grub_cmd_write): Restructure for readability.
12753
12754 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12755
12756 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12757
12758 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12759
12760 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12761 with the actual contents of the correspondending make variable.
12762 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12763 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12764 specifying `*.lst' and `efiemu??.o'
12765
12766 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12767
12768 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12769 after function name.
12770 Noticed by Rene Engelhard <rene@debian.org>.
12771
12772 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12775 (options): New variable.
12776 (iospace): Likewise.
12777 (grub_lspci_iter): List IO spaces if "-i" was given.
12778 (grub_cmd_lspci): Parse options.
12779 (GRUB_MOD_INIT(lspci)): Use extcmd.
12780 (GRUB_MOD_FINI(lspci)): Likewise.
12781
12782 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12783
12784 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12785 `function' keyword.
12786 Patch by Tony Mancill <tmancill@debian.org>.
12787
12788 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12791 (grub_uhci_portstatus): Likewise.
12792 (grub_uhci_portstatus): Add necessary delay.
12793 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
12794
12795 2009-12-21 Carles Pina i Estany <carles@pina.cat>
12796
12797 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12798 (GRUB_MOD_INIT): Likewise.
12799 * commands/boot.c (GRUB_MOD_INIT): Likewise.
12800 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12801 * commands/echo.c (options): Fix capitalizations and/or full stops.
12802 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12803 (enable_rom_area): Likewise.
12804 (GRUB_MOD_INIT): Likewise.
12805 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12806 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12807 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12808 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12809 * commands/hexdump.c (options): Likewise.
12810 * commands/i386/cpuid.c (options): Likewise.
12811 (GRUB_MOD_INIT): Likewise.
12812 * commands/i386/pc/drivemap.c (options): Likewise.
12813 (GRUB_MOD_INIT): Likewise.
12814 * commands/i386/pc/halt (options): Likewise.
12815 (GRUB_MOD_INIT): Likewise.
12816 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12817 * commands/i386/pc/pxecmd.c (options): Likewise.
12818 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12819 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12820 * commands/keystatus.c (options): Likewise.
12821 (GRUB_MOD_INIT): Likewise.
12822 * commands/loadenv.c (options): Likewise.
12823 * commands/ls.c (options): Likewise.
12824 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12825 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12826 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12827 * commands/parttool.c (helpmsg): Likewise.
12828 * commands/probe.c (options): Likewise.
12829 * commands/read.c (GRUB_MOD_INIT): Likewise.
12830 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12831 * commands/search.c (options): Likewise.
12832 * commands/sleep.c (options): Likewise.
12833 * commands/test.c (GRUB_MOD_INIT): Likewise.
12834 * commands/true.c (GRUB_MOD_INIT): Likewise.
12835 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12836 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12837 * lib/arg.c (help_options): Likewise.
12838 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12839 `$(XGETTEXT)'.
12840 * po/POTFILES: Add `commands/loadenv.c'.
12841
12842 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
12843
12844 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
12845 instead of specifying them explicit.
12846
12847 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12848
12849 * NEWS: Add grub-probe support for GNU/Hurd.
12850
12851 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12852
12853 * NEWS: gettext was added after 1.97.
12854
12855 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12856
12857 * util/mkisofs/msdos_partition.h: New file (based on
12858 include/grub/msdos_partition.h).
12859 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12860 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12861 (ld_options, main): Recognize --protective-msdos-label.
12862 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12863 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12864 (padblock_write): If `use_protective_msdos_label' is set, patch a
12865 protective DOS-style label in the output image.
12866
12867 * util/grub-mkrescue.in: Use --protective-msdos-label.
12868
12869 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12870
12871 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12872 boot.
12873
12874 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12875
12876 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12877 variables.
12878 (ld_options, main): Recognize `--embedded-boot'.
12879 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12880 declarations.
12881 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12882 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12883 (padblock_write): Likewise. Rewrite to support embedded boot image.
12884
12885 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12886 for BIOS-based disk boot instead of only ElTorito.
12887
12888 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12889
12890 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12891 build (not needed for bootstrap).
12892
12893 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12894
12895 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12896 from i386-pc build (not needed for bootstrap).
12897 Rewrite a pair of strings.
12898
12899 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12900
12901 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12902
12903 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12906
12907 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12908
12909 * kern/env.c (grub_env_context_open): Mark exported variable for
12910 reexport.
12911
12912 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12913
12914 * kern/env.c (grub_env_export): Create nonexistent variables before
12915 exporting.
12916
12917 2009-12-20 Carles Pina i Estany <carles@pina.cat>
12918
12919 * include/grub/auth.h: Include `<grub/i18n.h>'.
12920 (GRUB_GET_PASSWORD): Gettextizze string.
12921 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12922 menu_text.c.
12923 (grub_utf8_to_ucs4_alloc): Fix indentation.
12924 (grub_print_ucs4): Likewise.
12925 (grub_getstringwidth): Likewise.
12926 (print_message_indented): New declaration.
12927 * normal/auth.c: Include `<grub/i18n.h>'.
12928 (grub_auth_check_authentication): Gettexttize string.
12929 * normal/cmdline.c: Include `<grub/i18n.h>'.
12930 (grub_cmdline_get): Gettextizze.
12931 * normal/color.c: Include `<grub/i18n.h>'.
12932 (grub_parse_color_name_pair): Gettexttize strings.
12933 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12934 string (use `print_message_indented').
12935 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12936 `include/grub/normal.h'.
12937 (print_message_indented): Renamed to ...
12938 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12939 used in normal/main.c).
12940 (print_message): Use `grub_print_message_indented' instead of
12941 `print_message_indented'.
12942 (print_timeout): Likewise.
12943 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12944 (grub_normal_print_device_info): Gettexttize strings.
12945 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12946
12947 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12950 of arguments. Return number of tokens and not arguments. All users
12951 updated.
12952
12953 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12956 non-MSDOS paritions.
12957
12958 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * include/grub/types.h (UNUSED): Removed since it conflicts with
12961 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12962 Reported by Grégoire Sutre.
12963
12964 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12965
12966 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12967 (grub_print_ucs4_alloc): Likewise.
12968 (grub_getstringwidth): Likewise.
12969 * normal/main.c (grub_normal_init_page): Gettextize version string.
12970 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12971 (getstringwidth): Renamed to ...
12972 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12973 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12974 (grub_print_ucs4): Remove `static' qualifer (now used in
12975 normal/main.c).
12976 * po/POTFILES: Add normal/main.c.
12977
12978 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12979
12980 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12981 (print_message_indented): Add `margin_left' and `margin_right'
12982 parameters.
12983 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12984 strings.
12985 (print_timeout): Use `print_message_indented' to print the message.
12986 Deletes `second_stage' parameter.
12987 (run_menu): Update `print_timeout' calls.
12988
12989 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 Fix console palette on OpenFirmware.
12992
12993 * term/ieee1275/ofconsole.c (MAX): Removed.
12994 (colors): Redone based on VGA palette.
12995 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12996 colors are supported.
12997 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12998
12999 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 Fix potential EfiEmu double prepare.
13002
13003 * efiemu/main.c (prepared): New variable
13004 (grub_efiemu_unload): Set prepare to '0'.
13005 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13006
13007 set_virtual_address_map support.
13008
13009 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13010 prototype.
13011 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13012 prototype.
13013 (grub_efiemu_crc32): Likewise.
13014 (grub_efiemu_crc64): Likewise.
13015 (grub_efiemu_set_virtual_address_map): Likewise.
13016 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13017 New definition.
13018 (grub_autoefi_set_virtual_address_map): Likewise.
13019 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13020 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13021 Restructure flow to accomodate it.
13022 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13023 (grub_efiemu_crc): Recompute CRC32.
13024 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13025 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13026 * efiemu/symbols.c (relocated_handle): New variable.
13027 (grub_efiemu_free_syms): Free relocated_handle.
13028 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13029 (grub_efiemu_write_sym_markers): New function.
13030 (grub_efiemu_set_virtual_address_map): Likewise.
13031
13032 Newer XNU parameters.
13033
13034 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13035 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13036 (grub_xnu_fill_devicetree): New prototype.
13037 (grub_xnu_heap_real_start): New variable.
13038 * loader/xnu.c (get_name_ptr): New function.
13039 (grub_xnu_load_driver): Fill namelen and name.
13040
13041 64-bit xnu support.
13042
13043 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13044 and 'loader/macho64.c'.
13045 * conf/i386-pc.rmk: Likewise.
13046 * conf/x86_64-efi.rmk: Likewise.
13047 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13048 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13049 * include/grub/macho.h (grub_macho_segment64): New structure.
13050 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13051 (grub_macho_size32): ... to this.
13052 (grub_macho32_get_entry_point): Renamed from ...
13053 (grub_macho_get_entry_point32): ... to this.
13054 (grub_macho_contains_macho64): New prototype.
13055 (grub_macho_size64): Likewise.
13056 (grub_macho_get_entry_point64): Likewise.
13057 (grub_macho32_load): Renamed from ...
13058 (grub_macho_load32): ... to this.
13059 (grub_macho32_filesize): Renamed from ...
13060 (grub_macho_filesize32): ... to this.
13061 (grub_macho32_readfile): Renamed from ...
13062 (grub_macho_readfile32): ... to this.
13063 (grub_macho_filesize64): New prototype.
13064 (grub_macho_readfile64): Likewise.
13065 (grub_macho_parse32): Likewise.
13066 (grub_macho_parse64): Likewise.
13067 * loader/macho.c: Split into ...
13068 * loader/machoXX.c: ... and this. Replace 32 with XX.
13069 * loader/macho32.c: New file.
13070 * loader/macho64.c: Likewise.
13071 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13072 (grub_cmd_xnu_kernel): Make 32-bit only.
13073 (grub_cmd_xnu_kernel64): New function.
13074 (grub_xnu_load_driver): Support Mach-O 64.
13075 (grub_cmd_xnu_mkext): Likewise.
13076 * util/grub.d/30_os-prober.in (osx_entry): New function.
13077 Generate entries for 64-bit boot too.
13078
13079 Eliminate ad-hoc tree format in XNU and EfiEmu.
13080
13081 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13082 * efiemu/pnvram.c: Rewritten to use environment variables.
13083 All users updated.
13084
13085 Inline utf16_to_utf8.
13086
13087 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13088 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13089 All users updated.
13090 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13091
13092 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13093 * commands/usbtest.c (grub_usb_get_string): ... move here.
13094 (usb_print_str): Fix error handling.
13095 * include/grub/usb.h (grub_usb_get_string): Remove.
13096
13097 UTF-8 to UTF-16 transformation.
13098
13099 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13100 (charset_mod_SOURCES): New variable.
13101 (charset_mod_CFLAGS): Likewise.
13102 (charset_mod_LDFLAGS): Likewise.
13103 * include/grub/utf.h: New file.
13104 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13105
13106 Support for device properties.
13107
13108 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13109 (grub_xnu_devprop_device_header): Likewise.
13110 (grub_xnu_devprop_device_descriptor): Likewise.
13111 (grub_xnu_devprop_add_device): New prototype.
13112 (grub_xnu_devprop_remove_device): Likewise.
13113 (grub_xnu_devprop_remove_property): Likewise.
13114 (grub_xnu_devprop_add_property_utf8): Likewise.
13115 (grub_xnu_devprop_add_property_utf16): Likewise.
13116 (grub_cpu_xnu_init): Likewise.
13117 (grub_cpu_xnu_fini): Likewise.
13118 (grub_cpu_xnu_unload): Likewise.
13119 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13120 (property_descriptor): Likewise.
13121 (devices): New variable.
13122 (grub_xnu_devprop_remove_property): New function.
13123 (grub_xnu_devprop_add_device): Likewise.
13124 (grub_xnu_devprop_remove_device): Likewise.
13125 (grub_xnu_devprop_add_property): Likewise.
13126 (grub_xnu_devprop_add_property_utf8): Likewise.
13127 (grub_xnu_devprop_add_property_utf16): Likewise.
13128 (hextoval): Likewise.
13129 (grub_cpu_xnu_fill_devprop): Likewise.
13130 (grub_cmd_devprop_load): Likewise.
13131 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13132 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13133 (cmd_devprop_load): New variable.
13134 (grub_cpu_xnu_init): New function.
13135 (grub_cpu_xnu_fini): Likewise.
13136 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13137 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13138 (grub_cmd_xnu_devtree): Likewise.
13139 (hextoval): New function.
13140 (unescape): Likewise.
13141 (grub_xnu_fill_devicetree): Likewise.
13142
13143 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13144 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13145
13146 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 Workaround for broken ATI VBE.
13149
13150 * video/i386/pc/vbe.c (last_set_mode): New variable.
13151 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13152 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13153 (grub_video_vbe_setup): Don't check for reserved flag.
13154
13155 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13156
13157 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13158 the `find' command.
13159
13160 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 UUID support for HFS.
13163
13164 * fs/hfs.c (grub_hfs_uuid): New function.
13165 (grub_hfs_fs): New value .uuid.
13166 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13167
13168 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13169
13170 Fix a segfault with parsing unknown long options.
13171
13172 * util/grub-mkrelpath.c (options): Zero terminate it.
13173
13174 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13175
13176 * include/grub/misc.h (grub_puts): New declaration.
13177 (grub_puts_): Likewise.
13178 * kern/misc.c (grub_puts): New definition.
13179 (grub_puts_): Likewise.
13180
13181 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13182
13183 * util/grub-probe.c (probe): Improve error message.
13184
13185 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13186
13187 * loader/i386/multiboot_elfxx.c
13188 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13189 initialization.
13190
13191 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 Relocator framework
13194
13195 * loader/i386/xnu_helper.S: Removed. All users updated.
13196 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13197 (relocator_mod_SOURCES): New variable.
13198 (relocator_mod_CFLAGS): Likewise.
13199 (relocator_mod_LDFLAGS): Likewise.
13200 (relocator_mod_ASFLAGS): Likewise.
13201 * conf/x86_64.rmk: Likewise.
13202 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13203 (grub_multiboot_payload_entry_offset): Likewise.
13204 (grub_multiboot_forward_relocator): Likewise.
13205 (grub_multiboot_forward_relocator_end): Likewise.
13206 (grub_multiboot_backward_relocator): Likewise.
13207 (grub_multiboot_backward_relocator_end): Likewise.
13208 (grub_multiboot_payload_eip): New variable.
13209 (grub_multiboot_payload_orig): Likewise.
13210 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13211 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13212 * include/grub/i386/memory.h
13213 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13214 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13215 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13216 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13217 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13218 * include/grub/i386/relocator.h: New file.
13219 * include/grub/x86_64/relocator.h: Likewise.
13220 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13221 (XNU_RELOCATOR): New macro.
13222 (grub_xnu_launcher_start): Remove.
13223 (grub_xnu_launcher_end): Likewise.
13224 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13225 (grub_xnu_heap_real_start): Remove.
13226 (grub_xnu_heap_start): Change to void *. All users updated.
13227 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13228 * lib/i386/relocator.c: New file.
13229 * lib/i386/relocator_asm.S: Likewise.
13230 * lib/i386/relocator_backward.S: Likewise.
13231 * lib/mips/relocator.c: Likewise.
13232 * lib/mips/relocator_asm.S: Likewise.
13233 * lib/relocator.c: Likewise.
13234 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13235 (entry): Removed.
13236 (playground): Likewise.
13237 (grub_multiboot_payload_orig): New variable.
13238 (grub_multiboot_payload_dest): Likewise.
13239 (grub_multiboot_payload_size): Likewise.
13240 (grub_multiboot_payload_eip): Likewise.
13241 (grub_multiboot_payload_esp): Likewise.
13242 (grub_multiboot_boot): Use grub_relocator32_boot.
13243 (grub_multiboot_unload): Free relocators.
13244 (grub_multiboot): Setup stack. Use relocators.
13245 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13246 (grub_multiboot_load_elfXX): Use relocators.
13247 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13248 (grub_multiboot_payload_size): Likewise.
13249 (grub_multiboot_payload_dest): Likewise.
13250 (grub_multiboot_payload_entry_offset): Likewise.
13251 (grub_multiboot_forward_relocator): Likewise.
13252 (grub_multiboot_backward_relocator): Likewise.
13253 (grub_multiboot_real_boot): Likewise.
13254 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13255 (grub_xnu_entry_point): Likewise.
13256 (grub_xnu_arg1): Likewise.
13257 (grub_xnu_stack): Likewise.
13258 (grub_xnu_launch): Removed.
13259 (grub_xnu_boot_resume): New function.
13260 (grub_xnu_boot): Use relocators.
13261 * loader/i386/xnu_helper.S: Removed.
13262 * loader/xnu.c (grub_xnu_heap_start): New variable.
13263 (grub_xnu_heap_size): Likewise.
13264 (grub_xnu_heap_malloc): Use relocators.
13265 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13266
13267 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13270 anything.
13271
13272 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13273
13274 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13275 GRUB_ERR_NONE before calling grub_env_set.
13276
13277 2009-12-12 Robert Millan <rmh@aybabtu.com>
13278
13279 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13280 * genmk.rb (video): New variable.
13281 (CLEANFILES, VIDEOFILES): Add #{video}.
13282 (#{video}): New target rule.
13283 * genvideolist.sh: New file.
13284 * Makefile.in (pkglib_DATA): Add video.lst.
13285 (video.lst): New target rule.
13286 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13287 `video.lst'.
13288 * util/grub.d/30_os-prober.in: Replace `vbe' with
13289 ${GRUB_VIDEO_BACKEND}.
13290
13291 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13292
13293 * THANKS: Add David Miller.
13294
13295 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 libpciaccess support.
13298
13299 * Makefile.in (LIBPCIACCESS): New variable.
13300 (enable_grub_emu_pci): Likewise.
13301 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13302 util/pci.c and commands/lspci.c.
13303 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13304 * configure.ac (grub-emu-pci): New option.
13305 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13306 (grub_pci_device_unmap_range): Likewise.
13307 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13308 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13309 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13310 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13311 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13312 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13313 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13314 * include/grub/pciutils.h: New file.
13315 * util/pci.c: Likewise.
13316
13317 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13318
13319 * util/misc.c: Don't include <errno.h> twice.
13320
13321 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13322
13323 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13324 name in an error message.
13325 (grub_biosdisk_rw): Likewise.
13326
13327 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 Eliminate NTFS 4Gib barrier.
13330
13331 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13332 (read_run_data): Likewise.
13333 (grub_ntfs_read_run_list): Likewise.
13334 (grub_ntfs_read_block): Likewise.
13335 (grub_ntfs_iterate_dir): Likewise.
13336 (read_mft): Likewise.
13337 (read_data): Likewise.
13338 Use COM_LOG_LEN.
13339 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13340 to avoid 64-bit division
13341 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13342 (grub_ntfs_rlst): Use grub_disk_addr_t.
13343
13344 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 Eliminate grub-fstest 4Gib barrier.
13347
13348 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13349 (read_file): Fix error reporting.
13350
13351 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 Eliminate hexdump 4Gib barrier.
13354
13355 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13356 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13357
13358 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13361 Fixes amarsh bug.
13362
13363 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13364
13365 Remove miscellaneous files in distclean target.
13366
13367 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13368
13369 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13370
13371 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13372 if they're already set. This resolves the conflict between my
13373 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13374 fixing the --grub-probe option again.
13375 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13376 change on 2009-10-06, so that we now once again source
13377 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13378
13379 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13380
13381 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13382 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13383 `util/devicemap.c'.
13384
13385 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13386
13387 * include/grub/misc.h (grub_printf_): New declaration.
13388 * kern/misc.c (grub_printf_): New definition.
13389 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13390 instead of `grub_printf' and `_'.
13391 * normal/menu_entry.c (store_completion): Likewise.
13392 (run): Likewise.
13393 (grub_menu_entry_run): Likewise.
13394 * normal/menu_text.c (grub_wait_after_message): Likewise.
13395 (notify_booting): Likewise.
13396 (notify_fallback): Likewise.
13397 (notify_execution_failure): Likewise.
13398
13399 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * configure.ac: Check for vasprintf.
13402 * util/misc.c (asprintf): Move allocation from here ...
13403 (vasprintf): ... to here. New function.
13404 (xasprintf): New function.
13405 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13406 prototypes.
13407 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13408 * util/grub-mkfont.c (write_font): Likewise.
13409 * util/grub-probe.c (probe): Likewise.
13410 * util/hostdisk.c (make_device_name): Likewise.
13411
13412 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13413
13414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13415 anything even prefixed with 'cdrom' as a cdrom.
13416
13417 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13418
13419 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13420 mount points.
13421
13422 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13423
13424 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13425 grub_gettext_msg_list.
13426 (grub_gettext_gettranslation_from_position): Return const char *
13427 and not char *.
13428 (grub_gettext_translate): Add the translated strings into a list,
13429 returns from the list if existing there.
13430 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13431 (grub_gettext_delete_list): Delete the list.
13432 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13433 lang environment variable is changed.
13434 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13435
13436 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Rename kernel.mod to kernel.img.
13439
13440 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13441 (kernel_mod_EXPORTS): Rename to ...
13442 (kernel_img_EXPORTS): ... this.
13443 (kernel_mod_SOURCES): Rename to ...
13444 (kernel_img_SOURCES): ... this.
13445 (kernel_mod_HEADERS): Rename to ...
13446 (kernel_img_HEADERS): ... this. All users updated.
13447 (kernel_mod_CFLAGS): Rename to ...
13448 (kernel_img_CFLAGS): ... this.
13449 (kernel_mod_ASFLAGS): Rename to ...
13450 (kernel_img_ASFLAGS): ... this.
13451 (kernel_mod_LDFLAGS): Rename to ...
13452 (kernel_img_LDFLAGS): ... this.
13453 * conf/x86_64-efi.rmk: Likewise.
13454 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13455 (read_kernel_image): ... this. All users updated.
13456 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13457
13458 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13459
13460 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13461 (print_spaces): New function.
13462 (grub_print_ucs4): New function.
13463 (getstringwidth): New function.
13464 (print_message_indented): New function.
13465 (print_message): Gettexttize strings using print_message_indented.
13466 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13467 width.
13468 (get_entry_number): Gettextize and uses dynamic terminal width.
13469 (notify_booting, notify_fallback, notify_execution_failure):
13470 Gettextize.
13471 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13472 string.
13473 (run): Likewise.
13474 (grub_menu_entry_run): Likewise.
13475 * PO/POTFILES: Add normal/menu_entry.c.
13476
13477 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13480
13481 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13482
13483 * util/grub-install.in: Install gettext .mo files.
13484 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13485
13486 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13487
13488 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13489 grub_dprintf.
13490
13491 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13492
13493 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13494 non-firmware-dependant one in realmode.S takes precedence.
13495
13496 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13497
13498 * commands/halt.c: Replace misc arch-specific headers with
13499 `<grub/misc.h>'.
13500 * commands/reboot.c: Likewise.
13501 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13502 `<grub/misc.h>'.
13503 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13504 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13505 (kernel_img_SOURCES): ... to here.
13506
13507 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13508 * include/grub/i386/pc/init.h: Likewise.
13509 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13510 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13511
13512 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13513
13514 * include/grub/i386/halt.h: Remove.
13515 * include/grub/i386/reboot.h: Likewise.
13516
13517 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13518
13519 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13520
13521 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13522 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13523 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13524 "progname.h"
13525 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13526 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13527 (usage): Add missing comma in printf.
13528
13529 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13530
13531 Use the same reboot approach on i386 coreboot and qemu as we do on
13532 BIOS.
13533
13534 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13535 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13536 * kern/i386/reboot.c: Remove.
13537 * include/grub/i386/reboot.h (grub_reboot): Export function.
13538 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13539 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13540 0xf000:0xfff0 instead of 0xffff:0x0000.
13541 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13542 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13543
13544 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13545
13546 Fix $srcdir != $objdir build.
13547
13548 * Makefile.in (po/%.po): Rewrite as ...
13549 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13550
13551 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13552
13553 Fix GNU/Hurd grub-install crash.
13554 * util/grub-probe.c (probe): Try to access `path' only when it is not
13555 NULL.
13556
13557 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 Correct module naming.
13560
13561 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13562 (GRUB_MOD_INIT(efi_uga)): ... to this
13563 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13564 (GRUB_MOD_FINI(efi_uga)): ... to this
13565 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13566 (GRUB_MOD_INIT(efi_gop)): ... to this
13567 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13568 (GRUB_MOD_FINI(efi_gop)): ... to this
13569
13570 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13571
13572 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13573 translatable.
13574 (usage): Translate `arg' strings using gettext().
13575 Thanks to Jordi Mallach for the suggestion.
13576
13577 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 GOP support. Based on patch from Bean
13580 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13581
13582 * video/efi_gop.c: New file.
13583 * include/grub/efi/graphics_output.h: Likewise.
13584 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13585 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13586 variables.
13587 * conf/x86_64-efi.rmk: Likewise.
13588
13589 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 Rename efi_fb to efi_uga.
13592
13593 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13594 'efi_uga.mod'.
13595 (efi_fb_mod_SOURCES): Rename this ...
13596 (efi_uga_mod_SOURCES): ... to this.
13597 (efi_fb_mod_CFLAGS): Rename this ...
13598 (efi_uga_mod_CFLAGS): ... to this.
13599 (efi_fb_mod_LDFLAGS): Rename this ...
13600 (efi_uga_mod_LDFLAGS): ... to this.
13601 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13602 'efi_uga.mod'.
13603 (efi_fb_mod_SOURCES): Rename this ...
13604 (efi_uga_mod_SOURCES): ... to this.
13605 (efi_fb_mod_CFLAGS): Rename this ...
13606 (efi_uga_mod_CFLAGS): ... to this.
13607 (efi_fb_mod_LDFLAGS): Rename this ...
13608 (efi_uga_mod_LDFLAGS): ... to this.
13609 * video/efi_fb.c: Move this ...
13610 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13611
13612 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13613
13614 * po/README: New file. Explain our PO file workflow.
13615
13616 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13617
13618 * po/ChangeLog: Remove. Move relevant entries back to ...
13619 * ChangeLog: ... here.
13620 * po/ca.po: Remove (now handled by TLP).
13621 * po/id.po: Likewise.
13622 * po/zh_CN.po: Likewise.
13623 * Makefile.in (LINGUAS): Initialize in a way that supports
13624 empty set.
13625
13626 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13627
13628 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13629 reliing on po/LINGUAS.
13630 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13631 (po/%.po): ... this.
13632
13633 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13634
13635 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13636 (main): Use `program_name' instead of nonexistent `progname'.
13637
13638 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13639
13640 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13641 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13642
13643 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13644
13645 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13646 commit.
13647 * conf/i386-efi.rmk: Likewise.
13648 * conf/i386-ieee1275.rmk: Likewise.
13649 * conf/powerpc-ieee1275.rmk: Likewise.
13650 * conf/sparc64-ieee1275.rmk: Likewise.
13651 * conf/x86_64-efi.rmk: Likewise.
13652
13653 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13654
13655 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13656
13657 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13658
13659 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13660
13661 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13662
13663 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13664 (grub_mkdevicemap_SOURCES): New variable.
13665 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13666 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13667 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13668 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13669 (grub_mkdevicemap_SOURCES): Remove.
13670 * conf/i386-efi.rmk: Likewise.
13671 * conf/i386-ieee1275.rmk: Likewise.
13672 * conf/i386-pc.rmk: Likewise.
13673 * conf/powerpc-ieee1275.rmk: Likewise.
13674 * conf/sparc64-ieee1275.rmk: Likewise.
13675 * conf/x86_64-efi.rmk: Likewise.
13676 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13677 (usage): Fix strings to use `program_name'.
13678 (main): Initialize gettext.
13679 * util/grub-editenv.c: Likewise.
13680 * util/grub-emu.c: Likewise.
13681 * util/grub-fstest.c: Likewise.
13682 * util/grub-mkdevicemap.c: Likewise.
13683 * util/grub-mkfont.c: Likewise.
13684 * util/grub-mkrelpath.c: Likewise.
13685 * util/grub-pe2elf.c: Likewise.
13686 * util/grub-probe.c: Likewise.
13687 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13688 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13689 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13690
13691 * util/misc.c: Include `"progname.h"'.
13692 (progname): Remove variable.
13693 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13694
13695 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13696
13697 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13698 printf and print a newline after the menuentry header line.
13699 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13700
13701 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13702
13703 autoconf >= 2.60 support $(localedir).
13704
13705 * INSTALL: Note that autoconf 2.60 is required.
13706 * configure.ac (AC_PREREQ): Bump to 2.60.
13707 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13708 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13709
13710 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13711
13712 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13713 aclocal is run.
13714
13715 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13716
13717 * normal/main.c (grub_normal_read_line): Fix off-by-one
13718 buffer overflow.
13719
13720 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13721
13722 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13723 "parser.grub" in grub_command_execute() call.
13724
13725 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13726
13727 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13728 * conf/i386-efi.rmk: Likewise.
13729 * conf/i386-ieee1275.rmk: Likewise.
13730 * conf/i386-pc.rmk: Likewise.
13731 * conf/powerpc-ieee1275.rmk: Likewise.
13732 * conf/sparc64-ieee1275.rmk: Likewise.
13733 * conf/x86_64-efi.rmk: Likewise.
13734 * gettext/gettex.c: Include <grub/i18n.h>.
13735 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13736 here ...
13737 * include/grub/i18n.h: ... to here
13738 * include/grub/i18n.h: ... to here.
13739 * kern/misc.c: Include <grub/i18n.h>
13740 (grub_gettext_dummy): Move above user.
13741
13742 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13743
13744 * util/Makefile.in (install-local): Convert a `for' into a normal
13745 shell expansion.
13746
13747 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13748
13749 * autogen.sh: Add automake call.
13750 * config.guess: Remove.
13751 * config.sub: Likewise.
13752 * install-sh: Likewise.
13753
13754 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13755
13756 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13757
13758 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13759
13760 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13761 function to a normal shell `for'.
13762
13763 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13764
13765 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13766
13767 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13768
13769 * util/grub-mkrelpath.c: New file.
13770 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13771 (grub_mkrelpath_SOURCES): New variable.
13772 * include/grub/util/misc.h: New function prototype.
13773 * util/misc.c (make_system_path_relative_to_its_root): New function.
13774
13775 * util/grub-mkconfig_lib.in (bindir): New variable.
13776 (grub_mkrelpath): Likewise.
13777 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13778
13779 * util/probe.c (probe): Make the file path relative to its root.
13780 Change a info message to use the GRUB path. Enable again the
13781 check if we can read the file with GRUB facilities.
13782
13783 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13784 to its root.
13785
13786 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13787
13788 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13789 platform.
13790
13791 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13792
13793 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13794 strncmp().
13795
13796 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13797
13798 * util/getroot.c (grub_util_is_dmraid): New function.
13799 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13800 devices as normal ones, not as LVM.
13801
13802 2009-11-23 Carles Pina i Estany <carles@pina.cat>
13803
13804 * conf/common.rmk: Add grub-gettext_lib target and updates
13805 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13806 LDFLAGS.
13807 * gettext/gettext.c: New file. (Reads mo files).
13808 * include/grub/file.h (grub_file_pread): New prototype.
13809 * include/grub/i18n.h (_): New prototype.
13810 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13811 prototypes.
13812 * kern/misc.c (grub_gettext_dummy): New function.
13813 * normal/menu_text.c: Include <grub/i18n.h>.
13814 * normal/menu_text.c (print_timeout): Gettexttize string.
13815 * normal/menu_text.c (print_message): Gettexttize string.
13816 * po/POTFILES: Add `normal/menu_text.c'.
13817 * po/ca.po: Add new translations.
13818 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13819 gettext module and defines locale_dir and lang in grub.cfg.
13820 * NEWS: Add gettext support.
13821
13822 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13823
13824 * util/hostdisk.c: Include `<grub/i18n.h>'.
13825 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13826 (make_device_name): Rewrite using asprintf.
13827 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13828 (find_system_device): If a device is not found, generate one just
13829 by reusing the OS path name.
13830 (read_device_map): Make it permissible for device.map not to exist.
13831
13832 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13833
13834 * script/sh/execute.c: Move from here ...
13835 * script/execute.c: ... to here. Update all users.
13836 * script/sh/function.c: Move from here ...
13837 * script/function.c: ... to here. Update all users.
13838 * script/sh/lexer.c: Move from here ...
13839 * script/lexer.c: ... to here. Update all users.
13840 * script/sh/main.c: Move from here ...
13841 * script/main.c: ... to here. Update all users.
13842 * script/sh/parser.y: Move from here ...
13843 * script/parser.y: ... to here. Update all users.
13844 * script/sh/script.c: Move from here ...
13845 * script/script.c: ... to here. Update all users.
13846
13847 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13848
13849 * configure.ac: Detect all `emu' platforms. Define
13850 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13851 --enable-grub-emu logic. Disable include/grub/machine
13852 symlink on `emu' platforms.
13853
13854 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13855 * gensymlist.sh.in: Likewise.
13856
13857 * include/grub/i386/coreboot/machine.h: Remove file.
13858 * include/grub/i386/efi/machine.h: Likewise.
13859 * include/grub/i386/ieee1275/machine.h: Likewise.
13860 * include/grub/i386/pc/machine.h: Likewise.
13861 * include/grub/i386/qemu/machine.h: Likewise.
13862 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13863 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13864 * include/grub/x86_64/efi/machine.h: Likewise.
13865
13866 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13867 * commands/halt.c: Likewise.
13868 * commands/reboot.c: Likewise.
13869 * include/grub/autoefi.h: Likewise.
13870 * include/grub/i386/at_keyboard.h: Likewise.
13871 * include/grub/i386/kernel.h: Likewise.
13872 * include/grub/i386/loader.h: Likewise.
13873 * include/grub/i386/pc/memory.h: Likewise.
13874 * kern/dl.c: Likewise.
13875 * kern/i386/coreboot/init.c: Likewise.
13876 * loader/i386/bsd.c: Likewise.
13877 * loader/i386/linux.c: Likewise.
13878 * loader/multiboot_loader.c: Likewise.
13879 * term/i386/pc/serial.c: Likewise.
13880 * term/usb_keyboard.c: Likewise.
13881
13882 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13883 `<grub/machine/machine.h>'
13884 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13885 * util/misc.c: Remove `<grub/machine/machine.h>' and
13886 `<grub/machine/time.h>'.
13887
13888 * Makefile.in (enable_grub_emu): Remove variable.
13889 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13890
13891 * conf/any-emu.rmk: New file.
13892 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13893 (grub_emu_init.c): Move from here ...
13894 * conf/any-emu.rmk: ... to here.
13895
13896 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13897 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13898 * conf/any-emu.rmk: ... to here.
13899
13900 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13901
13902 * include/grub/parser.h (grub_parser_register): Document need
13903 of `name' parameter.
13904 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13905 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13906 "sh" to "grub".
13907
13908 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13909
13910 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13911 `$(XGETTEXT)'.
13912 * include/grub/i18n.h (N_): New macro.
13913 * util/mkisofs/mkisofs.h: Likewise.
13914 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13915 around N_().
13916 (usage): Use gettext() to translate help strings when printing them.
13917
13918 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13919
13920 Based on patch from Bean
13921 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13922
13923 * video/efi_fb.c: New file.
13924 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13925 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13926 variables.
13927 * conf/x86_64-efi.rmk: Likewise.
13928
13929 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13930
13931 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13932 * util/i386/pc/grub-setup.c: Likewise.
13933
13934 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13935
13936 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13937 <hurd/fs.h>
13938 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13939 file_get_storage_info to implement grub_guess_root_device.
13940
13941 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13942
13943 * Makefile.in (target): Use make's builtin $(shell) function
13944 instead of calling directly $(SHELL) to create the locale directories,
13945 inside the $(foreach) function.
13946
13947 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13948
13949 * util/grub-mkrescue.in: Print an error and usage if output option
13950 has not been given.
13951
13952 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13953
13954 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13955 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13956 root and /boot are on different devices.
13957
13958 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13959
13960 Fix build for srcdir != objdir.
13961
13962 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13963 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13964 $(srcdir).
13965 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13966 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13967 reference for input.
13968
13969 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13970
13971 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13972 or hardlinking it). Remove -J option, Joliet is not compatible with
13973 multiple source directories.
13974
13975 2009-11-21 Carles Pina i Estany <carles@pina.cat>
13976 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13977
13978 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13979 (process_input_dir): New function. Process an arbitrary input
13980 directory.
13981 Misc adjustments to support both "override mode" and system-wide mode.
13982
13983 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13984
13985 * configure.ac (UNIFONT_BDF): Rename to ...
13986 (FONT_SOURCE): ... this. Update all users.
13987
13988 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13989
13990 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13991 to the list of unifont files to look for.
13992
13993 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13994
13995 Patch from Joe Auricchio <jauricchio@gmail.com>
13996 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13997 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13998 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13999
14000 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14001
14002 * Makefile.in (install-local): Add a missing backslash.
14003
14004 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14005
14006 * include/grub/x86_64/io.h: New file.
14007
14008 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14009
14010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14011 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14012 Include `"progname.h"'.
14013 (main): Initialize gettext.
14014 * util/i386/pc/grub-setup.c: Gettexttize.
14015 * util/i386/pc/grub-mkimage.c: Likewise.
14016
14017 * Makefile.in (po/*.po): Redefine as ...
14018 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14019
14020 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14021
14022 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14023
14024 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14025 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14026 (program_name): Remove.
14027 (main): Initialize gettext support.
14028 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14029 Include `<libintl.h>'.
14030 (_): New macro.
14031
14032 * util/mkisofs/eltorito.c: Gettexttize.
14033 * util/mkisofs/joliet.c: Likewise.
14034 * util/mkisofs/mkisofs.c: Likewise.
14035 * util/mkisofs/multi.c: Likewise.
14036 * util/mkisofs/rock.c: Likewise.
14037 * util/mkisofs/tree.c: Likewise.
14038 * util/mkisofs/write.c: Likewise.
14039
14040 * po/POTFILES: Update with new files.
14041
14042 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14043
14044 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14045 * util/mkisofs/iso9660.h: Likewise.
14046 * util/mkisofs/joliet.c: Likewise.
14047 * util/mkisofs/mkisofs.c: Likewise.
14048 * util/mkisofs/mkisofs.h: Likewise.
14049 * util/mkisofs/rock.c: Likewise.
14050 * util/mkisofs/tree.c: Likewise.
14051 * util/mkisofs/write.c: Likewise.
14052
14053 * util/mkisofs/eltorito.c (rcsid): Remove.
14054 * util/mkisofs/hash.c: Likewise.
14055 * util/mkisofs/joliet.c: Likewise.
14056 * util/mkisofs/name.c: Likewise.
14057 * util/mkisofs/rock.c: Likewise.
14058 * util/mkisofs/tree.c: Likewise.
14059 * util/mkisofs/write.c: Likewise.
14060
14061 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14062
14063 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14064 instead of static allocation.
14065 * util/mkisofs/match.h: Likewise.
14066
14067 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14068
14069 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14070 and `util/grub.d/10_linux.in'.
14071 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14072 translatable Shell files.
14073
14074 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14075
14076 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14077
14078 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14079
14080 * INSTALL: Document Automake is needed for bootstrap.
14081 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14082 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14083 Add gettext initialization.
14084 (kfreebsd_entry): Make menuentry output translatable.
14085
14086 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14087
14088 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14089 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14090 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14091 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14092 (LINGUAS): Auto-generate using `po/LINGUAS'.
14093 * po/LINGUAS: New file.
14094
14095 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14096
14097 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14098 other things).
14099 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14100 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14101 bindtextdomain() calls for gettext initialization.
14102
14103 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14104
14105 * gnulib/progname.c: New file (imported from Gnulib).
14106 * gnulib/progname.h: Likewise.
14107 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14108 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14109 (usage): Replace `progname' with `program_name'.
14110 (main): Use set_program_name() for program name initialization.
14111
14112 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14113
14114 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14115 from here ...
14116 * Makefile.in (CPPFLAGS): ... to here.
14117
14118 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14119
14120 * aclocal.m4: Move from here ...
14121 * acinclude.m4: ... to here.
14122 * autogen.sh: Add call to `aclocal'.
14123 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14124
14125 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14126
14127 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14128 (LINGUAS): New variable.
14129 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14130 (install-local): Install MO files.
14131 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14132 * include/grub/i18n.h: New file.
14133 * po/POTFILES: New file.
14134 * po/ca.po: New file.
14135 * util/grub.d/10_linux.in (bindir): New variable.
14136 Add gettext initialization.
14137 (linux_entry): Make menuentry output translatable.
14138 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14139 (usage): Make --help output translatable.
14140 (main): Initialize gettext.
14141
14142 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14143
14144 * import_gcry.py: New file (written by Vladimir with minor
14145 adjustments).
14146 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14147 ciphers.
14148 * INSTALL: Document that Python is required for bootstrap.
14149
14150 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14151
14152 Import ciphers from libgcrypt 1.4.4.
14153
14154 * lib/libgcrypt/cipher/ChangeLog
14155 * lib/libgcrypt/cipher/ac.c
14156 * lib/libgcrypt/cipher/arcfour.c
14157 * lib/libgcrypt/cipher/bithelp.h
14158 * lib/libgcrypt/cipher/blowfish.c
14159 * lib/libgcrypt/cipher/camellia-glue.c
14160 * lib/libgcrypt/cipher/camellia.c
14161 * lib/libgcrypt/cipher/camellia.h
14162 * lib/libgcrypt/cipher/cast5.c
14163 * lib/libgcrypt/cipher/cipher.c
14164 * lib/libgcrypt/cipher/crc.c
14165 * lib/libgcrypt/cipher/des.c
14166 * lib/libgcrypt/cipher/dsa.c
14167 * lib/libgcrypt/cipher/ecc.c
14168 * lib/libgcrypt/cipher/elgamal.c
14169 * lib/libgcrypt/cipher/hash-common.c
14170 * lib/libgcrypt/cipher/hash-common.h
14171 * lib/libgcrypt/cipher/hmac-tests.c
14172 * lib/libgcrypt/cipher/md.c
14173 * lib/libgcrypt/cipher/md4.c
14174 * lib/libgcrypt/cipher/md5.c
14175 * lib/libgcrypt/cipher/primegen.c
14176 * lib/libgcrypt/cipher/pubkey.c
14177 * lib/libgcrypt/cipher/rfc2268.c
14178 * lib/libgcrypt/cipher/rijndael-tables.h
14179 * lib/libgcrypt/cipher/rijndael.c
14180 * lib/libgcrypt/cipher/rmd.h
14181 * lib/libgcrypt/cipher/rmd160.c
14182 * lib/libgcrypt/cipher/rsa.c
14183 * lib/libgcrypt/cipher/seed.c
14184 * lib/libgcrypt/cipher/serpent.c
14185 * lib/libgcrypt/cipher/sha1.c
14186 * lib/libgcrypt/cipher/sha256.c
14187 * lib/libgcrypt/cipher/sha512.c
14188 * lib/libgcrypt/cipher/tiger.c
14189 * lib/libgcrypt/cipher/twofish.c
14190 * lib/libgcrypt/cipher/whirlpool.c
14191
14192 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14193
14194 Fix build for systems without error().
14195
14196 * gnulib/error.c: New file (imported from Gnulib).
14197 * gnulib/error.h: Likewise.
14198 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14199 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14200 (this variable is now used by error()).
14201
14202 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14203
14204 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14205 instead of relying that char is signed.
14206
14207 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14210 blocksize different from specified.
14211 (grub_pxefs_read): Likewise.
14212
14213 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14214
14215 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14216
14217 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14218 (grub_ata_readwrite): Likewise. Update 2 format strings.
14219 (grub_atapi_read): Likewise.
14220
14221 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14222 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14223 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14224 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14225 (ata_mod_LDFLAGS): Move from here ...
14226 * conf/i386.rmk: ... to here ...
14227 * conf/x86_64-efi.rmk: ... and here.
14228 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14229 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14230
14231 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14232
14233 Relicense multiboot.h, with RMS' blessing.
14234
14235 * include/multiboot.h: Change to X11 license.
14236
14237 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14238
14239 Support --version in grub-mkisofs.
14240
14241 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14242 (OPTION_VERSION): New macro.
14243 (ld_options): Recognize --version.
14244 (usage): Move `program_name' from here ...
14245 (program_name): ... to here. Add `static' qualifier.
14246 (main): Recognize `OPTION_VERSION'.
14247
14248 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14249
14250 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14251 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14252
14253 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14254
14255 Fix help2man generation for mkisofs.
14256
14257 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14258 (usage): Send output to stdout (rather than stderr).
14259
14260 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14261
14262 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14263 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14264 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14265 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14266 (bin_SCRIPTS): Add `grub-mkfloppy'.
14267 (grub_mkfloppy_SOURCES): New variable.
14268
14269 * util/grub-mkrescue.in: New file.
14270 * util/i386/pc/grub-mkfloppy.in: New file.
14271
14272 * util/i386/coreboot/grub-mkrescue.in: Remove.
14273 * util/i386/pc/grub-mkrescue.in: Remove.
14274
14275 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14276
14277 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14278 from here ...
14279 * include/multiboot.h (struct multiboot_header): ... to here. Update
14280 all users.
14281 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14282 from here ...
14283 * include/multiboot.h (struct multiboot_info): ... to here. Update
14284 all users.
14285 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14286 from here ...
14287 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14288 Update all users.
14289 * include/grub/multiboot.h (struct grub_mod_list): Move
14290 from here ...
14291 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14292 Update all users.
14293
14294 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14295
14296 * include/multiboot2.h (multiboot_word): Rename from this ...
14297 (multiboot2_word): ... to this. Update all users.
14298 (multiboot_header): Rename from this ...
14299 (multiboot2_header): ... to this. Update all users.
14300 (multiboot_tag_header): Rename from this ...
14301 (multiboot2_tag_header): ... to this. Update all users.
14302 (multiboot_tag_start): Rename from this ...
14303 (multiboot2_tag_start): ... to this. Update all users.
14304 (multiboot_tag_name): Rename from this ...
14305 (multiboot2_tag_name): ... to this. Update all users.
14306 (multiboot_tag_module): Rename from this ...
14307 (multiboot2_tag_module): ... to this. Update all users.
14308 (multiboot_tag_memory): Rename from this ...
14309 (multiboot2_tag_memory): ... to this. Update all users.
14310 (multiboot_tag_unused): Rename from this ...
14311 (multiboot2_tag_unused): ... to this. Update all users.
14312 (multiboot_tag_end): Rename from this ...
14313 (multiboot2_tag_end): ... to this. Update all users.
14314
14315 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14316
14317 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14318 this platform we should support Multiboot1 first.
14319
14320 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14321 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14322 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14323
14324 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14325
14326 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14327 of write calls (converting them to fwrite() if they aren't already).
14328 (get_torito_desc): Likewise.
14329 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14330
14331 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14332
14333 * util/i386/pc/grub-install.in: Move from here ...
14334 * util/grub-install.in: ... to here. Update all users.
14335
14336 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14337
14338 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14339
14340 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14341
14342 Support for El Torito without floppy emulation.
14343
14344 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14345 (init_boot_catalog): Improve error handling.
14346 (get_torito_desc): Don't use floppy emulation unless requested by
14347 user. Patch boot information table when requested via
14348 `-boot-info-table'.
14349 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14350 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14351 (use_boot_info_table): New variables.
14352 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14353 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14354 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14355 `--eltorito-emul-floppy'.
14356 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14357 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14358 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14359 (use_boot_info_table, get_731): New prototypes.
14360 * util/mkisofs/write.c (get_731): New function.
14361
14362 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14363
14364 Fix the generation of the man page.
14365
14366 * util/pc/i386/grub-install.in: Source
14367 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14368
14369 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14370
14371 Large file support for grub-mkisofs.
14372
14373 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14374 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14375 (session_start): Upgrade type to `uint64_t'. Update all users.
14376 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14377 (struct directory_entry): Upgrade type of `starting_block' and
14378 `size' to `uint64_t'. Update all users.
14379 (struct deferred): Remove unused structure.
14380 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14381 Update all users.
14382 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14383 file is larger than `UINT32_MAX'.
14384 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14385 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14386 return value.
14387 (struct deferred_write): Upgrade type of `extent' and `size' to
14388 `uint64_t'. Update all users.
14389 (last_extent_written): Upgrade type to `uint64_t'. Update all
14390 users.
14391 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14392 Update all users. Upgrade type of `remain' to `int64_t' and
14393 `use' to `size_t'. Use error() to handle fread() errors.
14394 (write_files): Rely on write_one_file() rather than calling
14395 xfwrite() directly.
14396
14397 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14398
14399 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14400
14401 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14402
14403 * util/mkisofs/fnmatch.c: Remove.
14404 * util/mkisofs/getopt1.c: Likewise.
14405 * util/mkisofs/getopt.c: Likewise.
14406 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14407 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14408 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14409 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14410 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14411
14412 * configure.ac: Detect `mingw32msvc' host_os.
14413 Check for lstat(), getuid() and getgid().
14414
14415 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14416 instances of `u_char' with `uint8_t'.
14417
14418 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14419 [!HAVE_GETUID] (getuid): New function (stub).
14420 [!HAVE_GETGID] (getgid): Likewise.
14421 [!HAVE_LSTAT] (lstat): Likewise.
14422 [!S_IROTH] (S_IROTH): New macro (dummy).
14423 [!S_IRGRP] (S_IRGRP): Likewise.
14424
14425 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14426
14427 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14428 conditional expression).
14429
14430 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14431
14432 Import from Gnulib.
14433
14434 * gnulib/fnmatch.c: New file.
14435 * gnulib/fnmatch.h: Likewise.
14436 * gnulib/fnmatch_loop.c: Likewise.
14437 * gnulib/getopt.c: Likewise.
14438 * gnulib/getopt.h: Likewise.
14439 * gnulib/getopt1.c: Likewise.
14440 * gnulib/getopt_int.h: Likewise.
14441 * gnulib/gettext.h: Likewise.
14442
14443 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14444
14445 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14446 * normal/handler.c (read_handler_list): Likewise.
14447
14448 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14449
14450 Misc cleanup.
14451
14452 * kern/command.c (grub_register_command_prio): Use
14453 grub_zalloc() instead of explicitly zeroing data.
14454 * kern/list.c: Include `<grub/mm.h>'.
14455 (grub_named_list_find): Replace `0' with `NULL'.
14456 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14457 (fs_module_list): Change type to `grub_named_list_t'. Update all
14458 users.
14459 * normal/dyncmd.c (read_command_list): Add space between function
14460 call and parenthesis.
14461 * normal/handler.c (read_handler_list): Likewise.
14462
14463 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14464
14465 * normal/auth.c (punishment_delay): Moved from here ...
14466 (grub_auth_strcmp): ... to here (inside function).
14467
14468 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14469
14470 * include/grub/list.h (struct grub_named_list): Remove `const'
14471 qualifier from `name'.
14472 (struct grub_prio_list): Likewise.
14473
14474 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14475
14476 * normal/auth.c: Include `<grub/time.h>'.
14477 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14478
14479 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14480
14481 * normal/auth.c (punishment_delay): New variable.
14482 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14483 (grub_auth_check_authentication): Punish failed login attempts with
14484 an incremental (2^N) delay.
14485
14486 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14487
14488 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14489 path with $(srcdir).
14490
14491 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14494
14495 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14496
14497 * util/i386/coreboot/grub-mkrescue.in: New file.
14498 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14499 variables.
14500
14501 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14502 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14503 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14504 requirements.
14505 * util/mkisofs/defaults.h: New file.
14506 * util/mkisofs/eltorito.c: Likewise.
14507 * util/mkisofs/exclude.h: Likewise.
14508 * util/mkisofs/fnmatch.c: Likewise.
14509 * util/mkisofs/getopt.c: Likewise.
14510 * util/mkisofs/getopt1.c: Likewise.
14511 * util/mkisofs/hash.c: Likewise.
14512 * util/mkisofs/include/fctldefs.h: Likewise.
14513 * util/mkisofs/include/mconfig.h: Likewise.
14514 * util/mkisofs/include/prototyp.h: Likewise.
14515 * util/mkisofs/include/statdefs.h: Likewise.
14516 * util/mkisofs/iso9660.h: Likewise.
14517 * util/mkisofs/joliet.c: Likewise.
14518 * util/mkisofs/match.c: Likewise.
14519 * util/mkisofs/match.h: Likewise.
14520 * util/mkisofs/mkisofs.c: Likewise.
14521 * util/mkisofs/mkisofs.h: Likewise.
14522 * util/mkisofs/multi.c: Likewise.
14523 * util/mkisofs/name.c: Likewise.
14524 * util/mkisofs/rock.c: Likewise.
14525 * util/mkisofs/tree.c: Likewise.
14526 * util/mkisofs/write.c: Likewise.
14527
14528 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14531 being insecure.
14532
14533 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14534
14535 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14536 `grub-mkimage' (and use $0 when possible).
14537
14538 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14539
14540 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14541 error message for excessively large memory map.
14542
14543 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14544
14545 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14546 executable bit.
14547
14548 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14549
14550 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14551 message for coreboot users.
14552
14553 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14554
14555 Fix build with GNU gold.
14556
14557 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14558 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14559 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14560 link addresses.
14561 * aclocal.m4: Likewise.
14562
14563 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14564
14565 * configure.ac (AC_PREREQ): Bump to 2.59d.
14566 * INSTALL: Make it more clear when Autoconf and Ruby are
14567 needed and when to run `./autogen.sh'.
14568
14569 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14570
14571 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14572 OSes.
14573
14574 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14575
14576 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14577
14578 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14579
14580 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14581 giving it to GNU Mach.
14582
14583 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14584
14585 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14586 GNU partition number to get internal GRUB partition number.
14587
14588 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14589
14590 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14591 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14592
14593 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14594
14595 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14596 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14597 case.
14598
14599 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14600
14601 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14602
14603 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14604
14605 Fix build problem.
14606
14607 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14608 `-isystem=$(srcdir)/include'.
14609
14610 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14611
14612 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14613 checked (grub-install doesn't currently rely on it).
14614
14615 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14616
14617 Revert SVN r2660.
14618
14619 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14620 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14621 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14622 * conf/i386-ieee1275.rmk: Likewise.
14623 * conf/i386-pc.rmk: Likewise.
14624 * conf/powerpc-ieee1275.rmk: Likewise.
14625 * conf/sparc64-ieee1275.rmk: Likewise.
14626 * conf/x86_64-efi.rmk: Likewise.
14627
14628 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14629
14630 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14631
14632 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14633
14634 * include/grub/misc.h: Stop checking for APPLE_CC.
14635
14636 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14637
14638 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14639 doesn't cause an infinite call loop.
14640
14641 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14642
14643 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14644 strings.
14645
14646 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14647
14648 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14649 variable.
14650 * Makefile.in: Likewise.
14651
14652 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14653
14654 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14655
14656 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14659
14660 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14661
14662 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14663
14664 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14665
14666 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14667 from here ...
14668 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14669
14670 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14671
14672 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14673 in $(MAKEINFO) invocation. This makes it clear in output that
14674 errors are being ignored.
14675
14676 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14677
14678 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14679 from here ...
14680 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14681 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14682 * conf/i386-ieee1275.rmk: Likewise.
14683 * conf/i386-pc.rmk: Likewise.
14684 * conf/powerpc-ieee1275.rmk: Likewise.
14685 * conf/sparc64-ieee1275.rmk: Likewise.
14686 * conf/x86_64-efi.rmk: Likewise.
14687
14688 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14689
14690 * util/grub-editenv.c (main): If only a command is given, use
14691 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14692 (usage): FILENAME is now optional and has a default.
14693
14694 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14695
14696 Improve grub-mkconfig performance when there are several menu
14697 entries on a single filesystem.
14698
14699 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14700 prepare_grub_to_access_device.
14701 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14702 * util/grub.d/30_os-prober.in: Likewise.
14703
14704 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14705
14706 * util/grub.d/10_freebsd.in: Remove.
14707 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14708 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14709
14710 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14711
14712 * docs/grub.cfg: Fix example usage of *BSD loaders.
14713
14714 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14715
14716 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14717 grub_util_error() call.
14718
14719 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14720
14721 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14722 `reserved_first_sector' member.
14723 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14724 `reserved_first_sector' to 1.
14725 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14726 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14727 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14728 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14729 filesystems which begin at first sector.
14730 (options): New option --skip-fs-probe.
14731 (main): Handle --skip-fs-probe and pass it to setup().
14732
14733 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14734
14735 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14736 (memset): Fix function prototype.
14737
14738 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14739 2009-10-25 Vasily Averin <vvs@parallels.com>
14740
14741 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14742 `dirent.direntlen == 0'.
14743
14744 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14745
14746 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14747 `cpio'.
14748 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14749
14750 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14751
14752 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14753 `__trampoline_setup' and `__ucmpdi2'.
14754 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14755 that libgcc provides.
14756
14757 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14758
14759 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14760 * include/grub/sparc64/libgcc.h (memset): Likewise.
14761 * include/grub/misc.h (memset, memcmp): New function prototypes.
14762
14763 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14764
14765 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14766 `cpio'.
14767 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14768
14769 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14770
14771 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14772 * docs/grub.cfg: Compensate for recent change in multiboot
14773 loader (since 2009-08-14 it won't pass filename to payload).
14774 * util/grub.d/10_hurd.in: Likewise.
14775
14776 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
14777
14778 * config.guess: Update to latest version from config git
14779 repository.
14780 * config.sub: Likewise.
14781
14782 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14783
14784 Fix build on sparc64.
14785
14786 * configure.ac: Perform checks for libgcc symbols before
14787 adding `-nostdlib' to LDFLAGS.
14788
14789 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Let user specify OpenBSD root device.
14792
14793 * loader/i386/bsd.c (openbsd_root): New variable.
14794 (openbsd_opts): New option 'root'.
14795 (OPENBSD_ROOT_ARG): New macro.
14796 (grub_openbsd_boot): Use 'openbsd_root'.
14797 (grub_cmd_openbsd): Fill 'openbsd_root'.
14798
14799 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14800
14801 * NEWS: Misc adjustments.
14802
14803 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14806
14807 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14808
14809 * configure.ac: Bump version to 1.97.
14810
14811 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
14812
14813 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14814 -mno-3dnow on x86 architectures. Some toolchains enable these
14815 features by default, but they rely on registers that aren't enabled
14816 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14817
14818 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14819
14820 Make entry text a bit more readable.
14821
14822 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14823
14824 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14827
14828 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14831 operations.
14832
14833 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * configure.ac: Add missing dollar.
14836
14837 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14840
14841 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14842 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14843 exports.
14844 * include/grub/sparc64/libgcc.h: Likewise. Use
14845 preprocessor conditionals.
14846
14847 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14848
14849 * conf/common.rmk (grub-dumpbios): Remove rule.
14850 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14851 * util/grub-dumpbios.in: Remove file.
14852
14853 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14854
14855 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14856 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14857
14858 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14859 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14860 users.
14861
14862 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14863 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14864 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14865 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14866 users.
14867
14868 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 * term/tparm.c: Switch to GPLv3.
14871
14872 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14873
14874 * include/grub/i386/cpuid.h: Add header protection.
14875
14876 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14877
14878 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14879
14880 * include/grub/i386/cpuid.h: New file.
14881 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14882 (has_longmode): Rename to ...
14883 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14884 `static' attribute.
14885 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14886 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14887 on a CPU that doesn't implement AMD64 instruction set.
14888
14889 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14890
14891 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14892 that version.texi is rebuilt on version number changes.
14893
14894 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14895
14896 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14897 Fixes bug #27602.
14898
14899 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14900
14901 * util/i386/pc/grub-install.in: Source
14902 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14903 that the --grub-probe option will work.
14904 * util/sparc64/ieee1275/grub-install.in: Likewise.
14905
14906 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14907
14908 * configure.ac: Bump version to 1.97~beta4.
14909
14910 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14911
14912 Resync grub-mkdevicemap in x86_64-efi.
14913
14914 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14915 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14916 `util/devicemap.c'.
14917
14918 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
14919
14920 * util/grub-editenv.c (create_envblk_file): Write new block with a
14921 .new suffix and then rename it into place, to ensure atomic
14922 creation.
14923
14924 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14925
14926 Do not automatically install headers.
14927
14928 * Makefile.in (include_DATA): Remove. Update all users.
14929
14930 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14933 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14934
14935 * util/osdetect.lua: Remove.
14936 * script/lua/lauxlib.c: Likewise.
14937 * script/lua/ldebug.c: Likewise.
14938 * script/lua/grub_main.c: Likewise.
14939 * script/lua/lauxlib.h: Likewise.
14940 * script/lua/ldebug.h: Likewise.
14941 * script/lua/ltablib.c: Likewise.
14942 * script/lua/liolib.c: Likewise.
14943 * script/lua/lstrlib.c: Likewise.
14944 * script/lua/lualib.h: Likewise.
14945 * script/lua/ldo.c: Likewise.
14946 * script/lua/ldump.c: Likewise.
14947 * script/lua/ldo.h: Likewise.
14948 * script/lua/loslib.c: Likewise.
14949 * script/lua/lundump.c: Likewise.
14950 * script/lua/grub_lib.c: Likewise.
14951 * script/lua/ldblib.c: Likewise.
14952 * script/lua/lundump.h: Likewise.
14953 * script/lua/lmem.c: Likewise.
14954 * script/lua/grub_lib.h: Likewise.
14955 * script/lua/lmathlib.c: Likewise.
14956 * script/lua/lstate.c: Likewise.
14957 * script/lua/ltm.c: Likewise.
14958 * script/lua/lvm.c: Likewise.
14959 * script/lua/lmem.h: Likewise.
14960 * script/lua/lstate.h: Likewise.
14961 * script/lua/ltm.h: Likewise.
14962 * script/lua/ltable.c: Likewise.
14963 * script/lua/lvm.h: Likewise.
14964 * script/lua/llex.c: Likewise.
14965 * script/lua/lgc.c: Likewise.
14966 * script/lua/grub_lua.h: Likewise.
14967 * script/lua/loadlib.c: Likewise.
14968 * script/lua/lfunc.c: Likewise.
14969 * script/lua/lopcodes.c: Likewise.
14970 * script/lua/lparser.c: Likewise.
14971 * script/lua/ltable.h: Likewise.
14972 * script/lua/llex.h: Likewise.
14973 * script/lua/lgc.h: Likewise.
14974 * script/lua/lfunc.h: Likewise.
14975 * script/lua/lbaselib.c: Likewise.
14976 * script/lua/lopcodes.h: Likewise.
14977 * script/lua/lparser.h: Likewise.
14978 * script/lua/lzio.c: Likewise.
14979 * script/lua/linit.c: Likewise.
14980 * script/lua/lobject.c: Likewise.
14981 * script/lua/llimits.h: Likewise.
14982 * script/lua/lstring.c: Likewise.
14983 * script/lua/lzio.h: Likewise.
14984 * script/lua/lapi.c: Likewise.
14985 * script/lua/lcode.c: Likewise.
14986 * script/lua/lua.h: Likewise.
14987 * script/lua/lobject.h: Likewise.
14988 * script/lua/lstring.h: Likewise.
14989 * script/lua/lapi.h: Likewise.
14990 * script/lua/lcode.h: Likewise.
14991 * script/lua/luaconf.h: Likewise.
14992
14993 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
14994
14995 * docs/grub.texi (Command-line and menu entry commands): Document
14996 date and echo commands.
14997
14998 2009-09-24 Pavel Roskin <proski@gnu.org>
14999
15000 * include/grub/kernel.h (struct grub_module_header): Remove
15001 `grub_module_header_types'. Make `type' unsigned. Make `size'
15002 32-bit on all platforms.
15003 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15004 8-bit field. Use grub_host_to_target32() for `size'.
15005 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15006 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15007 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15008
15009 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15010
15011 Fix "lost keypress" bug in at_keyboard.
15012
15013 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15014 Checks for readyness of input buffer (without flushing it).
15015 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15016 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15017
15018 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15019
15020 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15021 size check within GRUB_MACHINE_PCBIOS section.
15022
15023 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15024
15025 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15026 return value.
15027 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15028 KEYBOARD_ISREADY check.
15029 (grub_at_keyboard_checkkey): Rename to ...
15030 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15031 Remove gratuitous cast.
15032
15033 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * configure.ac: Call AC_PROG_MKDIR_P.
15036 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15037 version.texi in $(builddir) rather than $(srcdir).
15038 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15039 to makeinfo's @include search path.
15040
15041 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15042
15043 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15044
15045 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15046
15047 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15048 for `*.dpkg-new'.
15049
15050 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15051
15052 Build info documentation. Some code borrowed from Automake.
15053
15054 * configure.ac: Check for makeinfo.
15055 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15056 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15057 docs/version.texi.
15058 (MOSTLYCLEANFILES): Add vti.tmp.
15059 (docs/version.texi, docs/stamp-vti): Update automatically.
15060 (docs/grub.info): Build info documentation. Use --force and ignore
15061 errors for now.
15062 (all-local): Add $(INFOS).
15063 (install-local): Install info files.
15064 (uninstall): Uninstall info files.
15065 * docs/version.texi: Remove from revision control. This file is
15066 automatically generated on build now.
15067 * gendistlist.sh: Add `*.info'.
15068
15069 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15070
15071 * kern/term.c: Fix indentation.
15072
15073 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15074
15075 * util/hostdisk.c: Fix a comment.
15076
15077 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15078
15079 Fix regression introduced in r2539.
15080
15081 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15082 to 0xA1.
15083
15084 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15085
15086 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15087 os-prober. Under normal operation, it does not print anything to
15088 stderr; if it does, we need to debug it, and throwing away stderr
15089 makes that excessively difficult.
15090
15091 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15094
15095 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15096
15097 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15098 AC_LANG_PROGRAM from autoconf.
15099 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15100 prototypes (fixes warning).
15101
15102 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15103 `--disable-werror' was used.
15104
15105 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15106
15107 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15108 uninitialized `lastaddr'.
15109
15110 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15113
15114 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15115
15116 * commands/test.c (get_fileinfo): Return immediately if
15117 grub_fs_probe fails.
15118
15119 2009-09-14 José Martínez <xosemp@gmail.com>
15120
15121 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15122
15123 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15124
15125 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15126 output.
15127
15128 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15129
15130 * configure.ac: Remove --enable-grub-pe2elf. Only build
15131 grub-pe2elf when needed by the build system itself.
15132 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15133
15134 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15135
15136 * configure.ac: Bump version to 1.97~beta3.
15137 * docs/version.texi: Likewise.
15138
15139 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15140
15141 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15142 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15143 from here ...
15144 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15145 (grub_linux_setup_video): ... to here (with some adjustments).
15146
15147 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15148
15149 Fix memory corruption issue (spotted by Colin Watson).
15150
15151 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15152 causing returned size to be stored in an incorrect memory location.
15153 Fix use of uninitialized value when storing the returned size.
15154
15155 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15156
15157 Change clean rules to properly remove files
15158
15159 * genmk.rb: add new clean rules
15160 * Makefile.in (clean): add the new targets
15161 (mostlyclean): likewise
15162
15163 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15164
15165 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15166 to grub_uint64_t.
15167 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15168 non-resident files.
15169
15170 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15173 part of bug #27349.
15174
15175 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15176
15177 * util/grub-mkconfig.in: Make the created config mode 400 and
15178 print a warning if it fails.
15179
15180 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15181
15182 * util/grub.d/40_custom.in: Ask user to type custom entries below
15183 comment, rather than below 'exec tail' line.
15184
15185 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15188 visible in grub.cfg.
15189
15190 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15191
15192 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15193 file.
15194
15195 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15196
15197 * docs/grub.cfg: Add an example menu entry for memtest86+.
15198
15199 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15200
15201 * config.guess: Update to latest version from config git.
15202 * config.sub: Likewise.
15203
15204 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15205
15206 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15207 unknown-command case. Fixes bug #27320.
15208
15209 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15210
15211 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15212 `help' if the command exists.
15213
15214 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15215
15216 * INSTALL: Require GCC 4.1.3 or later.
15217
15218 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15219
15220 * Makefile.in (RMKFILES): add i386-qemu.rmk
15221 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15222 $(srcdir)/stamp-h.in
15223
15224 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15225
15226 * util/grub-probe.c (probe): Comment out buggy codepath, which
15227 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15228 should be re-enabled after 1.97.
15229
15230 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15231
15232 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15233 find searches for.
15234
15235 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15238 unnecessary calls to grub_error.
15239
15240 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15241
15242 * NEWS: Mention `keystatus' and Unicode fonts.
15243
15244 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15245
15246 * configure.ac: Bump version to 1.97~beta2.
15247 * docs/version.texi: Likewise.
15248
15249 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15252 containing unwind information in some cases where it previously did
15253 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15254 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15255 discussion.
15256
15257 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15258
15259 Embedding loadenv module into grub-emu
15260
15261 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15262 commands/loadenv.c
15263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15264 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15269
15270 2009-09-03 Magnus Granberg <zorry@ume.nu>
15271
15272 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15273 include -fPIE in the default specs.
15274 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15275 to TARGET_CFLAGS.
15276
15277 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15278
15279 * INSTALL: Note that GNU Bison 2.3 or later is required.
15280
15281 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15282
15283 * kern/i386/pc/startup.S: Fix typo.
15284
15285 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15288 according to GCS.
15289
15290 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15291
15292 * docs/grub.texi (Naming convention): Describe one-based partition
15293 numbering.
15294 (Device syntax): Likewise.
15295 (File name syntax): Likewise.
15296 (Block list syntax): Likewise.
15297 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15298 menu.lst.
15299 (File name syntax): Likewise.
15300 (Command-line and menu entry commands): Document acpi, blocklist,
15301 crc, export, insmod, keystatus, ls, set, and unset commands.
15302
15303 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15304
15305 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15306 to avoid implying that only one of --shift, --ctrl, or --alt may be
15307 used.
15308
15309 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15310
15311 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15312 rather than comparing against S_IFREG, which will almost never work.
15313
15314 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15317 (write_blocklists): Likewise.
15318
15319 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15320
15321 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15322 argument to grub_printf.
15323
15324 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15325
15326 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15327 non GNU test.
15328
15329 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * kern/file.c (grub_file_read): Spelling fix
15332
15333 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15336 loading of headers in some cases.
15337
15338 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15339
15340 * configure.ac: Bump version to 1.97~beta1.
15341 * docs/version.texi: Likewise.
15342
15343 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * include/grub/i386/xnu.h: Add license header.
15346 include grub/err.h explicitly.
15347
15348 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15349
15350 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15351 to `ufs' in the vfs.root.mountfrom kernel parameter.
15352
15353 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15354
15355 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15356
15357 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15358 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15359
15360 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15361 `ARRAY_SIZE' macro.
15362
15363 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * kern/file.c (grub_file_read): Check offset.
15366 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15367 * fs/jfs.c (grub_jfs_read_file): Likewise.
15368 * fs/ntfs.c (grub_ntfs_read): Likewise.
15369 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15370 * fs/minix.c (grub_minix_read_file): Correct offset check.
15371 * fs/ufs.c (grub_ufs_read_file): Likewise.
15372
15373 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15374
15375 * term/i386/pc/console.c (bios_data_area): Cast
15376 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15377
15378 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 1-bit optimised blitters.
15381
15382 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15383 prototype.
15384 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15385 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15386 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15387 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15388 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15389 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15390 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15391 function.
15392 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15393 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15394 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15395 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15396 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15397 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15398 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15399 when possible.
15400 * video/video.c (grub_video_get_blit_format): Return
15401 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15402
15403 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15404
15405 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15406 the first argument to grub_printf.
15407
15408 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15409 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15410
15411 Add `getkeystatus' terminal method. Add a new `keystatus' command
15412 to query it.
15413
15414 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15415 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15416 modifier key bitmasks.
15417 (struct grub_term_input): Add `getkeystatus' member.
15418 (grub_getkeystatus): Add prototype.
15419 * kern/term.c (grub_getkeystatus): New function.
15420
15421 * include/grub/i386/pc/memory.h
15422 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15423 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15424 Data Area layout.
15425 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15426 (grub_console_term_input): Set `getkeystatus' member.
15427 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15428 constants.
15429 (grub_usb_keyboard_getreport): Likewise.
15430 (grub_usb_keyboard_checkkey): Likewise.
15431 (grub_usb_keyboard_getkeystatus): New function.
15432 (grub_usb_keyboard_term): Set `getkeystatus' member.
15433
15434 * commands/keystatus.c: New file.
15435 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15436 (keystatus_mod_SOURCES): New variable.
15437 (keystatus_mod_CFLAGS): Likewise.
15438 (keystatus_mod_LDFLAGS): Likewise.
15439 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15440 commands/keystatus.c.
15441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15446 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15447
15448 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 Split befs.mod and afs.mod into *_be.mod and *.mod
15451
15452 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15453 (grub_fstest_SOURCES): Likewise.
15454 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15455 (afs_be_mod_SOURCES): New variable.
15456 (afs_be_mod_CFLAGS): Likewise.
15457 (afs_be_mod_LDFLAGS): Likewise.
15458 (befs_be_mod_SOURCES): Likewise.
15459 (befs_be_mod_CFLAGS): Likewise.
15460 (befs_be_mod_LDFLAGS): Likewise.
15461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15464 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15465 (grub_emu_SOURCES): Likewise.
15466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15468 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15469 * fs/afs_be.c: New file.
15470 * fs/befs_be.c: New file.
15471 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15472 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15473 (U16): Replaced with ...
15474 (grub_afs_to_cpu16): ...this. All users updated.
15475 (U32): Replaced with ...
15476 (grub_afs_to_cpu32): ...this. All users updated.
15477 (U64): Replaced with ...
15478 (grub_afs_to_cpu64): ...this. All users updated.
15479 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15480 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15481 (grub_afs_validate_sblock): Check only one endianness.
15482 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15483 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15484 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15485 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15486 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15487 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15488 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15489 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15490
15491 2009-08-26 Bean <bean123ch@gmail.com>
15492
15493 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15494 64-bit number.
15495 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15496 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15497 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15498
15499 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 NetBSD memory map support.
15502
15503 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15504 (grub_netbsd_btinfo_mmap_header): New structure.
15505 (grub_netbsd_btinfo_mmap_entry): Likewise.
15506 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15507
15508 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 Enable bsd.mod on coreboot.
15511
15512 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15513 (bsd_mod_SOURCES): New variable.
15514 (bsd_mod_CFLAGS): Likewise.
15515 (bsd_mod_LDFLAGS): Likewise.
15516 (bsd_mod_ASFLAGS): Likewise.
15517 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15518 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15519
15520 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 Cleanup NetBSD root support.
15523
15524 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15525 grub_bsd_get_device.
15526 Fix typo.
15527
15528 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15529
15530 * util/grub.d/00_header.in: Move check for the video backend of
15531 gfxterm from here ...
15532 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15533 a suitable video backend.
15534
15535 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 Fix breakage in grub-setup.
15538
15539 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15540 "msdos_partition_map".
15541
15542 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Fix breakage in normal/auth.c.
15545
15546 * normal/auth.c (grub_iswordseparator): New function.
15547
15548 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 Authentication support.
15551
15552 * commands/password.c: New file.
15553 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15554 (password_mod_SOURCES): New variable.
15555 (password_mod_CFLAGS): Likewise.
15556 (password_mod_LDFLAGS): Likewise.
15557 (normal_mod_SOURCES): Add normal/auth.c.
15558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15559 normal/auth.c.
15560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15561 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15562 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15565 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15566 * include/grub/auth.h: New file.
15567 * include/grub/err.h (grub_err_t): New enum value
15568 GRUB_ERR_ACCESS_DENIED.
15569 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15570 'users'.
15571 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15572 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15573 users updated.
15574 * normal/auth.c: New file.
15575 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15576 (grub_cmdline_run): Don't allow to go to command line without
15577 authentication.
15578 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15579 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15580 menuentry without superuser rights.
15581 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15582 user isn't a superuser.
15583
15584 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Save space by inlining misc.c functions.
15587
15588 * kern/misc.c (grub_iswordseparator): Made static.
15589 * kern/misc.c (grub_strcat): Moved from here ...
15590 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15591 * kern/misc.c (grub_strncat): Moved from here ...
15592 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15593 * kern/misc.c (grub_strcasecmp): Moved from here ...
15594 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15595 * kern/misc.c (grub_strncasecmp): Moved from here ...
15596 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15597 * kern/misc.c (grub_isalpha): Moved from here ...
15598 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15599 * kern/misc.c (grub_isdigit): Moved from here ...
15600 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15601 * kern/misc.c (grub_isgraph): Moved from here ...
15602 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15603 * kern/misc.c (grub_tolower): Moved from here ...
15604 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15605
15606 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 * script/sh/function.c (grub_script_function_find): Cut error message
15609 not to flood terminal.
15610 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15611 limit.
15612 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15613
15614 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15615
15616 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15617 `report' grub_uint8_t *.
15618 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15619 Use a 50-millisecond timeout rather than just repeating
15620 grub_usb_keyboard_getreport 50 times.
15621 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15622
15623 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 Rename *_partition_map to part_*
15626
15627 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15628 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15629 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15630 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15631 All users updated.
15632 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15633 All users updated.
15634 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15635 * util/grub-probe.c (probe_partmap): Don't transform partition name
15636 to get module name.
15637
15638 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Fix OpenBSD and NetBSD support.
15641
15642 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15643 memory address conflict.
15644 (OPENBSD_MMAP_ACPI): New definition.
15645 (OPENBSD_MMAP_NVS): Likewise.
15646 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15647 and OPENBSD_MMAP_NVS.
15648 Add memory map terminator
15649 Explicit cast when calling grub_unix_real_boot.
15650 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15651
15652 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 Let user specify NetBSD root device.
15655
15656 * loader/i386/bsd.c (netbsd_root): New variable.
15657 (netbsd_opts): New option 'root'.
15658 (NETBSD_ROOT_ARG): New macro.
15659 (grub_netbsd_boot): Use 'netbsd_root'.
15660 (grub_bsd_unload): Free 'netbsd_root'.
15661 (grub_cmd_netbsd): Fill 'netbsd_root'.
15662
15663 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 Support for 64-bit NetBSD.
15666
15667 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15668 point when booting non-FreeBSD.
15669
15670 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 Support --no-smp and --no-acpi for NetBSD.
15673
15674 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15675 (NETBSD_AB_NOACPI): Likewise.
15676 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15677 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15678
15679 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15682 errors.
15683 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15684 errors. Call grub_error when needed.
15685
15686 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * commands/search.c (search_fs): Try searching without autoload first.
15689 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15690 filesystem module explicitly for faster booting.
15691
15692 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15693
15694 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15695
15696 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15697
15698 * util/grub.d/30_os-prober.in: Disable os-prober if
15699 `GRUB_DISABLE_OS_PROBER' was set to true.
15700
15701 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15702
15703 * partmap/pc.c: Rename to ...
15704 * partmap/msdos.c: ... this. Update all users.
15705 (grub_pc_partition_map): Rename to ...
15706 (grub_msdos_partition_map): ... this. Update all users.
15707
15708 * parttool/pcpart.c: Rename to ...
15709 * parttool/msdospart.c: ... this. Update all users.
15710
15711 * include/grub/pc_partition.h: Rename to ...
15712 * include/grub/msdos_partition.h: ... this. Update all users.
15713 (grub_pc_partition_bsd_entry): Rename to ...
15714 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15715 (grub_pc_partition_disk_label): Rename to ...
15716 (grub_msdos_partition_disk_label): ... this. Update all users.
15717 (grub_pc_partition_entry): Rename to ...
15718 (grub_msdos_partition_entry): ... this. Update all users.
15719 (grub_pc_partition_mbr): Rename to ...
15720 (grub_msdos_partition_mbr): ... this. Update all users.
15721 (grub_pc_partition): Rename to ...
15722 (grub_msdos_partition): ... this. Update all users.
15723 (grub_pc_partition_is_empty): Rename to ...
15724 (grub_msdos_partition_is_empty): ... this. Update all users.
15725 (grub_pc_partition_is_extended): Rename to ...
15726 (grub_msdos_partition_is_extended): ... this. Update all users.
15727 (grub_pc_partition_is_bsd): Rename to ...
15728 (grub_msdos_partition_is_bsd): ... this. Update all users.
15729
15730 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15731 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15732 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15733 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15734 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15735 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15736 (gpt_mod_LDFLAGS): Rename to ...
15737 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15738 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15739 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15740 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15741 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15742 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15743 (part_gpt_mod_LDFLAGS): ... this.
15744 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15745 `pcpart.mod' to `msdospart.mod'.
15746 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15747 to ...
15748 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15749 (msdospart_mod_LDFLAGS): ... this.
15750
15751 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15754 (openbsd_opts): Likewise.
15755 (netbsd_opts): Likewise.
15756 (freebsd_flags): Added 0 terminator.
15757 (openbsd_flags): Likewise.
15758 (netbsd_flags): Likewise.
15759 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15760 (grub_cmd_freebsd): Transformed into extended command.
15761 (grub_cmd_openbsd): Likewise.
15762 (grub_cmd_netbsd): Likewise.
15763 (cmd_freebsd): Changed type to grub_extcmd_t.
15764 (cmd_openbsd): Likewise.
15765 (cmd_netbsd): Likewise.
15766 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15767 grub_cmd_openbsd as extended commands.
15768 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15769 cmd_netbsd and cmd_openbsd
15770
15771 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15774
15775 2009-08-21 Pavel Roskin <proski@gnu.org>
15776
15777 * Makefile.in (install-local): When checking if a file is in the
15778 build directory, use "test -e" to detect symlinks.
15779
15780 * Makefile.in (install-local): Remove all files in
15781 $(DESTDIR)$(pkglibdir) before installing new files there.
15782
15783 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15784
15785 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15786 grub-mkelfimage.
15787
15788 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15789
15790 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15791 explicitly specified by the user.
15792
15793 2009-08-18 Pavel Roskin <proski@gnu.org>
15794
15795 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15796 grub_uint8_t pointer for data.
15797 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15798 Likewise.
15799 * video/fb/fbutil.c: Remove unnecessary casts.
15800
15801 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15802
15803 VBE cleanup.
15804
15805 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15806 (grub_vbe_set_video_mode): Save active mode info
15807 only after setting the mode.
15808 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15809 second argument.
15810
15811 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15812
15813 Rename variables for clarity.
15814
15815 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15816 (active_vbe_mode_info): ... this. All users updated.
15817 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15818 All users updated.
15819 (initial_mode): Rename to ...
15820 (initial_vbe_mode): ... this. All users updated.
15821 (mode_in_use): Rename to ..
15822 (vbe_mode_in_use): ... this. All users updated.
15823 (mode_list): Rename to ..
15824 (vbe_mode_list): ... this. All users updated.
15825 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15826 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15827 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15828 'mode_list_size' to 'vbe_mode_list_size'.
15829 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15830 'best_mode_info' to 'best_vbe_mode_info' and
15831 'best_mode' to 'best_vbe_mode'
15832
15833 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15834
15835 Remove duplicate grub_video_fb_get_video_ptr.
15836
15837 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15838 (grub_video_fb_get_video_ptr): ... this.
15839 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15840 * video/fb/fbutil.c: Add comment about addressing.
15841 (get_data_ptr): Rename to ...
15842 (grub_video_fb_get_video_ptr): ... this. All users updated.
15843 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15844
15845 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15846
15847 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15848 grub_dprintf() that was just added.
15849
15850 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15851
15852 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15853 (DEFAULT_VIDEO_MODE): Remove macros.
15854 (grub_linux_boot): Remove assumption that Linux has FB support,
15855 and use "text" as default video mode.
15856
15857 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15860 grub_dprintf.
15861 * fs/fat.c (grub_fat_read_data): Likewise.
15862
15863 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15866 payload.
15867 (grub_module): Likewise.
15868
15869 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15872 mbi->cmdline but free playground.
15873
15874 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 Handle group offset on UFS1.
15877
15878 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15879 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15880
15881 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 Split ufs.mod into ufs1.mod and ufs2.mod.
15884
15885 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15886 (grub_fstest_SOURCES): Likewise.
15887 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15888 (ufs_mod_SOURCES): Remove.
15889 (ufs_mod_CFLAGS): Likewise.
15890 (ufs_mod_LDFLAGS): Likewise.
15891 (ufs1_mod_SOURCES): New variable.
15892 (ufs1_mod_CFLAGS): Likewise.
15893 (ufs1_mod_LDFLAGS): Likewise.
15894 (ufs2_mod_SOURCES): New variable.
15895 (ufs2_mod_CFLAGS): Likewise.
15896 (ufs2_mod_LDFLAGS): Likewise.
15897 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15898 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15899 Likewise.
15900 (grub_emu_SOURCES): Likewise.
15901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15902 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15903 (grub_setup_SOURCES): Likewise.
15904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15905 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15906 (grub_setup_SOURCES): Likewise.
15907 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15908 Likewise.
15909 * fs/ufs2.c: New file.
15910 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15911
15912 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 Framebuffer split.
15915
15916 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15917 subsystem at the end.
15918 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15919 (video_fb_mod_SOURCES): New variable.
15920 (video_fb_mod_CFLAGS): Likewise.
15921 (video_fb_mod_LDFLAGS): Likewise.
15922 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15923 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15924 * video/i386/pc/vbeblit.c: Moved from here ...
15925 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15926 * video/i386/pc/vbefill.c: Moved from here ...
15927 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15928 * video/i386/pc/vbeutil.c: Moved from here ...
15929 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15930 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15931 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15932 * include/grub/i386/pc/vbefill.h: Moved from here ...
15933 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15934 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15935 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15936 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15937 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15938 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15939 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15940 (grub_video_adapter): Added 'get_info_and_fini'.
15941 (grub_video_get_info_and_fini): New prototype.
15942 (grub_video_set_mode): make modestring const char *.
15943 * loader/i386/linux.c (grub_linux_setup_video): Use
15944 grub_video_get_info_and_fini.
15945 (grub_linux_boot): Move modesetting just before booting.
15946 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15947 grub_video_get_info_and_fini.
15948 * video/i386/pc/vbe.c: Moved framebuffer part ...
15949 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15950 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15951 grub_video_fbstd_colors and grub_video_fb_set_palette.
15952 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15953 grub_video_fb_init.
15954 (grub_video_vbe_fini): Use grub_video_fb_fini.
15955 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15956 render_target and use grub_video_fb_set_active_render_target and
15957 grub_video_fb_set_palette.
15958 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15959 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15960 (grub_video_vbe_adapter): Use framebuffer.
15961 * video/video.c (grub_video_get_info_and_fini): New function.
15962 (grub_video_set_mode): Make modestring const char *.
15963 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15964 values are already initialised.
15965
15966 2009-08-14 Pavel Roskin <proski@gnu.org>
15967
15968 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15969 ABS and APPLE_CC.
15970 * boot/i386/pc/diskboot.S: Likewise.
15971 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15972 sectors allow compilation on MacOSX.
15973 * conf/i386-pc.rmk: Enable unconditional compilation of
15974 lnxboot.img.
15975
15976 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
15977
15978 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15979 * util/grub.d/00_header.in: Enter interruptible sleep if
15980 GRUB_HIDDEN_TIMEOUT is set.
15981
15982 2009-08-13 Yves Blusseau <blusseau@zetam.org>
15983
15984 * include/grub/symbol.h: Add the LOCAL macro.
15985 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15986 starting with "L_".
15987
15988 2009-08-13 Pavel Roskin <proski@gnu.org>
15989
15990 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15991 any modern compilers we support.
15992
15993 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15994 Use local labels starting with "L_" so that Apple assembler
15995 knows they are local.
15996
15997 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15998
15999 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16000 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16001 (bsd_kernel_types): ... this enum.
16002
16003 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16004 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16005 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16006
16007 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16008 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16009 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16010 messages.
16011
16012 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16013
16014 * util/grub-dumpdevtree: Moved from here ...
16015 * util/i386/efi/grub-dumpdevtree: ... to here.
16016 (hexify): New function. Converts a string to its hex version.
16017 Generate hex versions of "efi" and "device-properties" by calling
16018 hexify() on the ASCII strings rather than by hardcoding numbers.
16019
16020 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16021
16022 * fs/jfs.c: Update copyright year.
16023
16024 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16025
16026 * util/grub.d/00_header.in: Fix a comment.
16027 * util/grub.d/10_linux.in: Likewise.
16028 * util/grub.d/10_windows.in: Likewise.
16029 * util/grub.d/10_hurd.in: Likewise.
16030
16031 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16032
16033 * util/grub-mkconfig.in: Allow the user to specify the used font
16034 with GRUB_FONT.
16035
16036 2009-08-08 Pavel Roskin <proski@gnu.org>
16037
16038 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16039 available, xfs.mod needs it now.
16040
16041 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16042 the "g" modifier in sed when the intention is to strip something
16043 once. This fixes comparison of kernels with multiple dashes.
16044
16045 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16046 on it. Add missing space before closing bracket. Fix
16047 misleading formatting.
16048
16049 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16050
16051 * docs/grub.texi: Major overhaul. Remove all sections that are
16052 specific to GRUB Legacy, or mostly composed of Legacy-specific
16053 information.
16054
16055 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16056
16057 * docs/version.texi: New file. Provides version information for
16058 grub.texi.
16059
16060 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16061
16062 * docs/grub.texi: Update CVS information to SVN.
16063 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16064
16065 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16066
16067 * util/grub-mkconfig.in: Remove a wrong `fi'.
16068
16069 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16070
16071 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16072 (grub_jfs_uuid): New function.
16073 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16074
16075 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16076
16077 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16078 of it to ...
16079 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16080 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16081
16082 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16083
16084 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16085 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16086 Update all users.
16087
16088 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16089 not just "vmlinu[zx]".
16090 Moved from here ...
16091 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16092 all users.
16093
16094 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16095 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16096 all users.
16097
16098 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16099
16100 * util/grub.d/10_freebsd.in: Use an absolute device path for
16101 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16102
16103 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16104
16105 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16106 handling of multiple abstraction modules.
16107
16108 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16109
16110 Fix a bug resulting in black screen when loading Linux using a
16111 packed video mode.
16112
16113 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16114 function.
16115
16116 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16117 (grub_vbe_bios_getset_dac_palette_width): New function.
16118 (grub_vbe_bios_get_dac_palette_width)
16119 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16120 grub_vbe_bios_getset_dac_palette_width()).
16121
16122 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16123 check for return status.
16124 (grub_vbe_get_video_mode_info): When getting information for a packed
16125 mode (<= 8 bpp), obtain DAC palette width using
16126 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16127 {red,green,blue}_mark_size.
16128
16129 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16130
16131 * commands/search.c (options): Fix help output to match actual code.
16132
16133 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16136 of homegrown code.
16137
16138 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16141 on XFS or ReiserFS.
16142
16143 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 Support Apple partition map with sector size different from 512 bytes.
16146
16147 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16148 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16149 and 'apart.partmap_size'.
16150
16151 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16152 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16153
16154 Fix cpuid command.
16155
16156 * commands/i386/cpuid.c (options): New variable.
16157 (grub_cmd_cpuid): Return real error.
16158 (GRUB_MOD_INIT(cpuid)): Declare options.
16159
16160 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16163 valid.
16164
16165 2009-07-31 Bean <bean123ch@gmail.com>
16166
16167 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16168 log2_inode.
16169 (grub_fshelp_node): Move inode field to the end.
16170 (grub_xfs_data): Remove inode field.
16171 (grub_xfs_inode_block): Calculate inode size using sblock.
16172 (grub_xfs_inode_offset): Likewise.
16173 (grub_xfs_read_inode): Calculate inode size using sblock.
16174 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16175 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16176 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16177 to match inode size.
16178 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16179 not accessible when data is null.
16180 (grub_xfs_open): Likewise.
16181
16182 2009-07-31 Bean <bean123ch@gmail.com>
16183
16184 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16185 Don't change pv->disk if it's already set.
16186
16187 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16188 (grub_raid_register): ... here.
16189 (grub_raid_rescan): Removed.
16190
16191 * include/grub/raid.h (grub_raid_rescan): Removed.
16192
16193 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16194 (fstest): Replace grub_raid_rescan with module fini function followed
16195 by init function.
16196
16197 * util/grub-probe.c: Add include file <grub/raid.h>.
16198 (probe_raid_level): New function.
16199 (probe): Detect abstraction by walking the disk device, support two
16200 level of abstraction (LVM on RAID) when detecting partition map.
16201
16202 2009-07-31 Pavel Roskin <proski@gnu.org>
16203
16204 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16205 to grub_zalloc(), it was erroneous.
16206 Reported by Bean <bean123ch@gmail.com>
16207
16208 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16211 embedding zone, not only the first one.
16212
16213 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16214
16215 * term/gfxterm.c (clear_char): New function.
16216 (grub_virtual_screen_setup): Use clear_char.
16217 (scroll_up): Likewise.
16218 (grub_virtual_screen_cls): Likewise.
16219
16220 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16221
16222 * util/deviceiter.c (get_acceleraid_disk_name): New static
16223 function.
16224 (grub_util_iterate_devices): Handle Accelraid devices.
16225 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16226
16227 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16228
16229 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16230 separator for the suggested gfxpayload string (';' collides with the
16231 parser and needs escaping).
16232
16233 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16236 Clear direction flag before jumping to OS.
16237 (grub_multiboot2_real_boot): Likewise.
16238
16239 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16240
16241 * util/i386/pc/grub-install: Fix parsing of --disk-module
16242 option.
16243
16244 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16245
16246 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16247 when embedding.
16248
16249 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16250
16251 * util/grub-mkconfig.in (package_version): New variable.
16252 Use it do display the version.
16253
16254 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16255
16256 * kern/file.c (grub_file_open): Revert to previous check with
16257 grub_errno.
16258
16259 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16260
16261 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16262 from help line. It's out of sync with code.
16263
16264 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16267 entries on failed boot.
16268
16269 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16270
16271 * kern/file.c (grub_file_open): Fix an error check.
16272
16273 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16276 partition map couldn't be identified.
16277
16278 2009-07-23 Pavel Roskin <proski@gnu.org>
16279
16280 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16281 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16282 case of little endian words becomes just an optimization.
16283 Respect const modifier.
16284 (md5_final): Use code that doesn't depend on endianness.
16285
16286 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16287 to avoid loss of upper bits if align is unsigned and shorter
16288 than addr.
16289
16290 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 UUID support for UFS
16293
16294 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16295 (grub_ufs_uuid): New function.
16296 (grub_ufs_fs): add .uuid
16297
16298 2009-07-21 Pavel Roskin <proski@gnu.org>
16299
16300 * kern/dl.c (grub_dl_check_header): Make static.
16301
16302 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16303
16304 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16305 add drivemap for Vista. It breaks Windows 7.
16306
16307 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16310 128 bytes
16311
16312 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 Add BFS support
16315
16316 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16317 (grub_fstest_SOURCES): Likewise.
16318 (pkglib_MODULES): Add befs.mod.
16319 (befs_mod_SOURCES): New variable.
16320 (befs_mod_CFLAGS): Likewise.
16321 (befs_mod_LDFLAGS): Likewise.
16322 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16326 (grub_setup_SOURCES): Likewise.
16327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16328 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16329 (grub_setup_SOURCES): Likewise.
16330 * fs/befs.c: New file.
16331 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16332 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16333 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16334 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16335 (B_KEY_INDEX_ALIGN): New declaration.
16336 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16337 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16338 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16339 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16340 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16341 (grub_afs_mount) [MODE_BFS]: Likewise.
16342 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16343 (grub_afs_fs): Use GRUB_AFS_FSNAME
16344 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16345 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16346 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16347 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16348
16349 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16350
16351 * util/getroot.c (find_root_device): Add support for MacOSX.
16352 * util/hostdisk.c: Likewise.
16353
16354 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16355
16356 * font/font.c (find_glyph): Check whether a font is present to avoid
16357 segmentation fault.
16358
16359 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16360
16361 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16362
16363 2009-07-20 Pavel Roskin <proski@gnu.org>
16364
16365 * configure.ac: Trim excessively wordy excuses.
16366
16367 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 Add symlink, mtime and label support to AtheFS.
16370
16371 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16372 (grub_afs_iterate_dir): Handle symlinks.
16373 (grub_afs_open): Use grub_afs_read_symlink.
16374 (grub_afs_dir): Likewise.
16375 Pass mtime.
16376 (grub_afs_label): New function.
16377 (grub_afs_fs): Add grub_afs_label.
16378 (grub_afs_read_symlink): New function.
16379
16380 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16381
16382 Fix AtheFS support.
16383
16384 * fs/afs.c: Fix comments style.
16385 (grub_afs_blockrun): Declare as packed.
16386 (grub_afs_datastream): Likewise.
16387 (grub_afs_bnode): Likewise.
16388 (grub_afs_btree): Likewise.
16389 (grub_afs_sblock): Likewise.
16390 Declare `name' as char.
16391 (grub_afs_inode): Declare as packed.
16392 Change void *vnode to grub_uint32_t unused.
16393 (grub_afs_iterate_dir): Check that key_size is positive.
16394 (grub_afs_mount): Don't read superblock twice.
16395 (grub_afs_dir): Don't free node in case of error,
16396 grub_fshelp_find_file already handles this.
16397 (grub_afs_open): Likewise.
16398
16399 2009-07-19 Pavel Roskin <proski@gnu.org>
16400
16401 * Makefile.in: Remove LIBLZO and enable_lzo.
16402 * conf/i386-pc.rmk: Remove lzo support.
16403 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16404 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16405 support.
16406 * kern/i386/pc/lzo1x.S: Remove.
16407 * kern/i386/pc/startup.S: Remove lzo support.
16408 * util/i386/pc/grub-mkimage.c: Likewise.
16409
16410 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16413 * fs/xfs.c (grub_xfs_dir): Likewise.
16414 * fs/afs.c (grub_afs_dir): Likewise.
16415 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16416 (grub_iso9660_open): Likewise.
16417 * fs/jfs.c (grub_jfs_open): Likewise.
16418 * fs/ext2.c (grub_ext2_dir): Likewise.
16419 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16420 * script/sh/lexer.c (grub_script_yylex): Likewise.
16421
16422 2009-07-16 Pavel Roskin <proski@gnu.org>
16423
16424 * configure.ac: Never add "-c" to CFLAGS.
16425
16426 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16427
16428 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16429 grub_cv_cc_efiemu should be used.
16430
16431 * configure.ac: Typo fixes.
16432
16433 * kern/mm.c (grub_zalloc): New function.
16434 (grub_debug_zalloc): Likewise.
16435 * include/grub/mm.h: Declare grub_zalloc() and
16436 grub_debug_zalloc().
16437 * util/misc.c (grub_zalloc): New function.
16438 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16439 instead of grub_malloc(), remove unneeded initializations.
16440 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16441 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16442 * commands/parttool.c (grub_cmd_parttool): Likewise.
16443 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16444 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16445 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16446 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16447 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16448 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16449 (grub_cmd_efiemu_pnvram): Likewise.
16450 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16451 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16452 (grub_iso9660_iterate_dir): Likewise.
16453 * fs/jfs.c (grub_jfs_opendir): Likewise.
16454 * fs/ntfs.c (list_file): Likewise.
16455 (grub_ntfs_mount): Likewise.
16456 * kern/disk.c (grub_disk_open): Likewise.
16457 * kern/dl.c (grub_dl_load_core): Likewise.
16458 * kern/elf.c (grub_elf_file): Likewise.
16459 * kern/env.c (grub_env_context_open): Likewise.
16460 (grub_env_set): Likewise.
16461 (grub_env_set_data_slot): Likewise.
16462 * kern/file.c (grub_file_open): Likewise.
16463 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16464 * loader/i386/multiboot.c (grub_module): Likewise.
16465 * loader/xnu.c (grub_xnu_create_key): Likewise.
16466 (grub_xnu_create_value): Likewise.
16467 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16468 (read_config_file): Likewise.
16469 * normal/menu_entry.c (make_screen): Likewise.
16470 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16471 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16472 * script/sh/script.c (grub_script_parse): Likewise.
16473 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16474 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16475 * video/readers/png.c (grub_png_output_byte): Likewise.
16476 (grub_video_reader_png): Likewise.
16477
16478 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 Enable all targets that can be built by default
16481
16482 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16483 grub-mkfont and grub-fstest if they can be built
16484
16485 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 Fix hang and segmentation fault in grub-emu-usb
16488
16489 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16490 * util/usb.c (grub_libusb_devices): likewise
16491 (grub_libusb_init): rename to ...
16492 (GRUB_MOD_INIT (libusb)):...this
16493 (grub_libusb_fini): rename to ..
16494 (GRUB_MOD_FINI (libusb)):...this
16495 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16496 * include/grub/disk.h (grub_raid_init): removed, it's useless
16497 (grub_raid_fini): likewise
16498 (grub_lvm_init): likewise
16499 (grub_lvm_fini): likewise
16500 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16501 by grub_init_all
16502
16503 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 Fix libusb
16506
16507 * Makefile.in (LIBUSB): new macro
16508 * genmk.rb (Utility/print_tail): new method
16509 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16510 (top level): call util.print_tail at the end.
16511
16512 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16513
16514 Make FreeBSD accept zpool.cache
16515
16516 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16517 type is /boot/zfs/zpool.cache
16518
16519 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 Fix 64-bit efiemu
16522
16523 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16524 correct wrong typedef
16525 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16526
16527 2009-07-15 Pavel Roskin <proski@gnu.org>
16528
16529 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16530 * kern/disk.c (struct grub_disk_cache): Likewise.
16531
16532 * commands/probe.c (options): Typo fix.
16533
16534 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16535 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16536 accordingly.
16537 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16538
16539 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16540 the end of "Error" to make the message more readable.
16541
16542 * boot/i386/pc/boot.S (kernel_segment): Remove.
16543 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16544 for destination.
16545
16546 * boot/i386/pc/boot.S (boot_version): Remove.
16547 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16548 Remove.
16549
16550 * include/grub/i386/pc/boot.h: Sort all offsets.
16551 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16552 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16553 * boot/i386/pc/boot.S: Assert location of every offset listed in
16554 include/grub/i386/pc/boot.h.
16555
16556 2009-07-13 Pavel Roskin <proski@gnu.org>
16557
16558 * include/grub/i386/coreboot/machine.h: Rename
16559 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16560 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16561 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16562
16563 * kern/dl.c: Force native word size to suppress warnings when
16564 compiling grub-emu.
16565
16566 * kern/device.c (grub_device_iterate): Change struct part_ent to
16567 hold the name, not a pointer to it. Use one grub_malloc() per
16568 partition, not two. Free partition_name if grub_malloc() fails.
16569 Set ents to NULL only before grub_partition_iterate() is called.
16570
16571 2009-07-11 Bean <bean123ch@gmail.com>
16572
16573 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16574 childname.
16575
16576 2009-07-10 Bean <bean123ch@gmail.com>
16577 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16578
16579 * kern/ieee1275/openfw.c (grub_children_iterate)
16580 (grub_devalias_iterate): Fix size evaluation for property or path
16581 strings, which was broken since r2132.
16582
16583 2009-07-07 Pavel Roskin <proski@gnu.org>
16584
16585 * commands/search.c (search_file): Merge into ...
16586 (search_fs): ... this. Accept search type as argument.
16587 (grub_cmd_search): Pass search type to search_fs().
16588
16589 * include/grub/util/console.h: New file.
16590 * util/console.c: Use it instead of grub/machine/console.h.
16591 * util/grub-emu.c: Likewise.
16592
16593 * lib/arg.c (find_long_option): Remove.
16594 (find_long): Add `len' argument, make `s' const char *.
16595 (grub_arg_parse): Parse long options in place, not in a
16596 temporary buffer.
16597
16598 2009-07-06 Pavel Roskin <proski@gnu.org>
16599
16600 * commands/search.c (search_fs): Fix potential NULL pointer
16601 dereference.
16602
16603 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16604 function pointer.
16605
16606 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16607
16608 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16609 comparison.
16610
16611 2009-07-05 Pavel Roskin <proski@gnu.org>
16612
16613 * include/grub/i386/linux.h (struct linux_kernel_params):
16614 Restore padding3, it's still needed.
16615
16616 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16617 FreeBSD.
16618 * util/osdetect.lua: Likewise.
16619
16620 2009-07-05 Bean <bean123ch@gmail.com>
16621
16622 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16623
16624 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16625 (grub_lua_getenv): Likewise.
16626 (grub_lua_setenv): Likewise.
16627 (save_errno): New function.
16628 (push_result): Likewise.
16629 (grub_lua_enum_device): Likewise.
16630 (grub_lua_enum_file): Likewise.
16631 (grub_lua_file_open): Likewise.
16632 (grub_lua_file_close): Likewise.
16633 (grub_lua_file_seek): Likewise.
16634 (grub_lua_file_read): Likewise.
16635 (grub_lua_file_getline): Likewise.
16636 (grub_lua_file_getsize): Likewise.
16637 (grub_lua_file_getpos): Likewise.
16638 (grub_lua_file_eof): Likewise.
16639 (grub_lua_file_exist): Likewise.
16640 (grub_lua_add_menu): Likewise.
16641
16642 * script/lua/grub_lua.h (isupper): New inline function.
16643 (islower): Likewise.
16644 (ispunct): Likewise.
16645 (isxdigit): Likewise.
16646 (strcspn): Change to normal function.
16647 (strpbkr): New function declaration.
16648 (memchr): Likewise.
16649
16650 * script/lua/grub_main.c (scan_str): New function.
16651 (strcspn): Likewise.
16652 (strpbrk): Likewise.
16653 (memchr): Likewise.
16654
16655 * script/lua/linit.c (lualibs): Enable the string library.
16656
16657 * util/osdetect.lua: New file.
16658
16659 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16660
16661 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16662 `capabilities' member.
16663
16664 2009-07-02 Pavel Roskin <proski@gnu.org>
16665
16666 * genparttoollist.sh: Add missing newline at the end.
16667
16668 2009-07-01 Pavel Roskin <proski@gnu.org>
16669
16670 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16671
16672 * util/hostdisk.c (open_device): Remove `const' from
16673 `sysctl_size', as sysctlbyname() can change it (in this case it
16674 doesn't actually happen).
16675
16676 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16677 using signed long int constants.
16678
16679 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16680 constant to avoid a warning on FreeBSD.
16681
16682 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16683 where it's needed.
16684
16685 * Makefile.in: Install include/grub/machine symlink.
16686
16687 * Makefile.in: When installing symlinks, use "cp -fR", which
16688 works on FreeBSD and MacOSX.
16689 From Yves Blusseau <cl7m42e02@sneakemail.com>
16690
16691 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16692 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16693
16694 * util/misc.c: Move grub_reboot() and grub_halt() ...
16695 * util/grub-emu.c: ... here. Make main_env static.
16696 * include/grub/util/misc.h: Remove main_env.
16697
16698 * kern/mm.c: Use correct format to print size_t.
16699
16700 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16701 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16702 * kern/powerpc/dl.c: Likewise.
16703 * kern/sparc64/dl.c: Likewise.
16704 * kern/x86_64/dl.c: Likewise.
16705
16706 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16707
16708 Fix grub-emu build on sparc64-ieee1275.
16709
16710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16712
16713 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16714
16715 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16716 (grub_reboot, grub_halt): New functions.
16717
16718 * util/i386/pc/misc.c: Delete. Update all users.
16719 * util/sparc64/ieee1275/misc.c: Likewise.
16720 * util/powerpc/ieee1275/misc.c: Likewise.
16721
16722 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16723
16724 * conf/i386.rmk (setjmp_mod_SOURCES)
16725 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16726 * conf/common.rmk (setjmp_mod_SOURCES)
16727 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16728 to use $(target_cpu).
16729 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16730 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16731 * conf/powerpc-ieee1275.rmk: Likewise.
16732 * conf/sparc64-ieee1275.rmk: Likewise.
16733
16734 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16735 $(target_cpu) for kern/$(target_cpu)/dl.c.
16736 * conf/i386-efi.rmk: Likewise.
16737 * conf/i386-ieee1275.rmk: Likewise.
16738 * conf/x86_64-efi.rmk: Likewise.
16739 * conf/i386-coreboot.rmk: Likewise.
16740 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16741 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16742 kern/$(target_cpu)/cache.S.
16743 * conf/sparc64-ieee1275.rmk: Likewise.
16744
16745 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16746
16747 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16748 type to `grub_uint8_t', and adjust `padding9' accordingly.
16749
16750 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16751
16752 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16753
16754 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16755 assembly in final jump, using register constraints.
16756
16757 (grub_linux_boot): For text mode, initialize `have_vga' using
16758 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16759
16760 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16761 right before the final jump.
16762
16763 Set `video_mode' to 0x3.
16764
16765 Document initialization of `video_page', `video_mode' and
16766 `video_ega_bx'.
16767
16768 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16769
16770 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16771 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
16772 and set GRUB_LINUX_FLAG_QUIET appropriately.
16773
16774 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16775
16776 Fix build on Debian / sparc.
16777
16778 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16779
16780 2009-06-28 Pavel Roskin <proski@gnu.org>
16781
16782 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16783 fix a warning.
16784
16785 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16786
16787 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16788
16789 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16790 `err'.
16791
16792 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16793
16794 Revert r2338.
16795
16796 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16797 file can't be opened. grub_file_open() is already supposed to set
16798 grub_errno / grub_errmsg appropriately.
16799 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16800
16801 2009-06-27 Pavel Roskin <proski@gnu.org>
16802 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16803
16804 * include/grub/dl.h: Include grub/elf.h.
16805 (struct grub_dl): Add symtab field.
16806 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16807 GRUB_MODULES_MACHINE_READONLY.
16808 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16809 of the header for read-only modules.
16810 (grub_dl_unload): Free mod->symtab for read-only modules.
16811 * kern/i386/dl.c: Use mod->symtab.
16812 * kern/powerpc/dl.c: Likewise.
16813 * kern/sparc64/dl.c: Likewise.
16814 * kern/x86_64/dl.c: Likewise.
16815
16816 * conf/i386-qemu.rmk: New file.
16817 * kern/i386/qemu/startup.S: Likewise.
16818 * kern/i386/qemu/mmap.c: Likewise.
16819 * boot/i386/qemu/boot.S: Likewise.
16820 * include/grub/i386/qemu/time.h: Likewise.
16821 * include/grub/i386/qemu/serial.h: Likewise.
16822 * include/grub/i386/qemu/kernel.h: Likewise.
16823 * include/grub/i386/qemu/console.h: Likewise.
16824 * include/grub/i386/qemu/boot.h: Likewise.
16825 * include/grub/i386/qemu/init.h: Likewise.
16826 * include/grub/i386/qemu/machine.h: Likewise.
16827 * include/grub/i386/qemu/loader.h: Likewise.
16828 * include/grub/i386/qemu/memory.h: Likewise.
16829
16830 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16831 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16832 [qemu] (pkglib_IMAGES): Add `boot.img'.
16833 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16834 [qemu] (boot_img_FORMAT): New variables.
16835 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16836 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16837 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16838 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16839 [qemu] (kernel_img_FORMAT): New variables.
16840
16841 * configure.ac: Recognise `i386-qemu'.
16842
16843 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16844 (for no compression).
16845 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16846 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16847 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16848 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16849 ifdefs).
16850
16851 2009-06-27 Pavel Roskin <proski@gnu.org>
16852
16853 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16854 read.
16855 * efiemu/prepare32.c: Likewise.
16856 * efiemu/prepare64.c: Likewise.
16857
16858 2009-06-26 Pavel Roskin <proski@gnu.org>
16859
16860 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16861 * include/grub/elf.h: Define symbols without "32" or "64" based
16862 on GRUB_TARGET_WORDSIZE.
16863 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16864 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16865 ELF definitions.
16866 * efiemu/loadcore64.c: Likewise.
16867 * loader/i386/bsd32.c: Likewise.
16868 * loader/i386/bsd64.c: Likewise.
16869 * kern/dl.c: Remove own ELF definitions.
16870 * util/i386/efi/grub-mkimage.c: Likewise.
16871
16872 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16873
16874 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16875 segment 0x0 unconditionally, because the reference generated by
16876 GAS is an absolute address.
16877
16878 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16879
16880 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16881 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16882
16883 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16884
16885 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16886 indexes. Check for -f explicitly.
16887 (search_file): Improve error message.
16888 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
16889
16890 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16891
16892 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16893 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16894
16895 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16896
16897 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16898 * conf/i386-ieee1275.rmk: Likewise.
16899 * conf/i386-coreboot.rmk: Likewise.
16900
16901 * kern/i386/pc/startup.S (grub_stop): Remove function.
16902 * kern/i386/ieee1275/startup.S: Likewise.
16903 * kern/i386/coreboot/startup.S: Likewise.
16904 * kern/i386/misc.S (grub_stop): New function.
16905
16906 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16907
16908 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16909 * kern/i386/realmode.S (real_to_prot): ... to here.
16910
16911 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16912
16913 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16914 with `kernel.img'.
16915 (kernel_elf_SOURCES): Rename to ...
16916 (kernel_img_SOURCES): ... this.
16917 (kernel_elf_HEADERS): Rename to ...
16918 (kernel_img_HEADERS): ... this. Update all users.
16919 (kernel_elf_ASFLAGS): Rename to ...
16920 (kernel_img_ASFLAGS): ... this.
16921 (kernel_elf_CFLAGS): Rename to ...
16922 (kernel_img_CFLAGS): ... this.
16923 (kernel_elf_LDFLAGS): Rename to ...
16924 (kernel_img_LDFLAGS): ... this.
16925 * conf/i386-coreboot.rmk: Likewise.
16926 * conf/powerpc-ieee1275.rmk: Likewise.
16927
16928 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16929 with "kernel.img".
16930
16931 2009-06-21 Pavel Roskin <proski@gnu.org>
16932
16933 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16934 to match nested functions.
16935 * loader/sparc64/ieee1275/linux.c: Likewise.
16936
16937 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16938
16939 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16940
16941 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16942 all i386 platforms.
16943
16944 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16945
16946 Fix asm file handling on ELF, and remove workarounds.
16947
16948 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
16949 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
16950 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16951 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16952
16953 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Load BSD ELF modules
16956
16957 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16958 and loader/i386/bsd64.c
16959 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16960 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16961 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16962 (grub_freebsd_load_elfmodule32): New declaration
16963 (grub_freebsd_load_elfmoduleobj64): Likewise
16964 (grub_freebsd_load_elf_meta32): Likewise
16965 (grub_freebsd_load_elf_meta64): Likewise
16966 (grub_freebsd_add_meta): Likewise
16967 (grub_freebsd_add_meta_module): Likewise
16968 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16969 (grub_freebsd_add_meta_module): Likewise and move module-specific
16970 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16971 (grub_cmd_freebsd): Add elf-kernel specific parts
16972 based on grub_freebsd_add_meta_module
16973 (grub_cmd_freebsd_module): Add type parsing moved from
16974 grub_freebsd_add_meta_module
16975 (grub_cmd_freebsd_module_elf): New function
16976 (cmd_freebsd_module_elf): New variable
16977 (GRUB_MOD_INIT): Register freebsd_module_elf
16978 * loader/i386/bsd32.c: New file
16979 * loader/i386/bsd64.c: Likewise
16980 * loader/i386/bsdXX.c: Likewise
16981 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16982 (grub_elf64_load): Likewise
16983 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16984 All users updated
16985 (grub_elf64_load_hook_t): Likewise
16986
16987 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
16988
16989 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16990 variable.
16991 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16992 don't write a menu entry for recovery mode.
16993
16994 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16995
16996 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16997 after it's no longer needed.
16998
16999 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17000
17001 * include/grub/i386/loader.h (grub_linux_prot_size)
17002 (grub_linux_tmp_addr, grub_linux_real_addr)
17003 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17004 GRUB_MACHINE_PCBIOS.
17005 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17006 common grub_util_info() call to ...
17007 (generate_image): ... here.
17008 Fix use of uninitialized memory, comparison of signed with
17009 unsigned integers and memory leak.
17010 Remove bogus module address message.
17011
17012 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17015 grub_raid_register
17016 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17017
17018 2009-06-19 Pavel Roskin <proski@gnu.org>
17019
17020 * configure.ac: Remove stray AC_MSG_CHECKING.
17021
17022 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17025
17026 2009-06-18 Pavel Roskin <proski@gnu.org>
17027
17028 * conf/common.rmk: Add fs_file.mod.
17029 * disk/fs_file.c: New file.
17030 * include/grub/disk.h (enum grub_disk_dev_id): Add
17031 GRUB_DISK_DEVICE_FILE_ID.
17032
17033 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 Fix build with Apple's toolchain. Part 2
17036
17037 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17038 a fake start
17039
17040 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Fix build with Apple's toolchain. Part 1
17043
17044 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17045 for long calls
17046 * configure.ac: remove a leftover AC_MSG_RESULT
17047 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17048 Apple's toolchain
17049
17050 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 Fix warnings
17053
17054 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17055 (decomp_block): initialize ch
17056 use grub_memcpy instead of memcpy
17057
17058 2009-06-17 Pavel Roskin <proski@gnu.org>
17059
17060 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17061 version, use declarations needed to use vga_text as the startup
17062 console.
17063
17064 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17065 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17066 the kernel.
17067 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17068 and grub_at_keyboard_fini(), it's done on module load and
17069 unload.
17070
17071 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17072
17073 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17074 file can't be found.
17075 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17076
17077 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 Fix newline handling
17080
17081 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17082 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17083 (grub_script_yylex): don't segfault on unterminated script
17084 newline terminates command and variable
17085
17086 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 avoid double grub_adjust_range call. Bug reported by David Simner
17089
17090 * kern/disk.c (grub_disk_write): change to raw disk access before
17091 calling disk_read
17092
17093 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17094
17095 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17096 spaces, for the benefit of help2man.
17097 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17098
17099 2009-06-16 Pavel Roskin <proski@gnu.org>
17100
17101 * kern/i386/halt.c: Include grub/machine/init.h.
17102 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17103
17104 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17105
17106 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17107 drivemap menuentry.
17108
17109 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17110
17111 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17112 `echo' command.
17113
17114 2009-06-16 Pavel Roskin <proski@gnu.org>
17115
17116 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17117 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17118 save %dx, we only need %dl and we never change it.
17119 * boot/i386/pc/cdboot.S: Don't set the root drive.
17120 * boot/i386/pc/pxeboot.S: Likewise.
17121 * include/grub/i386/pc/boot.h: Remove
17122 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17123 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17124 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17125 * kern/i386/pc/init.c (make_install_device): Remove references
17126 to grub_root_drive.
17127 * kern/i386/pc/startup.S: Likewise.
17128 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17129
17130 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 xnu_uuid command
17133
17134 * commands/xnu_uuid.c: new file
17135 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17136 (xnu_uuid_mod_SOURCES): new variable
17137 (xnu_uuid_mod_CFLAGS): likewise
17138 (xnu_uuid_mod_LDFLAGS): likewise
17139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17140 * conf/i386-ieee1275.rmk: likewise
17141 * conf/i386-pc.rmk: likewise
17142 * conf/powerpc-ieee1275.rmk: likewise
17143 * conf/sparc64-ieee1275.rmk: likewise
17144 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17145
17146 2009-06-16 Pavel Roskin <proski@gnu.org>
17147
17148 * configure.ac: Avoid '==' in test command, it's not portable.
17149
17150 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 Probe command
17153
17154 * commands/probe.c: new file
17155 * conf/common.rmk (pkglib_MODULES): add probe.mod
17156 (probe_mod_SOURCES): new variable
17157 (probe_mod_CFLAGS): likewise
17158 (probe_mod_LDFLAGS): likewise
17159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17160 * conf/i386-ieee1275.rmk: likewise
17161 * conf/i386-pc.rmk: likewise
17162 * conf/powerpc-ieee1275.rmk: likewise
17163 * conf/sparc64-ieee1275.rmk: likewise
17164
17165 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Fix handling of string like \"hello\" and "a
17168 b"
17169
17170 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17171 (grub_script_yylex): fix parsing of quoting, escaping and newline
17172
17173 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17176 handling
17177
17178 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17179
17180 * util/grub-mkconfig.in: Fix parsing of --output option.
17181
17182 2009-06-12 Pavel Roskin <proski@gnu.org>
17183
17184 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17185 genmk.rb don't need to be generated or installed.
17186
17187 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * commands/i386/pc/drivemap_int13h.S: add more comments
17190
17191 2009-06-11 Pavel Roskin <proski@gnu.org>
17192
17193 * Makefile.in (uninstall): Uninstall manuals.
17194
17195 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17196 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17197 and update-grub_lib in two places.
17198 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17199
17200 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17201 a compiler warning.
17202
17203 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17204 `entry_lo' to fix variable shadowing.
17205
17206 2009-06-11 Christian Franke <franke@computer.org>
17207
17208 * kern/misc.c (__enable_execute_stack): Add missing return type
17209 to prevent gcc warning.
17210
17211 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17212
17213 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17214
17215 2009-06-11 Pavel Roskin <proski@gnu.org>
17216
17217 * Makefile.in: Don't rely on any scripts being executable.
17218 Always use $(SHELL) to run shell scripts.
17219
17220 * configure.ac: Always define ___main if using -nostdlib. This
17221 fixes tests on Cygwin.
17222
17223 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17224
17225 UDF fix
17226
17227 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17228 is in bytes and not in blocks
17229
17230 2009-06-11 Pavel Roskin <proski@gnu.org>
17231
17232 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17233 warning.
17234
17235 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17236
17237 * util/grub.d/30_os-prober.in: Fix a comment. Source
17238 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17239 to set the root device. Place drivemap command in the generated
17240 chain entry.
17241
17242 2009-06-11 Pavel Roskin <proski@gnu.org>
17243
17244 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17245 have long been resolved.
17246
17247 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17248
17249 * util/grub.d/10_linux.in: Capitalise "Linux".
17250
17251 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17252
17253 2009-06-11 Pavel Roskin <proski@gnu.org>
17254
17255 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17256 fix a gcc warning and ensure that the function won't ever exit.
17257
17258 * kern/i386/ieee1275/init.c: Add missing prototype for
17259 grub_stop_floppy().
17260
17261 * loader/ieee1275/multiboot2.c [__i386__]: Include
17262 grub/cpu/multiboot.h.
17263
17264 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17265 casts to short - they are not portable and cause warnings. Fix
17266 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17267
17268 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 Drivemap fixes
17271
17272 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17273 new function
17274 (grub_get_root_biosnumber_saved): new variable
17275 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17276 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17277 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17278 %dx after the call if necessary
17279 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17280 (boot_mod_SOURCES): remove
17281 (boot_mod_CFLAGS): remove
17282 (boot_mod_LDFLAGS): remove
17283 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17284 (boot_mod_SOURCES): new variable
17285 (boot_mod_CFLAGS): likewise
17286 (boot_mod_LDFLAGS): likewise
17287 * conf/i386-efi.rmk: likewise
17288 * conf/i386-ieee1275.rmk: likewise
17289 * conf/i386-pc.rmk: likewise
17290 * conf/powerpc-ieee1275.rmk: likewise
17291 * conf/sparc64-ieee1275.rmk: likewise
17292 * conf/x86_64-efi.rmk: likewise
17293 * include/grub/i386/pc/biosnum.h: new file
17294 * lib/i386/pc/biosnum.c: likewise
17295 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17296 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17297 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17298
17299 2009-06-10 Pavel Roskin <proski@gnu.org>
17300
17301 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17302 Use separate variables. Read only the file size at the end, but
17303 not the checksum that we don't use.
17304
17305 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17306 Adjust all callers.
17307
17308 * kern/ieee1275/openfw.c: Remove libc includes.
17309 * kern/ieee1275/cmain.c: Likewise.
17310 * include/grub/ieee1275/ieee1275.h: Likewise.
17311
17312 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17313 compiler warnings.
17314
17315 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17316
17317 * Makefile.in: Remove all trailing whitespace.
17318 * conf/i386-pc.rmk: Likewise.
17319 * conf/powerpc-ieee1275.rmk: Likewise.
17320 * conf/sparc64-ieee1275.rmk: Likewise.
17321 * docs/grub.texi: Likewise.
17322 * docs/texinfo.tex: Likewise.
17323 * disk/fs_uuid.c: Likewise.
17324 * disk/lvm.c: Likewise.
17325 * disk/scsi.c: Likewise.
17326 * disk/ata.c: Likewise.
17327 * disk/ieee1275/ofdisk.c: Likewise.
17328 * disk/i386/pc/biosdisk.c: Likewise.
17329 * disk/host.c: Likewise.
17330 * disk/raid.c: Likewise.
17331 * disk/efi/efidisk.c: Likewise.
17332 * disk/usbms.c: Likewise.
17333 * disk/memdisk.c: Likewise.
17334 * disk/loopback.c: Likewise.
17335 * kern/powerpc/dl.c: Likewise.
17336 * kern/device.c: Likewise.
17337 * kern/dl.c: Likewise.
17338 * kern/sparc64/dl.c: Likewise.
17339 * kern/ieee1275/ieee1275.c: Likewise.
17340 * kern/term.c: Likewise.
17341 * kern/fs.c: Likewise.
17342 * kern/i386/dl.c: Likewise.
17343 * kern/i386/pc/startup.S: Likewise.
17344 * kern/i386/pc/init.c: Likewise.
17345 * kern/i386/pc/mmap.c: Likewise.
17346 * kern/i386/pc/lzo1x.S: Likewise.
17347 * kern/i386/ieee1275/init.c: Likewise.
17348 * kern/i386/realmode.S: Likewise.
17349 * kern/i386/tsc.c: Likewise.
17350 * kern/partition.c: Likewise.
17351 * kern/corecmd.c: Likewise.
17352 * kern/file.c: Likewise.
17353 * kern/efi/efi.c: Likewise.
17354 * kern/efi/init.c: Likewise.
17355 * kern/efi/mm.c: Likewise.
17356 * kern/main.c: Likewise.
17357 * kern/err.c: Likewise.
17358 * kern/env.c: Likewise.
17359 * kern/disk.c: Likewise.
17360 * kern/generic/millisleep.c: Likewise.
17361 * kern/generic/rtc_get_time_ms.c: Likewise.
17362 * kern/misc.c: Likewise.
17363 * kern/parser.c: Likewise.
17364 * genmk.rb: Likewise.
17365 * configure.ac: Likewise.
17366 * boot/i386/pc/diskboot.S: Likewise.
17367 * boot/i386/pc/pxeboot.S: Likewise.
17368 * boot/i386/pc/boot.S: Likewise.
17369 * boot/i386/pc/lnxboot.S: Likewise.
17370 * boot/i386/pc/cdboot.S: Likewise.
17371 * parttool/pcpart.c: Likewise.
17372 * video/readers/tga.c: Likewise.
17373 * video/video.c: Likewise.
17374 * video/bitmap.c: Likewise.
17375 * lib/envblk.c: Likewise.
17376 * lib/i386/setjmp.S: Likewise.
17377 * fs/xfs.c: Likewise.
17378 * fs/afs.c: Likewise.
17379 * fs/fat.c: Likewise.
17380 * fs/ntfs.c: Likewise.
17381 * fs/udf.c: Likewise.
17382 * fs/affs.c: Likewise.
17383 * fs/iso9660.c: Likewise.
17384 * fs/hfs.c: Likewise.
17385 * fs/fshelp.c: Likewise.
17386 * fs/ext2.c: Likewise.
17387 * fs/jfs.c: Likewise.
17388 * fs/reiserfs.c: Likewise.
17389 * fs/hfsplus.c: Likewise.
17390 * fs/minix.c: Likewise.
17391 * fs/cpio.c: Likewise.
17392 * fs/sfs.c: Likewise.
17393 * fs/ufs.c: Likewise.
17394 * efiemu/prepare.c: Likewise.
17395 * efiemu/loadcore_common.c: Likewise.
17396 * efiemu/runtime/efiemu.sh: Likewise.
17397 * efiemu/runtime/efiemu.S: Likewise.
17398 * efiemu/runtime/efiemu.c: Likewise.
17399 * efiemu/pnvram.c: Likewise.
17400 * efiemu/main.c: Likewise.
17401 * efiemu/i386/pc/cfgtables.c: Likewise.
17402 * efiemu/i386/loadcore64.c: Likewise.
17403 * efiemu/i386/loadcore32.c: Likewise.
17404 * efiemu/loadcore.c: Likewise.
17405 * efiemu/symbols.c: Likewise.
17406 * efiemu/mm.c: Likewise.
17407 * include/grub/autoefi.h: Likewise.
17408 * include/grub/datetime.h: Likewise.
17409 * include/grub/term.h: Likewise.
17410 * include/grub/hfs.h: Likewise.
17411 * include/grub/lvm.h: Likewise.
17412 * include/grub/i386/tsc.h: Likewise.
17413 * include/grub/i386/linux.h: Likewise.
17414 * include/grub/i386/xnu.h: Likewise.
17415 * include/grub/i386/efiemu.h: Likewise.
17416 * include/grub/i386/pc/biosdisk.h: Likewise.
17417 * include/grub/i386/pc/memory.h: Likewise.
17418 * include/grub/i386/pc/vbe.h: Likewise.
17419 * include/grub/parttool.h: Likewise.
17420 * include/grub/video.h: Likewise.
17421 * include/grub/memory.h: Likewise.
17422 * include/grub/fs.h: Likewise.
17423 * include/grub/partition.h: Likewise.
17424 * include/grub/xnu.h: Likewise.
17425 * include/grub/efi/api.h: Likewise.
17426 * include/grub/efi/pe32.h: Likewise.
17427 * include/grub/efi/memory.h: Likewise.
17428 * include/grub/multiboot.h: Likewise.
17429 * include/grub/usbdesc.h: Likewise.
17430 * include/grub/multiboot2.h: Likewise.
17431 * include/grub/acpi.h: Likewise.
17432 * include/grub/efiemu/efiemu.h: Likewise.
17433 * include/grub/disk.h: Likewise.
17434 * include/grub/ieee1275/ieee1275.h: Likewise.
17435 * include/grub/net.h: Likewise.
17436 * include/grub/machoload.h: Likewise.
17437 * include/grub/macho.h: Likewise.
17438 * include/multiboot.h: Likewise.
17439 * genmoddep.awk: Likewise.
17440 * normal/main.c: Likewise.
17441 * normal/menu_entry.c: Likewise.
17442 * normal/menu_viewer.c: Likewise.
17443 * normal/completion.c: Likewise.
17444 * normal/cmdline.c: Likewise.
17445 * normal/misc.c: Likewise.
17446 * normal/datetime.c: Likewise.
17447 * bus/usb/usbtrans.c: Likewise.
17448 * bus/usb/ohci.c: Likewise.
17449 * bus/usb/uhci.c: Likewise.
17450 * bus/usb/usb.c: Likewise.
17451 * mmap/efi/mmap.c: Likewise.
17452 * mmap/i386/pc/mmap_helper.S: Likewise.
17453 * mmap/i386/pc/mmap.c: Likewise.
17454 * mmap/i386/mmap.c: Likewise.
17455 * mmap/i386/uppermem.c: Likewise.
17456 * mmap/mmap.c: Likewise.
17457 * commands/acpi.c: Likewise.
17458 * commands/echo.c: Likewise.
17459 * commands/blocklist.c: Likewise.
17460 * commands/loadenv.c: Likewise.
17461 * commands/usbtest.c: Likewise.
17462 * commands/boot.c: Likewise.
17463 * commands/parttool.c: Likewise.
17464 * commands/search.c: Likewise.
17465 * commands/cat.c: Likewise.
17466 * commands/i386/pc/play.c: Likewise.
17467 * commands/i386/pc/drivemap.c: Likewise.
17468 * commands/i386/pc/vbeinfo.c: Likewise.
17469 * commands/i386/pc/acpi.c: Likewise.
17470 * commands/i386/pc/vbetest.c: Likewise.
17471 * commands/ls.c: Likewise.
17472 * commands/cmp.c: Likewise.
17473 * commands/test.c: Likewise.
17474 * commands/efi/acpi.c: Likewise.
17475 * commands/gptsync.c: Likewise.
17476 * commands/help.c: Likewise.
17477 * partmap/amiga.c: Likewise.
17478 * partmap/apple.c: Likewise.
17479 * partmap/acorn.c: Likewise.
17480 * partmap/pc.c: Likewise.
17481 * partmap/sun.c: Likewise.
17482 * partmap/gpt.c: Likewise.
17483 * script/sh/lexer.c: Likewise.
17484 * script/sh/function.c: Likewise.
17485 * font/font.c: Likewise.
17486 * font/font_cmd.c: Likewise.
17487 * loader/powerpc/ieee1275/linux.c: Likewise.
17488 * loader/efi/chainloader.c: Likewise.
17489 * loader/multiboot_loader.c: Likewise.
17490 * loader/macho.c: Likewise.
17491 * loader/i386/multiboot.c: Likewise.
17492 * loader/i386/linux.c: Likewise.
17493 * loader/i386/pc/linux.c: Likewise.
17494 * loader/i386/pc/multiboot2.c: Likewise.
17495 * loader/i386/pc/chainloader.c: Likewise.
17496 * loader/i386/pc/xnu.c: Likewise.
17497 * loader/i386/bsd_trampoline.S: Likewise.
17498 * loader/i386/efi/linux.c: Likewise.
17499 * loader/i386/multiboot_elfxx.c: Likewise.
17500 * loader/i386/bsd_helper.S: Likewise.
17501 * loader/i386/bsd.c: Likewise.
17502 * loader/i386/linux_trampoline.S: Likewise.
17503 * loader/i386/xnu_helper.S: Likewise.
17504 * loader/i386/xnu.c: Likewise.
17505 * loader/i386/bsd_pagetable.c: Likewise.
17506 * loader/i386/multiboot_helper.S: Likewise.
17507 * loader/xnu.c: Likewise.
17508 * loader/xnu_resume.c: Likewise.
17509 * io/gzio.c: Likewise.
17510 * term/efi/console.c: Likewise.
17511 * term/terminfo.c: Likewise.
17512 * term/ieee1275/ofconsole.c: Likewise.
17513 * term/i386/pc/serial.c: Likewise.
17514 * term/i386/pc/vesafb.c: Likewise.
17515 * term/i386/pc/vga.c: Likewise.
17516 * term/usb_keyboard.c: Likewise.
17517 * term/gfxterm.c: Likewise.
17518 * aclocal.m4: Likewise.
17519 * util/lvm.c: Likewise.
17520 * util/grub.d/30_os-prober.in: Likewise.
17521 * util/grub.d/10_hurd.in: Likewise.
17522 * util/console.c: Likewise.
17523 * util/grub-macho2img.c: Likewise.
17524 * util/grub-probe.c: Likewise.
17525 * util/hostfs.c: Likewise.
17526 * util/i386/pc/grub-mkimage.c: Likewise.
17527 * util/i386/pc/grub-setup.c: Likewise.
17528 * util/i386/efi/grub-mkimage.c: Likewise.
17529 * util/grub-mkconfig.in: Likewise.
17530 * util/raid.c: Likewise.
17531 * util/resolve.c: Likewise.
17532 * util/grub-mkdevicemap.c: Likewise.
17533 * util/grub-emu.c: Likewise.
17534 * util/getroot.c: Likewise.
17535 * util/hostdisk.c: Likewise.
17536 * util/usb.c: Likewise.
17537 * util/grub-editenv.c: Likewise.
17538 * util/misc.c: Likewise.
17539
17540 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17541
17542 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17543 `genparttoollist.sh'.
17544 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17545 Add `*.sh' to the list find searches for and change `mdate.sh'
17546 to `mdate-sh'.
17547
17548 2009-06-10 Pavel Roskin <proski@gnu.org>
17549
17550 * include/grub/multiboot2.h: Provide compatibility defines for
17551 multiboot2.h.
17552 * include/multiboot2.h: Include stdint.h only if needed, using
17553 angle brackets.
17554 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17555 grub/multiboot2.h.
17556 * loader/ieee1275/multiboot2.c: Likewise.
17557 * loader/multiboot2.c: Likewise.
17558 * loader/multiboot_loader.c: Likewise.
17559
17560 * configure.ac: Use -nostdlib when probing for the target. It
17561 should not be required to have libc for the target.
17562
17563 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17564 they fail without libc headers for the target.
17565 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17566 exports.
17567 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17568 preprocessor conditionals.
17569
17570 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17571 build system doesn't need to be aware of the tar.c internals.
17572
17573 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17574
17575 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17576
17577 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17578
17579 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17580 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17581
17582 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17583
17584 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17585 aren't available if ata.mod gets used.
17586
17587 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17588
17589 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17590 initialising controller.
17591 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17592
17593 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17594
17595 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17596 to choose between ata and biosdisk module on i386-pc.
17597
17598 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17599
17600 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17601 Subclass and Programming Interface fields in terms of the 3 byte
17602 Class Code register.
17603 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17604
17605 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17606 interface is OHCI. Add grub_dprintf for symmetry with
17607 bus/usb/uhci.c.
17608 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17609 interface is UHCI. Add interf variable for programming
17610 interface. Print interface with class/subclass.
17611
17612 * bus/usb/ohci.c: Set interf with correct field.
17613
17614 * bus/usb/uhci.c: Remove unneeded doubled lines.
17615 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17616 Remove whitespace inside comment.
17617
17618 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17619
17620 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17621 as fallback an equivalent option without depth.
17622
17623 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 Not fail if unable to retrieve C/H/S on LBA disks
17626
17627 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17628 if unable to retrieve C/H/S on LBA disks
17629
17630 2009-06-08 Pavel Roskin <proski@gnu.org>
17631
17632 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17633 about aliasing.
17634
17635 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17636
17637 * Makefile.in (uninstall): Remove all $lib_DATA files.
17638
17639 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 Bugfix: install on partitionless device
17642
17643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17644 is a whole disk
17645
17646 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17647
17648 * Makefile.in (uninstall): Remove all $include_DATA files.
17649
17650 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17651
17652 * commands/true.c: New file. Implement the true and false commands.
17653 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17654 (true_mod_SOURCES): New variable.
17655 (true_mod_CFLAGS): Likewise.
17656 (true_mod_LDFLAGS): Likewise.
17657
17658 2009-06-05 Colin D Bennett <colin@gibibit.com>
17659
17660 Optimized font character lookup using binary search instead of linear
17661 search. Fonts now are required to have the character index ordered by
17662 code point.
17663
17664 * font/font.c (load_font_index): Verify that fonts have ordered
17665 character indices.
17666 (find_glyph): Use binary search instead of linear search to find a
17667 character in a font.
17668
17669 2009-06-05 Michael Scherer <misc@mandriva.org>
17670
17671 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17672 uses case sensitive btree.
17673 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17674 only for case insensitive filesystems.
17675
17676 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17679 * conf/common.rmk (search_mod_CFLAGS): likewise
17680
17681 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17684 compensate a compiler bug
17685
17686 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17689 instead of '\b'
17690
17691 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Definitions for creating asm symbols with Apple's CC
17694
17695 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17696 [APPLE_CC] (VARIABLE): likewise
17697
17698 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 Disable lnxboot.img when compiled
17701 with Apple's CC
17702
17703 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17704 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17705 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17706 [! APPLE_CC] (CODE_LENG): skip
17707 [! APPLE_CC] (setup_sects): likewise
17708 [! APPLE_CC]: skip filling
17709
17710 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 Address in trampolines based on 32-bit registers when compiled
17713 with Apple's CC
17714
17715 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17716 for addresses
17717 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17718
17719 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17722
17723 * kern/misc.c [APPLE_CC] (memcpy): new function
17724 [APPLE_CC] (memmove): likewise
17725 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17726 (memcpy): define alias conditionally on !APPLE_CC
17727 (memset): likewise
17728 (abort): likewise
17729 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17730 APPLE_CC are defined
17731 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17732 (grub_assert_fail): make prototype conditional
17733
17734 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17737
17738 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17739 grub-macho2img
17740 (CLEANFILES): add grub-macho2img
17741 (grub_macho2img_SOURCES): new variable
17742 * kern/i386/pc/startup.S (bss_start): new variable
17743 (bss_end): likewise
17744 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17745 * util/grub-macho2img.c: new file
17746
17747 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 Use objconv when compiling with Apple's CC
17750
17751 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17752 (efiemu64.o): likewise
17753 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17754 when compiling with Apple's CC
17755 (efiemu64_s.o): likewise
17756 * configure.ac: check for objconv when compiling with Apple's CC
17757 * genmk.rb: use objconv for modules when compiled with Apple's CC
17758
17759 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 Define segment as well as section when compiling with
17762 Apple's CC
17763
17764 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17765 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17766 (efiemu_convert_pointer): likewise
17767 (efiemu_set_virtual_address_map): likewise
17768 (efiemu_convert_pointer): likewise
17769 (efiemu_getcrc32): likewise
17770 (init_crc32_table): likewise
17771 (reflect): likewise
17772 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17773 (GRUB_MOD_DEP): likewise
17774
17775 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 Allow a compilation without -mcmodel=large
17778
17779 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17780 when compiled without -mcmodel=large
17781 (filter_memory_map): remove memory post 4 GiB when compiled
17782 without -mcmodel=large
17783 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
17784 TARGET_CFLAGS when -mcmodel=large isn't supported
17785
17786 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 Remove nested functions in efiemu core
17789
17790 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
17791
17792 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17795
17796 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17797 temporary storage
17798 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17799 using Apple's CC
17800 (grub_cpu_is_tsc_supported): likewise
17801 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
17802
17803 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 Absolute addressing through constant with Apple's cc
17806
17807 * kern/i386/pc/startup.S: Define necessary constants
17808 and address through it when using ABS with Apple's CC
17809 * boot/i386/pc/diskboot.S: likewise
17810 * boot/i386/pc/boot.S: likewise
17811 * boot/i386/pc/lnxboot.S: likewise
17812 * boot/i386/pc/cdboot.S: likewise
17813 * mmap/i386/pc/mmap_helper.S: likewise
17814 * commands/i386/pc/drivemap_int13h.S: likewise
17815
17816 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 Check if compiler is apple cc
17819
17820 * Makefile.in (ASFLAGS): new variable
17821 (TARGET_ASFLAGS): likewise
17822 (TARGET_MODULE_FORMAT): likewise
17823 (TARGET_APPLE_CC): likewise
17824 (OBJCONV): likewise
17825 (TARGET_IMG_CFLAGS): likewise
17826 (TARGET_CPPFLAGS): add includedir
17827 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17828 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17829 Check for linker script only if compiler isn't Apple's CC
17830 (TARGET_MODULE_FORMAT): set
17831 (TARGET_APPLE_CC): likewise
17832 (TARGET_ASFLAGS): likewise
17833 (ASFLAGS): likewise
17834 Check for objcopy only if compiler isn't Apple's CC
17835 Check for BSS symbol only if compiler isn't Apple's CC
17836 * genmk.rb: adapt nm options if we use Apple's utils
17837 * aclocal.m4 (grub_apple_cc): new test
17838 (grub_apple_target_cc): likewise
17839
17840 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 Simplify sed expressions and improve awk
17843
17844 * Makefile.in (install-local): simplify sed expression
17845 * gencmdlist.sh: likewise
17846 * genmoddep.awk: avoid adding module as a dependency of itself
17847
17848 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 Add missing start symbols
17851
17852 * boot/i386/pc/boot.S: add start
17853 * boot/i386/pc/pxeboot.S: likewise
17854
17855 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 Fix wrong assumptions with grub-mkimage on EFI
17858
17859 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
17860 (relocate_addresses): consider both r_addend and value at offset
17861 (make_mods_section): zerofill modinfo and header
17862 (convert_elf): write prefix here
17863
17864 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 Use .asciz instead of .string
17867
17868 * i386/pc/diskboot.S: use .asciz instead of .string
17869 * i386/pc/boot.S: likewise
17870 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17871 (GRUB_MOD_NAME): likewise
17872
17873 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 gfxpayload support
17876
17877 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17878 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17879 (grub_video_setup): remove
17880 (grub_video_set_mode): new prototype
17881 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17882 (vid_mode): remove
17883 (linux_vesafb_res): compile only on PCBIOS
17884 (grub_linux_boot): support gfxpayload
17885 * loader/i386/pc/xnu.c (video_hook): new function
17886 (grub_xnu_set_video): support gfxpayload
17887 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17888 (DEFAULT_VIDEO_HEIGHT): likewise
17889 (DEFAULT_VIDEO_FLAGS): likewise
17890 (DEFAULT_VIDEO_MODE): new definition
17891 (video_hook): new function
17892 (grub_gfxterm_init): use grub_video_set_mode
17893 * util/grub.d/30_os-prober.in: remove explicit modesetting before
17894 loading xnu
17895 * video/video.c (grub_video_setup): removed
17896 (grub_video_set_mode): new function based on grub_gfxterm_init and
17897 grub_video_setup
17898
17899 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 Avoid calling biosdisk in drivemap
17902
17903 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17904 (revparse_biosdisk): likewise
17905 (list_mappings): derive name from id directly
17906 (grub_cmd_drivemap): use tryparse_diskstring
17907
17908 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 Script fixes
17911
17912 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17913 (grub_lexer_param): add tokenonhold
17914 (grub_script_create_cmdline): remove cmdline. All callers updated
17915 (grub_script_function_create): make functionname
17916 grub_script_arg. All callers updated
17917 (grub_script_execute_argument_to_string): new prototype
17918 * kern/parser.c (state_transitions): reorder
17919 (grub_parser_cmdline_state): fix a bug and make more compact
17920 * script/sh/execute.c (grub_script_execute_argument_to_string):
17921 make global
17922 (grub_script_execute_cmdline): use new format
17923 * script/sh/function.c (grub_script_function_create): make functionname
17924 grub_script_arg. All callers updated
17925 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
17926 (grub_script_yylex): remove
17927 (grub_script_yylex2): renamed to ...
17928 (grub_script_yylex): ...renamed
17929 parse the expressions like a${b}c
17930 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17931 (GRUB_PARSER_TOKEN_VAR): remove
17932 (GRUB_PARSER_TOKEN_NAME): likewise
17933 ("if"): declare as typeless
17934 ("while"): likewise
17935 ("function"): likewise
17936 ("else"): likewise
17937 ("then"): likewise
17938 ("fi"): likewise
17939 (text): remove
17940 (argument): likewise
17941 (script): accept empty scripts and make exit on error
17942 (arguments): use GRUB_PARSER_TOKEN_ARG
17943 (function): likewise
17944 (command): move error handling to script
17945 (menuentry): move grub_script_lexer_ref before
17946 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
17947 argument. All callers updated
17948
17949 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17950
17951 Prevent GRUB from probing floppies during boot.
17952
17953 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17954 * commands/search.c (options): Add --no-floppy.
17955 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17956 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17957 --no-floppy when searching for UUIDs.
17958
17959 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17960
17961 Simplify the code duplication in commands/search.c.
17962
17963 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17964 (search_fs): ... this. Update all users.
17965
17966 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
17967
17968 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17969
17970 2009-05-28 Pavel Roskin <proski@gnu.org>
17971
17972 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17973 Remove the original symlink explicitly.
17974
17975 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17976 just one slash. That's how grub_fshelp_find_file() does it.
17977
17978 2009-05-26 Pavel Roskin <proski@gnu.org>
17979
17980 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17981 to `str'.
17982
17983 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17984 possibly unused.
17985
17986 2009-05-25 Christian Franke <franke@computer.org>
17987
17988 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17989 register.
17990 (grub_atapi_identify): Add wait after drive select.
17991 (grub_ata_identify): Do more strict status register check before
17992 calling grub_atapi_identify (). Suppress error message if status
17993 register is 0x00 after command failure. Add status register
17994 check after PIO read to avoid bogus identify due to stuck DRQ.
17995 Thanks to Pavel Roskin for testing.
17996 (grub_device_initialize): Remove unsafe status register check.
17997 Thanks to 'phcoder' for problem report and patch.
17998 Prevent sign extension in debug message.
17999
18000 2009-05-23 Colin D Bennett <colin@gibibit.com>
18001
18002 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18003 definition file, and functions defined in `normal/menu.c' have had
18004 their prototypes moved to `include/grub/menu.h' for consistency.
18005
18006 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18007 from normal.h.
18008 (grub_menu_get_entry): Likewise.
18009 (grub_menu_get_timeout): Likewise.
18010 (grub_menu_set_timeout): Likewise.
18011 (grub_menu_execute_entry): Likewise.
18012 (grub_menu_execute_with_fallback): Likewise.
18013 (grub_menu_entry_run): Likewise.
18014
18015 * include/grub/normal.h: Re-ordered and grouped function
18016 prototypes by file that the function is defined in.
18017 (grub_menu_execute_callback): Removed; moved to menu.h.
18018 (grub_menu_get_entry): Likewise.
18019 (grub_menu_get_timeout): Likewise.
18020 (grub_menu_set_timeout): Likewise.
18021 (grub_menu_execute_entry): Likewise.
18022 (grub_menu_execute_with_fallback): Likewise.
18023 (grub_menu_entry_run): Likewise.
18024 (grub_menu_addentry): Renamed from this ...
18025 (grub_normal_add_menu_entry): ... to this.
18026
18027 * normal/main.c (grub_menu_addentry): Renamed from this ...
18028 (grub_normal_add_menu_entry): ... to this.
18029
18030 * script/sh/execute.c (grub_script_execute_menuentry): Update
18031 reference to renamed grub_menu_addentry function.
18032
18033 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18034
18035 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18036
18037 2009-05-22 Pavel Roskin <proski@gnu.org>
18038
18039 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18040 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18041 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18042 compiling for the i386 targets, but not for the utilities.
18043
18044 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18045 to grub_uint8_t.
18046 (grub_root_drive): Likewise.
18047 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18048 remove alignment.
18049 (grub_root_drive): Change size to byte.
18050 (grub_start_addr): Remove.
18051 (grub_end_addr): Likewise.
18052 (grub_apm_bios_info): Likewise.
18053
18054 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18055
18056 * normal/i386: Remove.
18057 * normal/powerpc: Likewise.
18058 * normal/sparc64: Likewise.
18059 * normal/x86_64: Likewise.
18060
18061 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18064 * loader/i386/linux_trampoline.S: Fix indentation
18065 * loader/i386/xnu_helper.S: Likewise
18066
18067 2009-05-18 Colin D Bennett <colin@gibibit.com>
18068
18069 Display error messages when parsing a Lua statement fails.
18070 Previously, executing a syntactically invalid statement like
18071 ")foo" or "bar;" would silently fail.
18072
18073 * script/lua/grub_main.c (handle_lua_error): New function.
18074 (grub_lua_parse_line): Improved reporting of Lua parser and
18075 execution errors.
18076
18077 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 Remove -Werror which causes build to fail on some systems
18080
18081 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18082 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18083 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18084
18085 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 trampoline for linux on 64-bit platform
18088
18089 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18090 loader/i386/efi/linux_trampoline.S
18091 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18092 declaration
18093 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18094 here
18095 * loader/i386/linux_trampoline.S: moved here
18096 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18097 trampoline
18098 (jumpvector): removed
18099 (grub_linux_trampoline_start): new declaration
18100 (grub_linux_trampoline_end): likewise
18101 (grub_linux_boot): use trampoline when on 64-bit platform
18102 * loader/i386/linux.c: likewise
18103
18104 2009-05-16 Pavel Roskin <proski@gnu.org>
18105
18106 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18107 const to avoid a warning.
18108 (grub_lua_setenv): Likewise.
18109 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18110 lmsg to fix a warning.
18111
18112 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18113
18114 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18115 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18116 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18117 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18118 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18119 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18120 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18121 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18122
18123 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18124
18125 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18126
18127 2009-05-16 Bean <bean123ch@gmail.com>
18128
18129 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18130 (lua_mod_SOURCES): New variable.
18131 (lua_mod_CFLAGS): Likewise.
18132 (lua_mod_LDFLAGS): Likewise.
18133
18134 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18135 (setjmp_mod_SOURCES): New variable.
18136 (setjmp_mod_CFLAGS): Likewise.
18137 (setjmp_LDFLAGS): Likewise.
18138
18139 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18140 (setjmp_mod_SOURCES): New variable.
18141 (setjmp_mod_CFLAGS): Likewise.
18142 (setjmp_LDFLAGS): Likewise.
18143
18144 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18145 (setjmp_mod_SOURCES): New variable.
18146 (setjmp_mod_CFLAGS): Likewise.
18147 (setjmp_LDFLAGS): Likewise.
18148
18149 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18150 (setjmp_mod_SOURCES): New variable.
18151 (setjmp_mod_CFLAGS): Likewise.
18152 (setjmp_LDFLAGS): Likewise.
18153
18154 * normal/i386/setjmp.S: Moved from here ...
18155 * lib/i386/setjmp.S: ... Moved here
18156 * normal/x86_64/setjmp.S: Moved from here ...
18157 * lib/x86_64/setjmp.S: ... Moved here
18158 * normal/powerpc/setjmp.S: Moved from here ...
18159 * lib/powerpc/setjmp.S: ... Moved here
18160 * normal/sparc64/setjmp.S: Moved from here ...
18161 * lib/sparc64/setjmp.S: ... Moved here
18162
18163 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18164 returns_twice in mingw.
18165
18166 * script/lua/grub_lib.c: New file.
18167 * script/lua/grub_lib.h: Likewise.
18168 * script/lua/grub_lua.h: Likewise.
18169 * script/lua/grub_main.c: Likewise.
18170 * script/lua/lapi.c: Likewise.
18171 * script/lua/lapi.h: Likewise.
18172 * script/lua/lauxlib.c: Likewise.
18173 * script/lua/lauxlib.h: Likewise.
18174 * script/lua/lbaselib.c: Likewise.
18175 * script/lua/lcode.c: Likewise.
18176 * script/lua/lcode.h: Likewise.
18177 * script/lua/ldblib.c: Likewise.
18178 * script/lua/ldebug.c: Likewise.
18179 * script/lua/ldebug.h: Likewise.
18180 * script/lua/ldo.c: Likewise.
18181 * script/lua/ldo.h: Likewise.
18182 * script/lua/ldump.c: Likewise.
18183 * script/lua/lfunc.c: Likewise.
18184 * script/lua/lfunc.h: Likewise.
18185 * script/lua/lgc.c: Likewise.
18186 * script/lua/lgc.h: Likewise.
18187 * script/lua/linit.c: Likewise.
18188 * script/lua/liolib.c: Likewise.
18189 * script/lua/llex.c: Likewise.
18190 * script/lua/llex.h: Likewise.
18191 * script/lua/llimits.h: Likewise.
18192 * script/lua/lmathlib.c: Likewise.
18193 * script/lua/lmem.c: Likewise.
18194 * script/lua/lmem.h: Likewise.
18195 * script/lua/loadlib.c: Likewise.
18196 * script/lua/lobject.c: Likewise.
18197 * script/lua/lobject.h: Likewise.
18198 * script/lua/lopcodes.c: Likewise.
18199 * script/lua/lopcodes.h: Likewise.
18200 * script/lua/loslib.c: Likewise.
18201 * script/lua/lparser.c: Likewise.
18202 * script/lua/lparser.h: Likewise.
18203 * script/lua/lstate.c: Likewise.
18204 * script/lua/lstate.h: Likewise.
18205 * script/lua/lstring.c: Likewise.
18206 * script/lua/lstring.h: Likewise.
18207 * script/lua/lstrlib.c: Likewise.
18208 * script/lua/ltable.c: Likewise.
18209 * script/lua/ltable.h: Likewise.
18210 * script/lua/ltablib.c: Likewise.
18211 * script/lua/ltm.c: Likewise.
18212 * script/lua/ltm.h: Likewise.
18213 * script/lua/lua.h: Likewise.
18214 * script/lua/luaconf.h: Likewise.
18215 * script/lua/lualib.h: Likewise.
18216 * script/lua/lundump.c: Likewise.
18217 * script/lua/lundump.h: Likewise.
18218 * script/lua/lvm.c: Likewise.
18219 * script/lua/lvm.h: Likewise.
18220 * script/lua/lzio.c: Likewise.
18221 * script/lua/lzio.h: Likewise.
18222
18223 2009-05-16 Bean <bean123ch@gmail.com>
18224
18225 * include/grub/kernel.h (grub_module_header_types): Add type
18226 OBJ_TYPE_CONFIG.
18227
18228 * kern/main.c (grub_load_config): New function.
18229 (grub_main): Call grub_load_config to read boot config.
18230
18231 * grub-mkimage (generate_image): New parameter config_path.
18232 (options): New option --config.
18233 (main): Parse --config option, and pass it to generate_image.
18234
18235 2009-05-14 Christian Franke <franke@computer.org>
18236
18237 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18238 This fixes build on Cygwin.
18239
18240 2009-05-14 Pavel Roskin <proski@gnu.org>
18241
18242 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18243 jump. This saves two bytes, so the typical case of 2 swapped
18244 drives would fit 32 bytes.
18245
18246 2009-05-13 Pavel Roskin <proski@gnu.org>
18247
18248 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18249 grub_uint32_t to avoid a warning.
18250
18251 * loader/i386/linux.c (allocate_pages): When assigning
18252 real_mode_mem, cast through grub_size_t to fix a warning. The
18253 code already makes sure that the value would fit a pointer.
18254 (grub_linux_setup_video): Cast render_target->data to
18255 grub_size_t to fix a warning.
18256
18257 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18258
18259 * commands/i386/pc/drivemap.c: New file - implement drivemap
18260 command.
18261 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18262 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18263
18264 2009-05-13 Pavel Roskin <proski@gnu.org>
18265
18266 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18267 embedding_area_exists.
18268
18269 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18270
18271 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18272 it easier to understand / work with.
18273 Improve warning messages for cases where there's no embedding area,
18274 or when it is too small (or core.img too large).
18275
18276 2009-05-13 Pavel Roskin <proski@gnu.org>
18277
18278 * loader/i386/pc/multiboot2.c: Add necessary includes for
18279 grub_multiboot2_real_boot().
18280
18281 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18282 PX record is always little-endian. We only need the lower 2
18283 bytes of the mode.
18284
18285 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18286 facilitate code reuse.
18287 (grub_cpio_mount): Use "struct head", not a char buffer. This
18288 fixes a warning reported by gcc 4.4.
18289
18290 * kernel/disk.c (grub_disk_read): Use void pointer for the
18291 buffer.
18292 (grub_disk_write): Use const void pointer for the buffer.
18293 Adjust all callers. Remove unnecessary casts.
18294
18295 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18296
18297 * util/i386/pc/grub-install.in: Update copyright year.
18298
18299 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 gptsync
18302
18303 * commands/gptsync.c: new file
18304 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18305 (gptsync_mod_SOURCES): new variable
18306 (gptsync_mod_CFLAGS): likewise
18307 (gptsync_mod_LDFLAGS): likewise
18308 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18309 new definition
18310 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18312 * conf/i386-ieee1275.rmk: likewise
18313 * conf/i386-pc.rmk: likewise
18314 * conf/powerpc-ieee1275.rmk: likewise
18315
18316 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 Fixed grub-emu
18319
18320 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18321 (grub_dl_ref): likewise
18322
18323 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18324
18325 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18326 split in two functions (one for msdos and one for gpt).
18327
18328 2009-05-08 Pavel Roskin <proski@gnu.org>
18329
18330 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18331 not modified.
18332
18333 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18334 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18335 Initialize them with -1. Add sanity check for bad1. Eliminate
18336 nerr variable.
18337
18338 2009-05-08 David S. Miller <davem@davemloft.net>
18339
18340 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18341
18342 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18343
18344 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18345 existence.
18346
18347 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18348
18349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18350 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18351
18352 2009-05-05 David S. Miller <davem@davemloft.net>
18353
18354 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18355
18356 2009-05-05 Pavel Roskin <proski@gnu.org>
18357
18358 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18359 of grub_dl_ref() and grub_dl_unref().
18360 * commands/parttool.c: Remove preprocessor conditionals around
18361 grub_dl_ref() and grub_dl_unref().
18362 * fs/affs.c: Likewise.
18363 * fs/afs.c: Likewise.
18364 * fs/cpio.c: Likewise.
18365 * fs/ext2.c: Likewise.
18366 * fs/fat.c: Likewise.
18367 * fs/hfs.c: Likewise.
18368 * fs/hfsplus.c: Likewise.
18369 * fs/iso9660.c: Likewise.
18370 * fs/jfs.c: Likewise.
18371 * fs/minix.c: Likewise.
18372 * fs/ntfs.c: Likewise.
18373 * fs/reiserfs.c: Likewise.
18374 * fs/sfs.c: Likewise.
18375 * fs/udf.c: Likewise.
18376 * fs/ufs.c: Likewise.
18377 * fs/xfs.c: Likewise.
18378 * include/grub/dl.h: Likewise.
18379 * loader/xnu.c: Likewise.
18380
18381 2009-05-04 Pavel Roskin <proski@gnu.org>
18382
18383 * commands/acpi.c: Remove unused variable my_mod.
18384 * partmap/amiga.c: Likewise.
18385 * partmap/apple.c: Likewise.
18386 * partmap/gpt.c: Likewise.
18387 * partmap/pc.c: Likewise.
18388 * partmap/sun.c: Likewise.
18389 * term/gfxterm.c: Likewise.
18390 * term/i386/pc/vesafb.c: Likewise.
18391 * term/i386/pc/vga.c: Likewise.
18392
18393 2009-05-04 David S. Miller <davem@davemloft.net>
18394
18395 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18396 pointer args to grub_ieee1275_get_property().
18397
18398 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18399
18400 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18401 devices, and do not traverse down under controller nodes.
18402
18403 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18404 (grub_ofdisk_open): Use it to un-escape "," characters.
18405 * kern/disk.c (find_part_sep): New.
18406 (grub_disk_open): Use it to find the first non-escaped ','
18407 character in the disk name.
18408 * util/ieee1275/devicemap.c (escape_of_path): New.
18409 (grub_util_emit_devicemap_entry): Use it.
18410 * util/sparc64/ieee1275/grub-install.in: Update script to
18411 strip partition specifiers properly by not triggering on
18412 '\' escaped ',' characters.
18413
18414 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18415
18416 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18417 to 0x300.
18418 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18419 resolutions.
18420 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18421 on documentation from Wikipedia).
18422
18423 2009-05-04 Pavel Roskin <proski@gnu.org>
18424
18425 * disk/ata.c: Spelling fixes.
18426 * disk/raid.c: Likewise.
18427 * disk/usbms.c: Likewise.
18428 * disk/dmraid_nvidia.c: Likewise.
18429 * kern/ieee1275/openfw.c: Likewise.
18430 * kern/ieee1275/init.c: Likewise.
18431 * kern/ieee1275/cmain.c: Likewise.
18432 * boot/i386/pc/cdboot.S: Likewise.
18433 * video/readers/png.c: Likewise.
18434 * video/i386/pc/vbe.c: Likewise.
18435 * fs/udf.c: Likewise.
18436 * fs/hfs.c: Likewise.
18437 * fs/reiserfs.c: Likewise.
18438 * efiemu/runtime/efiemu.c: Likewise.
18439 * efiemu/main.c: Likewise.
18440 * efiemu/mm.c: Likewise.
18441 * include/grub/elf.h: Likewise.
18442 * include/grub/xnu.h: Likewise.
18443 * include/grub/usbdesc.h: Likewise.
18444 * include/grub/usb.h: Likewise.
18445 * include/grub/script_sh.h: Likewise.
18446 * include/grub/lib/LzmaEnc.h: Likewise.
18447 * include/grub/efiemu/efiemu.h: Likewise.
18448 * include/grub/command.h: Likewise.
18449 * normal/menu.c: Likewise.
18450 * normal/main.c: Likewise.
18451 * normal/datetime.c: Likewise.
18452 * bus/usb/uhci.c: Likewise.
18453 * mmap/i386/uppermem.c: Likewise.
18454 * mmap/mmap.c: Likewise.
18455 * commands/acpi.c: Likewise.
18456 * commands/test.c: Likewise.
18457 * partmap/apple.c: Likewise.
18458 * font/font.c: Likewise.
18459 * loader/sparc64/ieee1275/linux.c: Likewise.
18460 * loader/macho.c: Likewise.
18461 * loader/i386/bsd_trampoline.S: Likewise.
18462 * loader/i386/bsd.c: Likewise.
18463 * loader/xnu.c: Likewise.
18464 * term/i386/pc/vesafb.c: Likewise.
18465 * term/usb_keyboard.c: Likewise.
18466 * util/resolve.c: Likewise.
18467 * util/getroot.c: Likewise.
18468
18469 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18470
18471 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18472
18473 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18474
18475 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18476 build error.
18477
18478 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18481 parameter only available on BIOS.
18482
18483 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 Removed wrong semicolon in declaration
18486
18487 * grub/misc.h (grub_dprintf): remove semicolon
18488
18489 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18490
18491 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18492 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18493 is done by grub_cmd_linux() now).
18494 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18495 restore video to text mode.
18496 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18497 indicates lack of "vga=" parameter. "vga=0" is mapped to
18498 `GRUB_LINUX_VID_MODE_NORMAL'.
18499
18500 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18501
18502 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18503 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18504 and `normal/script.c'. Add `kern/rescue_reader.c',
18505 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18506 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18507 `grub_script.tab.c'.
18508
18509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18510 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18514
18515 * Makefile.in: Remove duplicated 2008 in Copyright line.
18516
18517 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18518
18519 * util/misc.c (grub_util_warn): New function. Emits a warning
18520 unconditionally.
18521 * include/grub/util/misc.h (grub_util_warn): New declaration.
18522
18523 * util/i386/pc/grub-install.in: Understand --force and pass it down
18524 to grub-setup.
18525
18526 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18527 down to setup().
18528 (setup): Improve error messages and add warnings when requested to
18529 install in odd layouts. Refuse to install using blocklists unless
18530 --force was set.
18531
18532 2009-05-04 martin f. krafft <madduck@madduck.net>
18533
18534 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18535
18536 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 Updated copyright year
18539
18540 * fs/hfsplus.c: updated copyright year
18541
18542 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 HFS+ UUID
18545
18546 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18547 in the space previously used by unused3
18548 (grub_hfsplus_uuid): new function
18549 (grub_hfsplus_fs): added uuid field
18550
18551 2009-05-03 Pavel Roskin <proski@gnu.org>
18552
18553 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18554 suppress warnings. It's no longer needed.
18555 * disk/host.c: Likewise.
18556 * disk/ata_pthru.c: Likewise.
18557 * disk/loopback.c: Likewise.
18558 * hook/datehook.c: Likewise.
18559 * parttool/pcpart.c: Likewise.
18560 * fs/i386/pc/pxe.c: Likewise.
18561 * fs/ntfscomp.c: Likewise.
18562 * efiemu/main.c: Likewise.
18563 * mmap/mmap.c: Likewise.
18564 * commands/crc.c: Likewise.
18565 * commands/hexdump.c: Likewise.
18566 * commands/hdparm.c: Likewise.
18567 * commands/acpi.c: Likewise.
18568 * commands/echo.c: Likewise.
18569 * commands/minicmd.c: Likewise.
18570 * commands/blocklist.c: Likewise.
18571 * commands/memrw.c: Likewise.
18572 * commands/loadenv.c: Likewise.
18573 * commands/usbtest.c: Likewise.
18574 * commands/lsmmap.c: Likewise.
18575 * commands/boot.c: Likewise.
18576 * commands/parttool.c: Likewise.
18577 * commands/configfile.c: Likewise.
18578 * commands/search.c: Likewise.
18579 * commands/ieee1275/suspend.c: Likewise.
18580 * commands/cat.c: Likewise.
18581 * commands/i386/pc/pxecmd.c: Likewise.
18582 * commands/i386/pc/play.c: Likewise.
18583 * commands/i386/pc/halt.c: Likewise.
18584 * commands/i386/pc/vbeinfo.c: Likewise.
18585 * commands/i386/pc/vbetest.c: Likewise.
18586 * commands/lspci.c: Likewise.
18587 * commands/date.c: Likewise.
18588 * commands/handler.c: Likewise.
18589 * commands/ls.c: Likewise.
18590 * commands/test.c: Likewise.
18591 * commands/cmp.c: Likewise.
18592 * commands/efi/loadbios.c: Likewise.
18593 * commands/efi/fixvideo.c: Likewise.
18594 * commands/halt.c: Likewise.
18595 * commands/help.c: Likewise.
18596 * commands/reboot.c: Likewise.
18597 * hello/hello.c: Likewise.
18598 * script/sh/main.c: Likewise.
18599 * loader/xnu.c: Likewise.
18600 * term/terminfo.c: Likewise.
18601 * term/i386/pc/serial.c: Likewise.
18602 * term/usb_keyboard.c: Likewise.
18603
18604 2009-05-03 David S. Miller <davem@davemloft.net>
18605
18606 * normal/menu.c: Include grub/parser.h
18607
18608 2009-05-03 Pavel Roskin <proski@gnu.org>
18609
18610 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18611 not char*.
18612 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18613 Suggested by Javier Martín <lordhabbit@gmail.com>
18614
18615 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18616 efiemu??.o doesn't exist.
18617 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18618 copying.
18619
18620 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 FreeBSD 64-bit support
18623
18624 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18625 and loader/i386/bsd_trampoline.S
18626 (bsd_mod_ASFLAGS): new variable
18627 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18628 (FREEBSD_MODTYPE_KERNEL64): likewise
18629 (grub_bsd64_trampoline_start): likewise
18630 (grub_bsd64_trampoline_end): likewise
18631 (grub_bsd64_trampoline_selfjump): likewise
18632 (grub_bsd64_trampoline_gdt): likewise
18633 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18634 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18635 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18636 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18637 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18638 of "attrib" member
18639 * loader/i386/bsd_pagetable.c: new file
18640 * loader/i386/bsd_trampoline.S: likewise
18641 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18642 (ALIGN_VAR): likewise
18643 (entry_hi): new variable
18644 (kern_end_mdofs): likewise
18645 (is_64bit): likewise
18646 (grub_freebsd_add_meta): use ALIGN_VAR
18647 (grub_e820_mmap): new declaration
18648 (grub_freebsd_add_mmap): new function
18649 (grub_freebsd_add_meta_module): support 64 bit kernels
18650 (grub_freebsd_list_modules): use ALIGN_VAR
18651 (gdt_descriptor): new declaration
18652 (grub_freebsd_boot): support 64 bit kernels
18653 (grub_bsd_elf64_hook): new function
18654 (grub_bsd_load_elf): support elf64
18655
18656 2009-05-03 Bean <bean123ch@gmail.com>
18657
18658 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18659 after we get the result of if statement.
18660
18661 2009-05-03 Bean <bean123ch@gmail.com>
18662
18663 * Makefile.in (enable_efiemu): New variable.
18664
18665 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18666 set.
18667 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18668 path.
18669 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18670 path, add -mno-red-zone option.
18671 (efiemu64_s.o): Likewise.
18672 (efiemu64.o): Use macro $^ for source file.
18673
18674 * configure.ac (--enable-efiemu): New option.
18675
18676 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 xnu support
18679
18680 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18681 (pkglib_MODULES): add xnu.mod
18682 (xnu_mod_SOURCES): new variable
18683 (xnu_mod_CFLAGS): likewise
18684 (xnu_mod_LDFLAGS): likewise
18685 (xnu_mod_ASFLAGS): likewise
18686 * conf/i386-pc.rmk: likewise
18687 * conf/x86_64-efi.rmk: likewise
18688 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18689 new declaration
18690 * include/grub/i386/macho.h: new file
18691 * include/grub/i386/xnu.h: likewise
18692 * include/grub/macho.h: likewise
18693 * include/grub/machoload.h: likewise
18694 * include/grub/x86_64/macho.h: likewise
18695 * include/grub/x86_64/xnu.h: likewise
18696 * include/grub/xnu.h: likewise
18697 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18698 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18699 * loader/i386/efi/xnu.c: new file
18700 * loader/i386/pc/xnu.c: likewise
18701 * loader/i386/xnu.c: likewise
18702 * loader/i386/xnu_helper.S: likewise
18703 * loader/macho.c: likewise
18704 * loader/xnu.c: likewise
18705 * loader/xnu_resume.c: likewise
18706 * util/grub-dumpdevtree: likewise
18707 * include/grub/i386/pit.h: include grub/err.h
18708 (grub_pit_wait): export
18709 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18710
18711 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 Efiemu
18714
18715 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18716 _linux_efi, linux_efi.
18717 new files in grub-emu
18718 new targets efiemu32.o and efiemu64.o
18719 * loader/linux_normal_efiemu.c: likewise
18720 * loader/i386/efi/linux.c: added preliminary efiemu support
18721 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18722 files to copy
18723 * include/grub/autoefi.h: new file
18724 * include/grub/i386/efiemu.h: likewise
18725 * include/grub/i386/pc/efiemu.h: likewise
18726 * include/grub/efi/api.h: add LL suffix when necessary
18727 new definitions relating to tables
18728 * include/grub/efiemu/efiemu.h: new file
18729 * include/grub/efiemu/runtime.h: likewise
18730 * efiemu/prepare.c: likewise
18731 * efiemu/loadcore_common.c: likewise
18732 * efiemu/loadcore64.c: likewise
18733 * efiemu/runtime/efiemu.sh: likewise
18734 * efiemu/runtime/efiemu.S: likewise
18735 * efiemu/runtime/efiemu.c: likewise
18736 * efiemu/runtime/config.h: likewise
18737 * efiemu/prepare32.c: likewise
18738 * efiemu/main.c: likewise
18739 * efiemu/modules/pnvram.c: likewise
18740 * efiemu/modules/i386: likewise
18741 * efiemu/modules/i386/pc: likewise
18742 * efiemu/modules/acpi.c: likewise
18743 * efiemu/i386/pc/cfgtables.c: likewise
18744 * efiemu/i386/loadcore64.c: likewise
18745 * efiemu/i386/loadcore32.c: likewise
18746 * efiemu/prepare64.c: likewise
18747 * efiemu/loadcore.c: likewise
18748 * efiemu/symbols.c: likewise
18749 * efiemu/mm.c: likewise
18750 * efiemu/loadcore32.c: likewise
18751
18752 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 ACPI spoofing
18755
18756 * commands/acpi.c: new file
18757 * commands/i386/pc/acpi.c: likewise
18758 * commands/efi/acpi.c: likewise
18759 * include/grub/acpi.h: likewise
18760 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18761 (acpi_mod_SOURCES): new variable
18762 (acpi_mod_CFLAGS): likewise
18763 (acpi_mod_LDFLAGS): likewise
18764 * conf/i386-efi.rmk: likewise
18765 * conf/x86_64-efi.rmk: likewise
18766
18767 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 Missing part from mmap patch
18770
18771 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18772 (grub_mmap_unregister)
18773 (grub_mmap_free_and_unregister): use grub_mmap_register
18774
18775 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 Mmap services
18778
18779 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18780 * loader/i386/linux.c (find_mmap_size): likewise
18781 (allocate_pages): likewise
18782 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18783 (grub_fill_multiboot_mmap): likewise
18784 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18785 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18786 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18787 (OPENBSD_MMAP_RESERVED): likewise
18788 * include/grub/i386/pc/memory.h: include grub/memory.h
18789 (grub_lower_mem): removed
18790 (grub_upper_mem): likewise
18791 (GRUB_MACHINE_MEMORY_ACPI): new definition
18792 (GRUB_MACHINE_MEMORY_NVS): likewise
18793 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18794 (GRUB_MACHINE_MEMORY_HOLE): likewise
18795 (grub_machine_mmap_register): likewise
18796 (grub_machine_mmap_unregister): likewise
18797 (grub_machine_get_upper): likewise
18798 (grub_machine_get_lower): likewise
18799 (grub_machine_get_post64): likewise
18800 * include/grub/i386/efi/memory.h: new file
18801 * include/grub/x86_64/efi/memory.h: likewise
18802 * include/grub/efi/memory.h: likewise
18803 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18804 (mmap_mod_SOURCES): new variable
18805 (mmap_mod_LDFLAGS): likewise
18806 (mmap_mod_ASFLAGS): likewise
18807 * conf/i386-coreboot.rmk: likewise
18808 * conf/i386-ieee1275.rmk: likewise
18809 * conf/i386-efi.rmk: likewise
18810 * conf/x86_64-efi.rmk: likewise
18811 * include/grub/types.h (UINT_TO_PTR): new macro
18812 (PTR_TO_UINT32): likewise
18813 (PTR_TO_UINT64): likewise
18814 * include/grub/memory.h: new file
18815 * mmap/i386/pc/mmap.c: likewise
18816 * mmap/i386/pc/mmap_helper.S: likewise
18817 * mmap/i386/uppermem.c: likewise
18818 * mmap/mmap.c: likewise
18819 * mmap/efi/mmap.c: likewise
18820 * kern/i386/coreboot/init.c (grub_machine_init): don't use
18821 grub_upper_mem
18822 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18823 (grub_upper_mem): likewise
18824 (grub_machine_init): don't use grub_upper_mem,
18825 make grub_lower_mem local
18826 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18827 grub_mmap_iterate and grub_mmap_get_upper
18828 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18829
18830 2009-05-02 Bean <bean123ch@gmail.com>
18831
18832 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18833 script/sh/parser.y.
18834 (pkglib_MODULES): Add normal.mod and sh.mod.
18835 (normal_SOURCES): New variable.
18836 (normal_mod_CFLAGS): Likewise.
18837 (normal_mod_LDFLAGS): Likewise.
18838 (sh_mod_SOURCES): Likewise.
18839 (sh_mod_CFLAGS): Likewise.
18840 (sh_mod_LDFLAGS): Likewise.
18841
18842 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18843 script/sh/lexer.c_DEPENDENCIES.
18844 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18845 kern/rescue_reader.c and kern/rescue_parser.c.
18846 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18847 (grub_emu_SOURCES): Change source files.
18848 (pkglib_MODULES): Remove normal.mod.
18849 (normal_SOURCES): Removed.
18850 (normal_mod_CFLAGS): Likewise.
18851 (normal_mod_LDFLAGS): Likewise.
18852 * conf/i386-coreboot.rmk: Likewise.
18853 * conf/i386-efi.rmk: Likewise.
18854 * conf/i386-ieee1276.rmk: Likewise.
18855 * conf/powerpc-ieee1275.rmk: Likewise.
18856 * conf/sparc64-ieee1275.rmk: Likewise.
18857 * conf/x86_64-efi.rmk: Likewise.
18858
18859 * include/grub/command.h (grub_command_execute): New inline function.
18860
18861 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18862
18863 * include/grub/normal.h: Remove <grub/setjmp.h>.
18864 (grub_fs_module_list): Moved to normal/autofs.c.
18865 (grub_exit_env): Removed.
18866 (grub_command_execute): Likewise.
18867 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18868 parameter script.
18869 (read_command_list): New function declaration.
18870 (read_fs_list): Likewise.
18871
18872 * include/parser.h: Include <grub/reader.h>.
18873 (grub_parser_split_cmdline): Change type of getline parameter.
18874 (grub_parser): New structure.
18875 (grub_parser_class): New variable.
18876 (grub_parser_execute): New function declaration.
18877 (grub_register_rescue_parser): Likewise.
18878 (grub_parser_register): New inline function.
18879 (grub_parser_unregister): Likewise.
18880 (grub_parser_get_current): Likewise.
18881 (grub_parser_set_current): Likewise.
18882
18883 * include/grub/reader.h: New file.
18884 * kern/reader.c: Likewise.
18885 * kern/rescue_parser.c: Likewise.
18886 * kern/rescue_reader.c: Likewise.
18887 * normal/autofs.c: Likewise.
18888 * normal/dyncmd.c: Likewise.
18889
18890 * include/grub/rescue.h: Removed.
18891 * normal/command.h: Likewise.
18892
18893 * include/grub/script.h: Moved to ...
18894 * include/grub/script_sh.h: ... Moved here.
18895 * normal/execute.c: Moved to ...
18896 * script/sh/execute.c: ... Moved here.
18897 * normal/function.c: Moved to ...
18898 * script/sh/function.c: ... Moved here.
18899 * normal/lexer.c: Moved to ...
18900 * script/sh/lexer.c: ... Moved here.
18901 * normal/parser.y: Moved to ...
18902 * script/sh/parser.y: ... Moved here.
18903 * normal/script.c: Moved to ...
18904 * script/sh/script.c: ... Moved here.
18905
18906 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18907 <grub/reader.h>.
18908 (grub_exit_env): Removed.
18909 (fs_module_list): Moved to normal/autofs.c.
18910 (grub_file_getline): Don't handle comment here.
18911 (free_menu): Skip removed field entry->commands.
18912 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18913 script parameter.
18914 (read_config_file): Removed nested parameter, change getline function.
18915 (grub_enter_normal_mode): Removed.
18916 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18917 (read_command_list): Likewise.
18918 (autoload_fs_module): Moved to normal/autofs.c.
18919 (read_fs_list): Likewise.
18920 (reader_nested): New variable.
18921 (grub_normal_execute): Run parser.sh to switch to sh parser.
18922 (grub_cmd_rescue): Removed.
18923 (cmd_normal): Removed.
18924 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18925 rescue command.
18926 (grub_cmdline_run): New function.
18927 (grub_normal_reader_init): Likewise.
18928 (grub_normal_read_line): Likewise.
18929 (grub_env_write_pager): Likewise.
18930 (cmdline): New variable.
18931 (grub_normal_reader): Likewise.
18932 (GRUB_MOD_INIT): Register normal reader and set as current, register
18933 pager hook, register normal command with grub_register_command_prio,
18934 so that it won't show up in command.lst.
18935 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18936 grub_fs_autoload_hook.
18937
18938 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18939 (grub_menu_execute_entry): Replace grub_script_execute with
18940 grub_parser_execute, change parameter to grub_command_execute.
18941
18942 * normal/menu_text.c: Remove <grub/script.h>.
18943
18944 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18945 and <grub/parser.h>.
18946 (run): Change editor_getline to use new parser interface. Change
18947 parameter to grub_command_execute.
18948
18949 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18950 <grub/reader.h> and <grub/parser.h>.
18951 (grub_load_normal_mode): Execute normal command.
18952 (grub_main): Call grub_register_core_commands,
18953 grub_register_rescue_parser and grub_register_rescue_reader, use
18954 grub_reader_loop to enter input loop.
18955
18956 * kern/parser.c (grub_parser_split_cmdline): Change type of
18957 getline parameter.
18958 (grub_parser_class): New variable.
18959 (grub_parser_execute): New function.
18960
18961 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18962 * loader/multiboot2.c: Likewise.
18963 * loader/sparc64/ieee1275/linux.c: Likewise.
18964
18965 * util/grub-emu.c (read_command_list): New dummy function.
18966
18967 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18968
18969 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18970 count to 16 for CCISS and IDA.
18971
18972 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18973
18974 * normal/menu_text.c (grub_wait_after_message): Print a newline
18975 after waiting for user input.
18976
18977 * loader/i386/linux.c: Include `<grub/normal.h>'.
18978 (grub_cmd_linux): Improve the error message about `ask' mode, by
18979 waiting for user input so it's not missed (we can do this, since
18980 user requested interaction).
18981
18982 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 Added missing lst to grub-mkrescue
18985
18986 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18987 and ${input_dir}/parttool.lst
18988
18989 2009-04-30 David S. Miller <davem@davemloft.net>
18990
18991 * util/hostdisk.c (device_is_wholedisk): New function.
18992 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18993 zero only if device_is_wholedisk() returns true.
18994
18995 * util/hostdisk.c (convert_system_partition_to_system_disk):
18996 Handle virtual disk devices named /dev/vdiskX as found on sparc
18997 and powerpc.
18998
18999 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19000 lettered partition specifier is found, convert to numbered.
19001
19002 2009-04-29 David S. Miller <davem@davemloft.net>
19003
19004 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19005 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19006
19007 * normal/command.c: Add missing newline at end of file.
19008
19009 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19010 warnings.
19011 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19012 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19013 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19014 ihandles have a 32-bit type but need to be stored in a "void *".
19015
19016 2009-04-28 Pavel Roskin <proski@gnu.org>
19017
19018 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19019 not disk. Adjust all dependencies.
19020 (grub_fs_uuid_close): Use grub_device_close(), not
19021 grub_disk_close().
19022
19023 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19024 parent's partition, don't copy it by reference, as it gets freed
19025 on close.
19026
19027 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 Preboot hooks support
19030
19031 * commands/boot.c (struct grub_preboot_t): new declaration
19032 (preboots_head): new variable
19033 (preboots_tail): likewise
19034 (grub_loader_register_preboot_hook): new function
19035 (grub_loader_unregister_preboot_hook): likewise
19036 (grub_loader_set): launch preboot hooks
19037 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19038 (grub_loader_register_preboot_hook): new declaration
19039 (grub_loader_unregister_preboot_hook): likewise
19040
19041 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 Warning fix
19044
19045 * disk/scsi.c (grub_scsi_open): added missing cast when
19046 calling grub_dprintf
19047
19048 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 Bug and warning fixes
19051
19052 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19053 declaration
19054 * commands/test.c (test_parse): fixed bug with file tests and corrected
19055 declaration of find_file
19056
19057 2009-04-26 Pavel Roskin <proski@gnu.org>
19058
19059 * Makefile.in: Don't install empty manual pages if help2man is
19060 missing. Use help2man option for output, not shell redirection.
19061
19062 2009-04-26 David S. Miller <davem@davemloft.net>
19063
19064 * util/grub-mkdevicemap.c (make_device_map): Add missing
19065 NESTED_FUNC_ATTR to process_device().
19066
19067 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 Test command
19070
19071 * commands/test.c: rewritten to use bash-like test
19072
19073 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 Parttool autoloading and improvements
19076
19077 * Makefile.in (pkglib_DATA): add parttool.lst
19078 (parttool.lst): new target
19079 * genmk.rb: generate parttool-*
19080 (CLEANFILES): add #{parttool}
19081 (PARTTOOLFILES): new variable
19082 * genparttoollist.sh: new file
19083 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19084 (grub_pcpart_type): likewise
19085 * commands/parttool.c (helpmsg): new variable
19086 (grub_cmd_parttool): output help if not enough arguments are supplied
19087 autoload modules
19088 (GRUB_MOD_INIT(parttool)): use helpmsg
19089
19090 2009-04-24 David S. Miller <davem@davemloft.net>
19091
19092 Avoiding opening same device multiple times in device iterator.
19093
19094 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19095 and use it to build a list of partitions in iterate_disk() and
19096 iterate_partition().
19097
19098 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19099 on disk->data.
19100
19101 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19102 grub_devalias_iterate() result instead of unconditional 0.
19103 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19104 Also, capture hook return value, either directly or via
19105 grub_children_iterate(), and propagate to caller.
19106 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19107 grub_children_iterate): Return value is now 'int' instead of
19108 'grub_err_t'.
19109 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19110 like a proper iterator, stopping when hooks return non-zero.
19111 (grub_devalias_iterate): Likewise.
19112
19113 2009-04-23 David S. Miller <davem@davemloft.net>
19114
19115 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19116
19117 2009-04-22 David S. Miller <davem@davemloft.net>
19118
19119 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19120 is larger than address_cells, use that value for address_cells too.
19121
19122 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19123 IEEE1275_MAX_PATH_LEN): Define.
19124 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19125 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19126 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19127 'devtype'. Explicitly NULL terminate devalias expansion.
19128
19129 * util/sparc64/ieee1275/misc.c: New file.
19130 * util/sparc64/ieee1275/grub-setup.c: New file.
19131 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19132 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19133 * util/sparc64/ieee1275/grub-install.in: New file.
19134 * util/ieee1275/ofpath.c: New file.
19135 * util/ieee1275/devicemap.c: New file.
19136 * util/devicemap.c: New file.
19137 * util/deviceiter.c: New file.
19138 * kern/sparc64/ieee1275/init.c: New file.
19139 * include/grub/util/ofpath.h: New file.
19140 * include/grub/util/deviceiter.h: New file.
19141 * util/grub-mkdevicemap.c: Include deviceiter.h.
19142 Implement using grub_util_emit_devicemap_entry and
19143 grub_util_iterate_devices.
19144 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19145 util/devicemap.c into grub-mkdevicemap
19146 * conf/i386-efi.rmk: Likewise.
19147 * conf/i386-ieee1275.rmk: Likewise.
19148 * conf/i386-pc.rmk: Likewise.
19149 * conf/powerpc-ieee1275.rmk: Likewise.
19150 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19151 images and installation utilities. Build kernel as image
19152 instead of as elf binary. Use common rules as much as possible.
19153
19154 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 Correct GPT definition
19157
19158 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19159 of "attrib" member
19160
19161 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19162
19163 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19164
19165 2009-04-19 David S. Miller <davem@davemloft.net>
19166
19167 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19168 (grub_rescue_cmd_linux): Rename to...
19169 (grub_cmd_linux): and fix prototype.
19170 (grub_rescue_cmd_initrd): Rename to...
19171 (grub_cmd_initrd): and fix prototype.
19172 (cmd_linux, cmd_initrd): New.
19173 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19174 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19175
19176 2009-04-17 Pavel Roskin <proski@gnu.org>
19177
19178 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19179 format.
19180 (grub_ohci_transfer): Likewise.
19181
19182 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19183
19184 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19185 return without a value. Fix inconsistent indentation.
19186
19187 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19188 match struct grub_fs.
19189
19190 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19191 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19192 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19193 * commands/lspci.c (grub_lspci_iter): Likewise.
19194
19195 2009-04-16 Bean <bean123ch@gmail.com>
19196
19197 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19198 value.
19199
19200 2009-04-15 Pavel Roskin <proski@gnu.org>
19201
19202 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19203 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19204 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19205 definitions.
19206
19207 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19208
19209 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19210 that no multiple data or metadata areas are supported and `Unknown
19211 metadata header'.
19212
19213 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 Move loader out of the kernel
19216
19217 * kern/loader.c: moved to ...
19218 * commands/boot.c: ... moved here
19219 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19220 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19221 * include/grub/kernel.h (grub_machine_fini): export
19222 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19223 (grub_loader_set): likewise
19224 (grub_loader_unset): likewise
19225 (grub_loader_boot): likewise
19226 * conf/common.rmk: new module boot.mod
19227 (pkglib_MODULES): add boot.mod
19228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19229 (grub_emu_SOURCES): likewise
19230 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19231 (grub_emu_SOURCES): likewise
19232 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19233 (grub_emu_SOURCES): likewise
19234 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19235 (grub_emu_SOURCES): likewise
19236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19237 (grub_emu_SOURCES): likewise
19238 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19239 (grub_emu_SOURCES): likewise
19240 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19241 (grub_emu_SOURCES): likewise
19242
19243 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19246
19247 * kern/misc.c (grub_itoa): Removed function
19248 (grub_ltoa): likewise
19249 (grub_vsprintf): use grub_lltoa
19250
19251 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 Restore grub-emu
19254
19255 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19256 * conf/i386-coreboot.rmk: likewise
19257 * conf/i386-ieee1275.rmk: likewise
19258 * conf/powerpc-ieee1275.rmk: likewise
19259
19260 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19261
19262 * INSTALL: Add that `./autogen.sh' needs to be run before
19263 `./configure.'.
19264
19265 2009-04-14 Bean <bean123ch@gmail.com>
19266
19267 * Makefile.in (pkglib_DATA): Add handler.lst.
19268 (handler.lst): New rule.
19269
19270 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19271 * conf/i386-coreboot.rmk: Likewise.
19272 * conf/i386-ieee1275.rmk: Likewise.
19273 * conf/i386-efi.rmk: Likewise.
19274 * conf/x86_64-efi.rmk: Likewise.
19275 * conf/powerpc-ieee1275.rmk: Likewise.
19276 * conf/sparc64-ieee1275.rmk: Likewise.
19277
19278 * genhandlerlist.sh: New file.
19279
19280 * genmk.rb: Add rules to generate handler.lst.
19281
19282 * include/grub/normal.h (grub_file_getline): New function definition.
19283 (read_handler_list): Likewise.
19284 (free_handler_list): Likewise.
19285
19286 * include/grub/term.h (grub_term_register_input): Add name parameter
19287 for auto generation of handler.lst.
19288 (grub_term_register_output): Likewise.
19289
19290 * normal/handler.c: New file.
19291
19292 * normal/main.c (get_line): Renamed to grub_file_getline.
19293 (read_config_file): Use the newly renamed grub_file_getline.
19294 (read_command_list): Likewise.
19295 (read_fs_list): Likewise.
19296 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19297 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19298
19299 * term/efi/console.c (grub_console_init): Add name parameter for auto
19300 generation of handler.lst.
19301 * term/gfxterm.c: Likewise.
19302 * term/i386/pc/at_keyboard.c: Likewise.
19303 * term/i386/pc/console.c: Likewise.
19304 * term/i386/pc/serial.c: Likewise.
19305 * term/i386/pc/vesafb.c: Likewise.
19306 * term/i386/pc/vga.c: Likewise.
19307 * term/i386/pc/vga_text.c: Likewise.
19308 * term/ieee1275/ofconsole.c: Likewise.
19309 * term/usb_keyboard.c: Likewise.
19310
19311 2009-04-14 Bean <bean123ch@gmail.com>
19312
19313 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19314 properly with null character.
19315
19316 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19317
19318 * configure: Remove.
19319 * config.h.in: Likewise.
19320 * stamp-h.in: Likewise.
19321 * DISTLIST: Likewise.
19322 * conf/common.mk: Likewise.
19323 * conf/i386-coreboot.mk: Likewise.
19324 * conf/i386-efi.mk: Likewise.
19325 * conf/i386-ieee1275.mk: Likewise.
19326 * conf/i386.mk: Likewise.
19327 * conf/i386-pc.mk: Likewise.
19328 * conf/powerpc-ieee1275.mk: Likewise.
19329 * conf/sparc64-ieee1275.mk: Likewise.
19330 * conf/x86_64-efi.mk: Likewise.
19331
19332 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19333 develop on GRUB.
19334
19335 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19336 David S. Miller <davem@davemloft.net>
19337
19338 * util/hostdisk.c (make_device_name): Fix buffer length
19339 calculations.
19340
19341 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19342
19343 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19344 <sys/param.h> and <sys/sysctl.h>.
19345 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19346 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19347 opening the device and reset them afterwards.
19348
19349 2009-04-13 Pavel Roskin <proski@gnu.org>
19350
19351 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19352 Reported by John Stanley <jpsinthemix@verizon.net>
19353
19354 2009-04-13 Robert Millan <rmh@aybabtu.com>
19355
19356 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19357 that name for menuentries when appropriate.
19358
19359 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19360
19361 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19362
19363 2009-04-13 Robert Millan <rmh@aybabtu.com>
19364
19365 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19366 to Linux, simply abort telling the user it's no longer supported.
19367
19368 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19369
19370 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19371 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19372 `freebsd_loadenv' only when devices.hints exist.
19373
19374 2009-04-13 Pavel Roskin <proski@gnu.org>
19375
19376 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19377
19378 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19379
19380 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19381 partition number.
19382 (grub_drive): Likewise.
19383
19384 2009-04-13 David S. Miller <davem@davemloft.net>
19385
19386 * kern/sparc64/ieee1275/ieee1275.c: New file.
19387 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19388 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19389 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19390 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19391 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19392 grub_ieee1275_alloc_physmem): Declare new exported functions.
19393
19394 * include/grub/sparc64/ieee1275/loader.h: New file.
19395 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19396 * include/grub/sparc64/kernel.h: Likewise.
19397 * loader/sparc64/ieee1275/linux.c: Likewise.
19398
19399 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19400 (grub_fstest_SOURCES): Likewise.
19401
19402 * util/hostdisk.c (make_device_name): Do not make any assumptions
19403 about the length of drive names.
19404
19405 * kern/dl.c (grub_dl_load_file): Close file immediately when
19406 we are done using it.
19407
19408 2009-04-12 David S. Miller <davem@davemloft.net>
19409
19410 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19411 values. Noticed by Pavel Roskin.
19412
19413 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19414 target compiler.
19415
19416 * genmk.rb: Add more flexible image type specification, also
19417 pass --strip-unneeded to objcopy.
19418 * conf/i386-pc.rmk: Use *_FORMAT.
19419 * conf/i386-pc.mk: Rebuilt.
19420
19421 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19422 (OFDISK_HASH_SZ): Define.
19423 (ofdisk_hash): New hash table.
19424 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19425 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19426 instead of device phandle which is not unique.
19427
19428 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19429 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19430 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19431 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19432 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19433 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19434 GRUB_KERNEL_MACHINE_DATA_END): Define.
19435 (grub_kernel_image_size, grub_total_module_size): Declare.
19436
19437 2009-04-12 Pavel Roskin <proski@gnu.org>
19438
19439 * configure.ac: Change the logic when we check for target tools.
19440 Do it when the target is specified and it's different from the
19441 specified value of the host.
19442
19443 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19444
19445 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19446 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19447 GNU/kFreeBSD. Check if a device is a character device. Use
19448 DIOCGMEDIASIZE to get the size.
19449 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19450 support for GNU/kFreeBSD.
19451 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19452 is a character device instead of a block device. Add support for
19453 FreeBSD device names.
19454
19455 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19456 is a character device instead of a block device.
19457
19458 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19459 is a character device instead of a block device.
19460
19461 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19462
19463 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19464 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19465 FreeBSD. Check if a device is a character device. Use
19466 DIOCGMEDIASIZE to get the size.
19467 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19468 support for FreeBSD.
19469 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19470 is a character device instead of a block device. Add support for
19471 FreeBSD device names.
19472
19473 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19474 a character device instead of a block device.
19475 (grub_util_check_char_device): New function.
19476
19477 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19478 a character device instead of a block device.
19479
19480 * include/grub/util/getroot.h (grub_util_check_char_device): New
19481 prototype.
19482
19483 2009-04-11 David S. Miller <davem@davemloft.net>
19484
19485 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19486 static libgcc.
19487 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19488 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19489 function, if present.
19490 (__bswapdi2): Likewise.
19491
19492 * include/grub/sparc64/ieee1275/boot.h: New file.
19493 * boot/sparc64/ieee1275/boot.S: Likewise.
19494 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19495
19496 * kern/misc.c (grub_ltoa): New function.
19497 (grub_vsprintf): Use it to format 'long' integers.
19498
19499 2009-04-10 David S. Miller <davem@davemloft.net>
19500
19501 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19502 slots are of type grub_ieee1275_cell_t.
19503 (grub_nand_read): Likewise.
19504 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19505 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19506 macros are used to compare values in arg/ret block of the call.
19507 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19508 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19509 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19510 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19511 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19512 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19513 grub_ieee1275_close, grub_ieee1275_set_property,
19514 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19515 grub_ieee1275_cell_t.
19516 * kern/ieee1275/openfw.c (grub_map): Likewise.
19517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19518 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19519
19520 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19521 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19522 (grub_devalias_iterate): Likewise.
19523
19524 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 UFS improvements
19527
19528 * fs/ufs.c (INODE_NBLOCKS): new definition
19529 (struct grub_ufs_dirent): added fields for non-BSD dirents
19530 (grub_ufs_get_file_block): fixed double indirect handling
19531 (grub_ufs_lookup_symlink): use more robust way to determine whether
19532 symlink is inline
19533 (grub_ufs_find_file): support for non-BSD dirents
19534 (grub_ufs_dir): support for non-BSD dirents
19535
19536 2009-04-10 Bean <bean123ch@gnail.com>
19537
19538 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19539 attribute, otherwise the size would be wrong for i386 platform.
19540
19541 * include/grub/pci.h (grub_pci_read_word): New inline function.
19542 (grub_pci_read_byte): Likewise.
19543 (grub_pci_write): Likewise.
19544 (grub_pci_write_word): Likewise.
19545 (grub_pci_write_byte): Likewise.
19546
19547 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19548
19549 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19550 (find_framebuf): Scan pci to locate the frame buffer address.
19551
19552 * commands/efi/fixvideo.c: New file.
19553
19554 * commands/efi/loadbios.c: Likewise.
19555
19556 * commands/memrw.c: Likewise.
19557
19558 * util/grub-dumpbios.in: Likewise.
19559
19560 * conf/common.rmk (grub-dumpbios): New utility.
19561 (pkglib_MODULES): New module memrw.mod.
19562 (memrw_mod_SOURCE): New macro.
19563 (memrw_mod_CFLAGS): Likewise.
19564 (memrw_mod_LDFLAGS): Likewise.
19565
19566 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19567 fixvideo.mod.
19568 (loadbios_mod_SOURCE): New macro.
19569 (loadbios_mod_CFLAGS): Likewise.
19570 (loadbios_mod_LDFLAGS): Likewise.
19571 (fixvideo_mod_SOURCE): Likewise.
19572 (fixvideo_mod_CFLAGS): Likewise.
19573 (fixvideo_mod_LDFLAGS): Likewise.
19574
19575 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19576 fixvideo.mod.
19577 (loadbios_mod_SOURCE): New macro.
19578 (loadbios_mod_CFLAGS): Likewise.
19579 (loadbios_mod_LDFLAGS): Likewise.
19580 (fixvideo_mod_SOURCE): Likewise.
19581 (fixvideo_mod_CFLAGS): Likewise.
19582 (fixvideo_mod_LDFLAGS): Likewise.
19583
19584 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19585
19586 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19587
19588 2009-04-07 David S. Miller <davem@davemloft.net>
19589
19590 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19591 support for R_SPARC_OLO10 relocations. Fix compile warning for
19592 R_SPARC_WDISP30 case.
19593 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19594
19595 2009-04-06 Pavel Roskin <proski@gnu.org>
19596
19597 * include/grub/misc.h (ARRAY_SIZE): New macro.
19598 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19599 New macro.
19600 * loader/i386/linux.c (allocate_pages): Use free_pages().
19601 (grub_linux_unload): Don't use free_pages().
19602 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19603 wrong index. Treat all other modes as text modes.
19604 (grub_cmd_linux): Initialize vid_mode unconditionally to
19605 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19606
19607 * commands/help.c (print_command_help): Use cmd->prio, not
19608 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19609
19610 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 Parttool
19613
19614 * parttool/pcpart.c: new file
19615 * commands/parttool.c: likewise
19616 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19617 (parttool_mod_SOURCES): new variable
19618 (parttool_mod_CFLAGS): likewise
19619 (parttool_mod_LDFLAGS): likewise
19620 (pcpart_mod_SOURCES): likewise
19621 (pcpart_mod_CFLAGS): likewise
19622 (pcpart_mod_LDFLAGS): likewise
19623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19624 and parttool/pcpart.c
19625 * conf/i386-efi.rmk: likewise
19626 * conf/i386-ieee1275.rmk: likewise
19627 * conf/i386-pc.rmk: likewise
19628 * conf/powerpc-ieee1275.rmk: likewise
19629 * conf/sparc64-ieee1275.rmk: likewise
19630 * conf/x86_64-ieee1275.rmk: likewise
19631
19632 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 Support for mtime and further expandability of dir command
19635
19636 * include/grub/lib/datetime.h: moved to ...
19637 * include/grub/datetime.h: ... moved here and added
19638 declaration of grub_unixtime2datetime. All users updated
19639 * include/grub/fs.h: new syntax for dir and mtime functions in
19640 struct grub_fs
19641 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19642 and GRUB_FSHELP_FLAGS_MASK
19643 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19644 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19645 (grub_ext2_mtime): new function
19646 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19647 (grub_hfsplus_mtime): new function
19648 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19649 (GRUB_UFS_ATTR_FILE): likewise
19650 (GRUB_UFS_ATTR_LNK): likewise
19651 (struct grub_ufs_sblock): new fields mtime
19652 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19653 all users updated
19654 (grub_ufs_dir): mtime support
19655 (grub_ufs_mtime): new function
19656 * fs/affs.c (grub_affs_dir): use new dir syntax
19657 * fs/afs.c (grub_afs_dir): likewise
19658 * fs/cpio.c (grub_cpio_dir): likewise
19659 * fs/fat.c (grub_fat_find_dir): likewise
19660 * fs/hfs.c (grub_hfs_dir): likewise
19661 * fs/iso9660.c (grub_iso9660_dir): likewise
19662 * fs/jfs.c (grub_jfs_dir): likewise
19663 * fs/minix.c (grub_minix_dir): likewise
19664 * fs/ntfs.c (grub_ntfs_dir): likewise
19665 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19666 * fs/sfs.c (grub_sfs_dir): likewise
19667 * fs/xfs.c (grub_xfs_dir): likewise
19668 * util/hostfs.c (grub_hostfs_dir): likewise
19669 * lib/datetime.c: moved to ...
19670 * normal/datetime.c: ... moved here
19671 (grub_unixtime2datetime): new function
19672 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19673 * normal/completion.c (iterate_dir): use new dir syntax
19674 * normal/misc.c (grub_normal_print_device_info): tell the
19675 last modification time of a volume
19676 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19677 * conf/common.rmk: added lib/datetime.c to ls.mod
19678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19679 (normal_mod_SOURCES): likewise
19680 (datetime_mod_SOURCES): Removed lib/datetime.c
19681 * conf/i386-efi.rmk: likewise
19682 * conf/i386-ieee1275.rmk: likewise
19683 * conf/i386-pc.rmk: likewise
19684 * conf/powerpc-ieee1275.rmk: likewise
19685 * conf/sparc64-ieee1275.rmk: likewise
19686 * conf/x86_64-efi.rmk: likewise
19687
19688 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Trim trailing spaces in FAT label and support mtools-like labels
19691
19692 * fs/fat.c (grub_fat_iterate_dir): New function based
19693 on grub_fat_find_dir
19694 (grub_fat_find_dir): use grub_fat_iterate_dir
19695 (grub_fat_label): likewise
19696
19697 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19700 and command.h
19701 remove extraneous kernel_elf_HEADERS
19702
19703 2009-04-04 Bean <bean123ch@gnail.com>
19704
19705 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19706
19707 * util/misc.c: Likewise.
19708
19709 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19710
19711 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19712 instead of grub_printf.
19713
19714 2009-04-03 Robert Millan <rmh@aybabtu.com>
19715
19716 * loader/i386/linux.c (grub_linux_setup_video): Fill
19717 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19718 values from `mode info' structure instead of hardcoded
19719 values.
19720
19721 2009-04-01 Pavel Roskin <proski@gnu.org>
19722
19723 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19724 unused now.
19725 * genmk.rb: Likewise.
19726 * configure.ac: Likewise.
19727
19728 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19729
19730 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19731 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19732
19733 2009-04-01 David S. Miller <davem@davemloft.net>
19734
19735 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19736 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19737 (grub_setjmp): Mark with 'returns_twice' attribute.
19738 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19739 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19740 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19741
19742 2009-04-01 Robert Millan <rmh@aybabtu.com>
19743
19744 Reapply fix from 2008-07-28 which was accidentally reverted; also
19745 perform the same fix to a similar check in same function.
19746
19747 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19748 with the same number are found, just use issue a warning with
19749 grub_dprintf(), as this error has been reported to be non-fatal.
19750
19751 2009-03-31 Pavel Roskin <proski@gnu.org>
19752
19753 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19754 for cross-compilation.
19755
19756 2009-03-30 Robert Millan <rmh@aybabtu.com>
19757
19758 Fix i386-ieee1275 build.
19759
19760 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19761 Remove declaration.
19762
19763 2009-03-30 Pavel Roskin <proski@gnu.org>
19764
19765 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19766 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19767 zero-terminated, rely only on the strlen value. Fix comparison
19768 of strings differing in length.
19769
19770 2009-03-30 Robert Millan <rmh@aybabtu.com>
19771
19772 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19773 checking for abi version. Improve error messages on BIOS to notify
19774 user about `linux16' command.
19775
19776 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 Leak fixes
19779
19780 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19781 in case of collision
19782 * disk/scsi.c (grub_scsi_open): free scsi in case of error
19783
19784 2009-03-29 Robert Millan <rmh@aybabtu.com>
19785
19786 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19787 set `vid_mode' accordingly.
19788 (grub_linux_boot): Process `vid_mode' and set video mode.
19789
19790 2009-03-29 Robert Millan <rmh@aybabtu.com>
19791
19792 * util/grub.d/10_linux.in (linux_entry): New function.
19793 Factorize generation of Linux boot entries.
19794
19795 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19796
19797 Make the format of Environment Block plain text. The boot loader
19798 part is not tested well yet.
19799
19800 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19801 (buffer): Removed.
19802 (envblk): Likewise.
19803 (usage): Remove "info" and "clear". Add "unset". Update the
19804 description of "set", as this does not delete variables any
19805 longer.
19806 (create_envblk_file): Complete rewrite.
19807 (open_envblk_file): Likewise.
19808 (cmd_info): Removed.
19809 (cmd_list): Likewise.
19810 (cmd_set): Likewise.
19811 (cmd_clear): Likewise.
19812 (list_variables): New function.
19813 (write_envblk): Likewise.
19814 (set_variables): Likewise.
19815 (unset_variables): Likewise.
19816 (main): Complete rewrite.
19817
19818 * commands/loadenv.c (buffer): Removed.
19819 (envblk): Likewise.
19820 (open_envblk_file): New function.
19821 (read_envblk_file): Complete rewrite.
19822 (grub_cmd_load_env): Likewise.
19823 (grub_cmd_list_env): Likewise.
19824 (struct blocklist): New struct.
19825 (free_blocklists): New function.
19826 (check_blocklists): Likewise.
19827 (write_blocklists): Likewise.
19828 (grub_cmd_save_env): Complete rewrite.
19829
19830 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19831 a plain text signature.
19832 (GRUB_ENVBLK_MAXLEN): Removed.
19833 (struct grub_envblk): Complete rewrite.
19834 (grub_envblk_find): Removed.
19835 (grub_envblk_insert): Likewise.
19836 (grub_envblk_open): New prototype.
19837 (grub_envblk_set): Likewise.
19838 (grub_envblk_delete): Put const to VALUE.
19839 (grub_envblk_iterate): Put const to NAME and VALUE.
19840 (grub_envblk_close): New prototype.
19841 (grub_envblk_buffer): New inline function.
19842 (grub_envblk_size): Likewise.
19843
19844 * lib/envblk.c: Include grub/mm.h.
19845 (grub_env_find): Removed.
19846 (grub_envblk_open): New function.
19847 (grub_envblk_close): Likewise.
19848 (escaped_value_len): Likewise.
19849 (find_next_line): Likewise.
19850 (grub_envblk_insert): Removed.
19851 (grub_envblk_set): New function.
19852 (grub_envblk_delete): Complete rewrite.
19853 (grub_envblk_iterate): Likewise.
19854
19855 2009-03-28 Robert Millan <rmh@aybabtu.com>
19856
19857 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19858 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19859 variables. Use 16-bit loader.
19860 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19861 loader.
19862 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19863 (grub_linux16_boot): ... this. Update all users.
19864 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19865 (grub_linux_boot): ... this. Update all users.
19866
19867 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19868 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19869 commands to `linux16' and `initrd16'.
19870 (GRUB_MOD_FINI(linux)): Rename to ...
19871 (GRUB_MOD_FINI(linux16)): ... this.
19872
19873 2009-03-24 Pavel Roskin <proski@gnu.org>
19874
19875 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19876 not just for compilation.
19877
19878 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 Move multiboot helper out of kernel
19881
19882 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19883 `loader/i386/multiboot_helper.S'.
19884 * conf/i386-coreboot.rmk: Likewise
19885 * conf/i386-ieee1275.rmk: Likewise
19886
19887 * kern/i386/loader.S: Move multiboot helpers from here...
19888 * loader/i386/multiboot_helper.S: ...moved here
19889 * include/grub/i386/loader.h: Move declarations of multiboot
19890 helpers from here...
19891 * include/grub/i386/multiboot.h: ...moved here
19892 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19893
19894 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19895
19896 * kern/env.c (grub_env_context_open): Added an argument to specify
19897 whether a new context inherits exported variables from current
19898 one. This is useful when making a sandbox to interpret a config
19899 file.
19900 All callers updated.
19901
19902 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19903
19904 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19905
19906 * kern/env.c (grub_env_context_close): Fix memory leaks.
19907
19908 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19909
19910 * normal/main.c (grub_normal_execute): Added an argument
19911 BATCH to specify if an interactive interface should be provided
19912 after reading a config file.
19913 All callers updated.
19914 (read_command_list): Prevent being executed twice.
19915 (read_fs_list): Likewise.
19916
19917 * include/grub/normal.h (grub_normal_execute): Updated the
19918 prototype.
19919
19920 2009-03-22 Pavel Roskin <proski@gno.org>
19921
19922 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19923 _start.
19924 * kern/i386/pc/startup.S: Likewise.
19925 * kern/i386/efi/startup.S: Likewise.
19926 * kern/i386/ieee1275/startup.S: Likewise.
19927 * kern/i386/coreboot/startup.S: Likewise.
19928 * kern/x86_64/efi/startup.S: Likewise.
19929
19930 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19931 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19932 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19933
19934 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19935
19936 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19937
19938 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19939 limit detection.
19940 Use vaddr of correct segment for entry_point.
19941
19942 2009-03-21 Bean <bean123ch@gmail.com>
19943
19944 * commands/blocklist.c: Add include file <grub/command.h>, remove
19945 <grub/normal.h> and <grub/arg.h>.
19946 (grub_cmd_blocklist): Use the new command interface.
19947 (GRUB_MOD_INIT): Likewise.
19948 (GRUB_MOD_FINI): Likewise.
19949 * commands/boot.c: Likewise.
19950 * commands/cat.c: Likewise.
19951 * commands/cmp.c: Likewise.
19952 * commands/configfile.c: Likewise.
19953 * commands/crc.c: Likewise.
19954 * commands/echo.c: Likewise.
19955 * commands/halt.c: Likewise.
19956 * commands/handler.c: Likewise.
19957 * commands/hdparm.c: Likewise.
19958 * commands/help.c: Likewise.
19959 * commands/hexdump.c: Likewise.
19960 * commands/loadenv.c: Likewise.
19961 * commands/ls.c: Likewise.
19962 * commands/lsmmap.c: Likewise.
19963 * commands/lspci.c: Likewise.
19964 * commands/loadenv.c: Likewise.
19965 * commands/read.c: Likewise.
19966 * commands/reboot.c: Likewise.
19967 * commands/search.c: Likewise.
19968 * commands/sleep.c: Likewise.
19969 * commands/test.c: Likewise.
19970 * commands/usbtest.c: Likewise.
19971 * commands/videotest.c: Likewise.
19972 * commands/i386/cpuid.c: Likewise.
19973 * commands/i386/pc/halt.c: Likewise.
19974 * commands/i386/pc/play.c: Likewise.
19975 * commands/i386/pc/pxecmd.c: Likewise.
19976 * commands/i386/pc/vbeinfo.c: Likewise.
19977 * commands/i386/pc/vbetest.c: Likewise.
19978 * commands/ieee1275/suspend.c: Likewise.
19979 * disk/loopback.c: Likewise.
19980 * font/font_cmd.c: Likewise.
19981 * hello/hello.c: Likewise.
19982 * loader/efi/appleloader.c: Likewise.
19983 * loader/efi/chainloader.c: Likewise.
19984 * loader/i386/bsd.c: Likewise.
19985 * loader/i386/efi/linux.c: Likewise.
19986 * loader/i386/ieee1275/linux.c: Likewise.
19987 * loader/i386/linux.c: Likewise.
19988 * loader/i386/pc/chainloader.c: Likewise.
19989 * loader/i386/pc/linux.c: Likewise.
19990 * loader/powerpc/ieee1275/linux.c: Likewise.
19991 * loader/multiboot_loader.c: Likewise.
19992 * term/gfxterm.c: Likewise.
19993 * term/i386/pc/serial.c: Likewise.
19994 * term/terminfo.c: Likewise.
19995
19996 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19997 * term/i386/pc/vga.c: Likewise.
19998 * video/readers/jpeg.c: Likewise.
19999 * video/readers/png.c: Likewise.
20000 * video/readers/tga.c: Likewise.
20001
20002 * util/grub-fstest (cmd_loopback): Removed.
20003 (cmd_blocklist): Likewise.
20004 (cmd_ls): Likewise.
20005 (grub_register_command): Likewise.
20006 (grub_unregister_command): Likewise.
20007 (execute_command): Use grub_command_find to locate command and execute
20008 it.
20009
20010 * include/grub/efi/chainloader.h: Removed.
20011 * loader/efi/chainloader_normal.c: Likewise.
20012 * loader/i386/bsd_normal.c: Likewise.
20013 * loader/i386/pc/chainloader_normal.c: Likewise.
20014 * loader/i386/pc/multiboot_normal.c: Likewise.
20015 * loader/linux_normal.c: Likewise.
20016 * loader/multiboot_loader_normal.c: Likewise.
20017 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20018
20019 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20020 and grub_register_command_p1.
20021
20022 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20023 kern/command.c, lib/arg.c and commands/extcmd.c.
20024 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20025 (minicmd_mod_SOURCES): New variable.
20026 (minicmd_mod_CFLAGS): Likewise.
20027 (minicmd_mod_LDFLAGS): Likewise.
20028 (extcmd_mod_SOURCES): Likewise.
20029 (extcmd_mod_CFLAGS): Likewise.
20030 (extcmd_mod_LDFLAGS): Likewise.
20031 (boot_mod_SOURCES): Removed.
20032 (boot_mod_CFLAGS): Likewise.
20033 (boot_mod_LDFLAGS): Likewise.
20034
20035 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20036 kern/corecmd.c.
20037 (kernel_img_HEADERS): Add command.h.
20038 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20039 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20040 and lib/arg.c.
20041 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20042 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20043 remove the corresponding normal mode command.
20044 (normal_mod_SOURCES): Remove normal/arg.c.
20045 * conf/i386-coreboot.rmk: Likewise.
20046 * conf/i386-efi.rmk: Likewise.
20047 * conf/i386-ieee1275.rmk: Likewise.
20048 * conf/powerpc-ieee1275.rmk: Likewise.
20049 * conf/x86_64-efi.rmk: Likewise.
20050
20051 * include/grub/arg.h: Move from here ...
20052 * include/grub/lib/arg.h: ... to here.
20053
20054 * normal/arg.c: Move from here ...
20055 * lib/arg.c: ... to here.
20056
20057 * commands/extcmd.c: New file.
20058 * commands/minicmd.c: Likewise.
20059 * include/grub/command.h: Likewise.
20060 * include/grub/extcmd.h: Likewise.
20061 * kern/command.c: Likewise.
20062 * kern/corecmd.c: Likewise.
20063
20064 * kern/list.c (grub_list_iterate): Return int instead of void.
20065 (grub_list_insert): New function.
20066 (grub_prio_list_insert): Likewise.
20067
20068 * kern/rescue.c (grub_rescue_command): Removed.
20069 (grub_rescue_command_list): Likewise.
20070 (grub_rescue_register_command): Likewise.
20071 (grub_rescue_unregister_command): Likewise.
20072 (grub_rescue_cmd_boot): Move to minicmd.c
20073 (grub_rescue_cmd_help): Likewise.
20074 (grub_rescue_cmd_info): Likewise.
20075 (grub_rescue_cmd_boot): Likewise.
20076 (grub_rescue_cmd_testload): Likewise.
20077 (grub_rescue_cmd_dump): Likewise.
20078 (grub_rescue_cmd_rmmod): Likewise.
20079 (grub_rescue_cmd_lsmod): Likewise.
20080 (grub_rescue_cmd_exit): Likewise.
20081 (grub_rescue_print_devices): Moved to corecmd.c.
20082 (grub_rescue_print_files): Likewise.
20083 (grub_rescue_cmd_ls): Likewise.
20084 (grub_rescue_cmd_insmod): Likewise.
20085 (grub_rescue_cmd_set): Likewise.
20086 (grub_rescue_cmd_unset): Likewise.
20087 (attempt_normal_mode): Use grub_command_find to get normal module.
20088 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20089 commands, remove grub_rescue_register_command calls.
20090
20091 * normal/command.c (grub_register_command): Removed.
20092 (grub_unregister_command): Likewise.
20093 (grub_command_find): Likewise.
20094 (grub_iterate_commands): Likewise.
20095 (rescue_command): Likewise.
20096 (export_command): Moved to corecmd.c.
20097 (set_command): Removed.
20098 (unset_command): Likewise.
20099 (insmod_command): Likewise.
20100 (rmmod_command): Likewise.
20101 (lsmod_command): Likewise.
20102 (grub_command_init): Likewise.
20103
20104 * normal/completion.c (iterate_command): Use cmd->prio to check for
20105 active command.
20106 (complete_arguments): Use grub_extcmd_t structure to find options.
20107 (grub_normal_do_completion): Change function grub_iterate_commands to
20108 grub_command_iterate.
20109
20110 * normal/execute.c (grub_script_execute_cmd): No need to parse
20111 argument here.
20112
20113 * normal/main.c (grub_dyncmd_dispatcher): New function.
20114 (read_command_list): Register unload commands as dyncmd.
20115 (grub_cmd_normal): Use new command interface, register rescue,
20116 unregister normal at entry, register normal, unregister rescue at exit.
20117
20118 * include/grub/list.h (grub_list_test_t): New type.
20119 (grub_list_iterate): Return int instead of void.
20120 (grub_list_insert): New function.
20121 (GRUB_AS_NAMED_LIST_P): New macro.
20122 (GRUB_AS_PRIO_LIST): Likewise.
20123 (GRUB_AS_PRIO_LIST_P): Likewise.
20124 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20125 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20126 (grub_prio_list): New structure.
20127 (grub_prio_list_insert): New function.
20128 (grub_prio_list_remove): New inline function.
20129
20130 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20131 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20132 (GRUB_COMMAND_FLAG_MENU): Likewise.
20133 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20134 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20135 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20136 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20137 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20138 (grub_command): Likewise.
20139 (grub_register_command): Likewise.
20140 (grub_command_find): Likewise.
20141 (grub_iterate_commands): Likewise.
20142 (grub_command_init): Likewise.
20143 (grub_arg_parse): Likewise.
20144 (grub_arg_show_help): Likewise.
20145
20146 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20147 (grub_rescue_unregister_command): Likewise.
20148
20149 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20150 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20151 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20152
20153 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20154 grub_rescue_cmd_initrd.
20155 * include/grub/i386/loader.h: Likewise.
20156 * include/grub/x86_64/loader.h: Likewise.
20157
20158 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20159
20160 2009-03-21 Bean <bean123ch@gmail.com>
20161
20162 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20163 instead of stat in mingw environment.
20164
20165 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20166
20167 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20168
20169 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20170 AC_CONFIG_LINKS.
20171
20172 2009-03-21 Bean <bean123ch@gmail.com>
20173
20174 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20175 out of range error.
20176
20177 2009-03-18 Michel Dänzer <michel@daenzer.net>
20178
20179 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20180 checking inode flags for EXT4_EXTENTS_FLAG.
20181
20182 2009-03-18 Robert Millan <rmh@aybabtu.com>
20183
20184 * loader/i386/linux.c: Include `<grub/video.h>' and
20185 `<grub/i386/pc/vbe.h>'..
20186 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20187 (grub_linux32_boot): Attempt to configure video settings with
20188 grub_linux_setup_video().
20189 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20190 to avoid grub_console_fini() which would step out of graphical mode
20191 unconditionally.
20192
20193 2009-03-14 Robert Millan <rmh@aybabtu.com>
20194
20195 Fix build on powerpc.
20196 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20197
20198 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20201 background image command.
20202
20203 2009-03-12 Colin D Bennett <colin@gibibit.com>
20204
20205 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20206 (grub_gfxterm_putchar): Extract pairs of identical calls to
20207 draw_cursor out of conditional blocks.
20208
20209 2009-03-11 Pavel Roskin <proski@gnu.org>
20210
20211 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20212 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20213
20214 2009-03-11 Robert Millan <rmh@aybabtu.com>
20215
20216 * loader/i386/multiboot_elfxx.c
20217 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20218
20219 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20220
20221 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20222 `kern/handler.c'.
20223
20224 2009-03-11 Robert Millan <rmh@aybabtu.com>
20225
20226 * loader/i386/multiboot.c (code_size): New variable.
20227 (grub_multiboot): Define offsets by adding to `code_size' rather
20228 than subtracting from `grub_multiboot_payload_size'. Provide
20229 4-byte alignment to MBI and others by increasing
20230 `boot_loader_name_length' appropriately.
20231
20232 * loader/i386/multiboot_elfxx.c
20233 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20234
20235 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20236
20237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20238 `fs/ext2.c'.
20239
20240 2009-03-08 Robert Millan <rmh@aybabtu.com>
20241
20242 Make loader/i386/linux.c usable on i386-pc again.
20243
20244 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20245 memory to heap.
20246 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20247 `#error' stanza.
20248
20249 2009-03-07 Bean <bean123ch@gmail.com>
20250
20251 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20252 allocation.
20253
20254 2009-03-06 Robert Millan <rmh@aybabtu.com>
20255
20256 Fix display issue on terminals with screen size other than 80x25
20257 (e.g. gfxterm with resolution higher than 640x480).
20258
20259 * normal/main.c (grub_normal_init_page): Display title text in a
20260 position relative to the center of the terminal instead of relying
20261 on a hardcoded offset.
20262
20263 2009-03-04 Robert Millan <rmh@aybabtu.com>
20264
20265 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20266 installed.
20267
20268 * Makefile.in (host_kernel): New variable.
20269 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20270 scripts instead of just the windows one.
20271 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20272
20273 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20274
20275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20276 `kern/handler.c'.
20277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20278 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20283
20284 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20285
20286 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20287 or if there's no space for the disk label and print the partition number on a
20288 invalid magic.
20289
20290 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20291
20292 * util/misc.c: Include <time.h>.
20293 (grub_millisleep): New function.
20294
20295 2009-03-04 Bean <bean123ch@gmail.com>
20296
20297 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20298 another option -mno-red-zone.
20299
20300 * commands/handler.c: Change module description.
20301
20302 * kern/handler.c: Add missing space at the end of description line.
20303
20304 * kern/list.c: Likewise.
20305
20306 2009-03-03 Robert Millan <rmh@aybabtu.com>
20307
20308 Move more components to the relocation area, and fix mbi pointer
20309 handling to use the destination rather than the origin (thanks to
20310 Vladimir Serbinenko for spotting).
20311
20312 * loader/i386/multiboot.c (mbi_dest): New variable.
20313 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20314 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20315 relocation area.
20316
20317 2009-03-01 Bean <bean123ch@gmail.com>
20318
20319 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20320 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20321 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20322 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20323
20324 * loader/i386/efi/linux.c (acpi_guid): New variable.
20325 (acpi_guid): Likewise.
20326 (EBDA_SEG_ADDR): New constant.
20327 (LOW_MEM_ADDR): Likewise.
20328 (FAKE_EBDA_SEG): Likewise.
20329 (fake_bios_data): New function.
20330 (grub_linux_boot): Call fake_bios_data.
20331
20332 2009-03-01 Bean <bean123ch@gmail.com>
20333
20334 * commands/terminal.c: Removed.
20335
20336 * commands/handler.c: New file.
20337
20338 * include/grub/list.h: Likewise.
20339
20340 * include/grub/handler.h: Likewise.
20341
20342 * kern/list.c: Likewise.
20343
20344 * kern/handler.c: Likewise.
20345
20346 * kern/term.h: Include header file <grub/handler.h>.
20347 (grub_term_input): Move next field to the beginning.
20348 (grub_term_output): Likewise.
20349 (grub_term_input_class): New variable.
20350 (grub_term_output_class): Likewise.
20351 (grub_term_register_input): Changed to inline function.
20352 (grub_term_register_output): Likewise.
20353 (grub_term_unregister_input): Likewise.
20354 (grub_term_unregister_output): Likewise.
20355 (grub_term_set_current_input): Likewise.
20356 (grub_term_set_current_output): Likewise.
20357 (grub_term_get_current_input): Likewise.
20358 (grub_term_get_current_output): Likewise.
20359 (grub_term_iterate_input): Removed.
20360 (grub_term_iterate_output): Likewise.
20361
20362 * kern/term.c (grub_term_list_input): Removed.
20363 (grub_term_list_output): Likewise.
20364 (grub_term_input_class): New variable.
20365 (grub_term_output_class): Likewise.
20366 (grub_cur_term_input): Change variable as macro.
20367 (grub_cur_term_output): Likewise.
20368 (grub_term_register_input): Removed.
20369 (grub_term_register_output): Likewise.
20370 (grub_term_unregister_input): Likewise.
20371 (grub_term_unregister_output): Likewise.
20372 (grub_term_set_current_input): Likewise.
20373 (grub_term_set_current_output): Likewise.
20374 (grub_term_iterate_input): Likewise.
20375 (grub_term_iterate_output): Likewise.
20376 (grub_term_get_current_input): Likewise.
20377 (grub_term_get_current_output): Likewise.
20378
20379 * util/grub-editenv.c: Include header file <grub/handler.h>.
20380 (grub_term_get_current_input): Removed.
20381 (grub_term_get_current_output): Likewise.
20382 (grub_term_input_class): New variable.
20383 (grub_term_output_class): Likewise.
20384
20385 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20386 (grub_term_get_current_output): Likewise.
20387 (grub_term_input_class): New variable.
20388 (grub_term_output_class): Likewise.
20389
20390 * util/grub-probe.c (grub_term_get_current_input): Removed.
20391 (grub_term_get_current_output): Likewise.
20392 (grub_term_input_class): New variable.
20393 (grub_term_output_class): Likewise.
20394
20395 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20396 (grub_term_get_current_output): Likewise.
20397 (grub_term_input_class): New variable.
20398 (grub_term_output_class): Likewise.
20399
20400 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20401 (terminal_mod_SOURCES): Likewise.
20402 (terminal_mod_CFLAGS): Likewise.
20403 (terminal_mod_LDFLAGS): Likewise.
20404
20405 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20406 handler.c.
20407 (kernel_img_SOURCES): Add list.c and handler.c.
20408 (kernel_img_HEADERS): Add list.h and handler.h.
20409
20410 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20411 handler.c.
20412 (kernel_mod_SOURCES): Add list.c and handler.c.
20413 (kernel_mod_HEADERS): Add list.h and handler.h.
20414
20415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20416 handler.c.
20417 (kernel_elf_SOURCES): Add list.c and handler.c.
20418 (kernel_elf_HEADERS): Add list.h and handler.h.
20419
20420 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20421 handler.c.
20422 (kernel_elf_SOURCES): Add list.c and handler.c.
20423 (kernel_elf_HEADERS): Add list.h and handler.h.
20424
20425 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20426 handler.c.
20427 (kernel_mod_SOURCES): Add list.c and handler.c.
20428 (kernel_mod_HEADERS): Add list.h and handler.h.
20429
20430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20431 handler.c.
20432 (kernel_elf_SOURCES): Add list.c and handler.c.
20433 (kernel_elf_HEADERS): Add list.h and handler.h.
20434
20435 2009-02-27 Robert Millan <rmh@aybabtu.com>
20436
20437 Factorize elf32 / elf64 code in Multiboot loader. This will
20438 prevent it from getting out of sync again.
20439
20440 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20441 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20442 grub_multiboot_load_elf64): Move from here ...
20443 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20444 grub_multiboot_load_elf): ... to here (new file).
20445
20446 2009-02-27 Robert Millan <rmh@aybabtu.com>
20447
20448 * util/grub.d/10_linux.in: Rename "single-user mode" to
20449 "recovery mode".
20450
20451 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 Don't leak in SCSI code.
20454 * disk/scsi.c (grub_scsi_close): free `scsi'.
20455
20456 2009-02-27 Robert Millan <rmh@aybabtu.com>
20457
20458 * loader/i386/pc/multiboot.c: Move from here ...
20459 * loader/i386/multiboot.c: ... to here. Update all users.
20460
20461 2009-02-27 Robert Millan <rmh@aybabtu.com>
20462
20463 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20464 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20465
20466 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20467
20468 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20469 b-tree.
20470
20471 2009-02-27 Robert Millan <rmh@aybabtu.com>
20472
20473 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20474 `0x' qualifier as 0 when base is specified as parameter).
20475
20476 2009-02-24 Bean <bean123ch@gmail.com>
20477
20478 * configure.ac: Check for -mcmodel=large in x86_64 target.
20479
20480 * include/grub/efi/api.h (efi_call_10): New macro.
20481 (efi_wrap_10): New function.
20482
20483 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20484 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20485 (GRUB_PE32_REL_BASED_LOW): Likewise.
20486 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20487 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20488 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20489 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20490 (GRUB_PE32_REL_BASED_REL): Likewise.
20491 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20492 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20493 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20494
20495 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20496 issue.
20497
20498 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20499 (efi_wrap_10): New function.
20500
20501 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20502
20503 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20504 MB/MBP model (NV chipset).
20505 (devdata_devs): Add devpath_5 to the list.
20506
20507 * load/i386/efi/linux.c (video_base): Remove variable.
20508 (RGB_MASK): New macro.
20509 (RGB_MAGIC): Likewise.
20510 (LINE_MIN): Likewise.
20511 (LINE_MAX): Likewise.
20512 (FBTEST_STEP): Likewise.
20513 (FBTEST_COUNT): Likewise.
20514 (fb_list): New variable.
20515 (grub_find_video_card): Remove function.
20516 (find_framebuf): New function.
20517 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20518 line length.
20519
20520 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20521 problem for x86_64.
20522
20523 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20524
20525 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20526
20527 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20528 coding tool name.
20529
20530 2009-02-22 Robert Millan <rmh@aybabtu.com>
20531
20532 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20533 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20534 in our relocation, instead of using it directly from heap. Also
20535 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20536
20537 2009-02-21 Robert Millan <rmh@aybabtu.com>
20538
20539 Implement USB keyboard support (based on patch by Marco Gerards)
20540
20541 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20542 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20543 (usb_keyboard_mod_LDFLAGS): New variables.
20544
20545 * term/usb_keyboard.c: New file.
20546
20547 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 Corrected wrong declaration
20550
20551 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20552
20553 2009-02-14 Christian Franke <franke@computer.org>
20554
20555 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20556 (grub_lspci_iter): Print class code and programming interface byte.
20557
20558 2009-02-14 Christian Franke <franke@computer.org>
20559
20560 * gendistlist.sh: Ignore `.svn' directories.
20561
20562 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20563
20564 * fs/fat.c: Add 2009 to Copyright line.
20565
20566 2009-02-14 Christian Franke <franke@computer.org>
20567
20568 * commands/hdparm.c: New file. Provides `hdparm' command
20569 which sends ATA commands via grub_disk_ata_pass_through ().
20570
20571 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20572
20573 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20574 and <grub/cpu/io.h> to include/grub/ata.h.
20575 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20576 (GRUB_CDROM_SECTOR_SIZE): Remove.
20577 (GRUB_ATA_*): Move to include/grub/ata.h.
20578 (GRUB_ATAPI_*): Likewise.
20579 (enum grub_ata_commands): Likewise.
20580 (enum grub_ata_timeout_milliseconds): Likewise.
20581 (struct grub_ata_device): Likewise.
20582 (grub_ata_regset): Likewise.
20583 (grub_ata_regget): Likewise.
20584 (grub_ata_regset2): Likewise.
20585 (grub_ata_regget2): Likewise.
20586 (grub_ata_check_ready): Likewise.
20587 (grub_ata_wait_not_busy): Remove static, exported in
20588 include/grub/ata.h.
20589 (grub_ata_wait_drq): Likewise.
20590 (grub_ata_pio_read): Likewise.
20591
20592 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20593 function for hdparm.mod.
20594
20595 * include/grub/ata.h: New file, contains declarations from
20596 disk/ata.c.
20597 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20598
20599 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20600 (grub_disk_ata_pass_through): New exported variable.
20601
20602 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20603
20604 2009-02-13 Colin D Bennett <colin@gibibit.com>
20605
20606 Support multiple fallback entries, and provide an API to support
20607 executing default+fallback menu entries. Renamed the `terminal' menu
20608 viewer to `text'.
20609
20610 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20611 variable declaration.
20612 (grub_menu_execute_callback): New structure declaration.
20613 (grub_menu_execute_callback_t): New typedef.
20614 (grub_menu_execute_with_fallback): New function declaration.
20615 (grub_menu_get_entry): Likewise.
20616 (grub_menu_get_timeout): Likewise.
20617 (grub_menu_set_timeout): Likewise.
20618
20619 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20620
20621 * normal/menu.c (grub_wait_after_message): Moved to
20622 `normal/menu_text.c'.
20623 (draw_border): Likewise.
20624 (print_message): Likewise.
20625 (print_entry): Likewise.
20626 (print_entries): Likewise.
20627 (grub_menu_init_page): Likewise.
20628 (get_entry_number): Likewise.
20629 (print_timeout): Likewise.
20630 (run_menu): Likewise.
20631 (grub_menu_execute_entry): Likewise.
20632 (show_text_menu): Likewise.
20633 (get_and_remove_first_entry_number): New function.
20634 (grub_menu_execute_with_fallback): Likewise.
20635 (get_entry): Renamed to ...
20636 (grub_menu_get_entry): .. this and made it global.
20637 (get_timeout): Renamed to ...
20638 (grub_menu_get_timeout): ... this and made it global.
20639 (set_timeout): Renamed to ...
20640 (grub_menu_set_timeout): ... this and made it global.
20641 (grub_normal_terminal_menu_viewer): Renamed to ...
20642 (grub_normal_text_menu_viewer): ... this.
20643
20644 * normal/menu_text.c: New file. Extracted text-menu-specific code
20645 from normal/menu.c.
20646
20647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20648 (normal_mod_SOURCES): Likewise.
20649
20650 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20651 (normal_mod_SOURCES): Likewise.
20652
20653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20654 (normal_mod_SOURCES): Likewise.
20655
20656 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20657 (normal_mod_SOURCES): Likewise.
20658
20659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20660 (normal_mod_SOURCES): Likewise.
20661
20662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20663 (normal_mod_SOURCES): Likewise.
20664
20665 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20666 (normal_mod_SOURCES): Likewise.
20667
20668 2009-02-11 Robert Millan <rmh@aybabtu.com>
20669
20670 * util/grub.d/00_header.in: Update old reference to `font' command.
20671
20672 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20673
20674 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20675
20676 Based on patch from Javier Martín.
20677
20678 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20679
20680 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20681 to avoid false positives with FAT.
20682 (grub_fstest_SOURCES): Likewise.
20683 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20684 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20689
20690 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20691
20692 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20693 bpb.version_specific.fat12_or_fat16.fstype and
20694 bpb.version_specific.fat32.fstype.
20695
20696 2009-02-08 Robert Millan <rmh@aybabtu.com>
20697
20698 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20699
20700 2009-02-08 Robert Millan <rmh@aybabtu.com>
20701
20702 * Makefile.in (host_os, host_cpu): New variables.
20703 (target_os): Remove. Update all users.
20704
20705 2009-02-08 Marco Gerards <marco@gnu.org>
20706
20707 * Makefile.in (enable_grub_emu_usb): New variable.
20708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20709 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20710 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20711 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20712 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20713 `usbtest.mod' and `usbms.mod'.
20714 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20715 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20716 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20717 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20718 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20719 variables.
20720
20721 * disk/usbms.c: New file.
20722
20723 * include/grub/usb.h: Likewise.
20724
20725 * include/grub/usbtrans.h: Likewise.
20726
20727 * include/grub/usbdesc.h: Likewise.
20728
20729 * bus/usb/usbtrans.c: Likewise.
20730
20731 * bus/usb/ohci.c: Likewise.
20732
20733 * bus/usb/uhci.c: Likewise.
20734
20735 * bus/usb/usbhub.c: Likewise.
20736
20737 * bus/usb/usb.c: Likewise.
20738
20739 * commands/usbtest.c: Likewise.
20740
20741 * util/usb.c: Likewise.
20742
20743 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20744
20745 * configure.ac: Test for libusb presence.
20746
20747 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20748
20749 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20750
20751 * kern/mm.c: Add more comments.
20752
20753 2009-02-08 Robert Millan <rmh@aybabtu.com>
20754
20755 Patch from Javier Martín.
20756 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20757 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20758
20759 2009-02-08 Robert Millan <rmh@aybabtu.com>
20760
20761 * fs/cpio.c: Split tar functionality to ...
20762 * fs/tar.c: ... here (new file). Update all users.
20763
20764 2009-02-07 Robert Millan <rmh@aybabtu.com>
20765
20766 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20767 backward-incompatible features.
20768
20769 Based on patch from Javier Martín, with some adjustments.
20770
20771 2009-02-07 Michael Scherer <misc@mandriva.org>
20772
20773 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20774
20775 2009-02-07 Robert Millan <rmh@aybabtu.com>
20776
20777 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20778 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20779 after the RAID stuff.
20780
20781 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20782
20783 Fixes problem when running vbetest command as reported by
20784 Vladimir Serbinenko <phcoder@gmail.com>.
20785
20786 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20787
20788 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
20789
20790 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20791 /dev/md/NpN style mdraid devices.
20792
20793 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20794
20795 * util/unifont2pff.rb: Remove.
20796
20797 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20798
20799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20800 `#'.
20801
20802 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20803
20804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20805 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20806 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20811
20812 2009-02-02 Christian Franke <franke@computer.org>
20813
20814 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20815
20816 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
20817
20818 * INSTALL: Note that we now require at least autoconf 2.59 and
20819 that LZO is optional.
20820
20821 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20822
20823 Base on patch on bug #24154 created by Tomas Tintera
20824 <trosos@seznam.cz>.
20825
20826 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20827
20828 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20829
20830 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
20831 <bero@arklinux.org>.
20832
20833 * normal/parser.y (script_init): Add missing semicolon.
20834
20835 2009-01-31 Colin D Bennett <colin@gibibit.com>
20836
20837 * normal/main.c: Add include to grub/menu_viewer.h.
20838 (free_menu_entry_classes): Added.
20839 (grub_normal_menu_addentry): Added class property handling.
20840 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20841 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20842
20843 * normal/menu_viewer.c: New file.
20844
20845 * normal/menu.c (run_menu_entry): Renamed to ...
20846 (grub_menu_execute_entry): ... this and made it as global.
20847 (grub_menu_run): Renamed to ...
20848 (show_text_menu): ... this and made it local.
20849 (show_text_menu): Adapt to new function names.
20850 (grub_normal_terminal_menu_viewer): New global variable.
20851
20852 * include/grub/menu.h: New file.
20853
20854 * include/grub/menu_viewer.h: New file.
20855
20856 * include/grub/normal.h: Added include to grub/menu.h.
20857 (grub_menu_entry): Moved to include/grub/menu.h.
20858 (grub_menu_entry_t): Likewise.
20859 (grub_menu): Likewise.
20860 (grub_menu_t): Likewise.
20861 (grub_normal_terminal_menu_viewer): Added.
20862 (grub_menu_execute_entry): Likewise.
20863 (grub_menu_run): Removed.
20864
20865 * DISTLIST: Added include/grub/menu.h.
20866 Added include/grub/menu_viewer.h.
20867 Added normal/menu_viewer.c.
20868
20869 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20870
20871 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20872 arglist for menutitle arguments.
20873
20874 * normal/main.c (grub_normal_menu_addentry): Likewise.
20875
20876 * normal/parser.y (menuentry): Likewise.
20877
20878 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20879
20880 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20881 (grub_script_create_cmdmenu): Likewise.
20882
20883 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20884
20885 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20886 changes.
20887
20888 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20889
20890 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20891
20892 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20893
20894 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20895
20896 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20897
20898 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20899
20900 2009-01-30 Christian Franke <franke@computer.org>
20901
20902 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20903 in option help text.
20904
20905 2009-01-27 Pavel Roskin <proski@gnu.org>
20906
20907 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20908
20909 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20910
20911 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20912
20913 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20914
20915 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20916 unregister function.
20917
20918 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20919
20920 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20921
20922 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20923
20924 * util/grub-mkfont.c (usage): Fix typo.
20925
20926 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20927
20928 2009-01-26 Daniel Mierswa <impulze@impulze.org>
20929
20930 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20931
20932 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20933
20934 * kern/misc.c (grub_strcasecmp): New function.
20935 (grub_strcasecmp): Use grub_size_t instead of int for length.
20936 Fix return value.
20937 * include/grub/misc.h: Update function prototypes.
20938
20939 2009-01-26 Robert Millan <rmh@aybabtu.com>
20940
20941 * configure.ac: Fix cross-compilation check.
20942
20943 2009-01-22 Christian Franke <franke@computer.org>
20944
20945 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20946 (precision) digit string. Allow `.format2' without `format1' (width).
20947 Limit input chars for `%s' output to `format2' if specified. This is
20948 compatible with standard printf ().
20949
20950 2009-01-22 Christian Franke <franke@computer.org>
20951
20952 * disk/ata.c (grub_ata_wait_status): Replace by ...
20953 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20954 other status bits may be invalid while BSY is asserted.
20955 (grub_ata_check_ready): New function.
20956 (grub_ata_cmd): Removed.
20957 (grub_ata_wait_drq): New function.
20958 (grub_ata_strncpy): Remove inline.
20959 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20960 and error check now done by grub_ata_wait_drq ().
20961 (grub_ata_pio_write): Likewise.
20962 (grub_atapi_identify): Set DEV before check for !BSY. Use
20963 grub_ata_wait_drq () to wait for data.
20964 (grub_ata_device_initialize): Add status register check to
20965 detect missing SATA slave devices. Add debug messages.
20966 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20967 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20968 transfer loop by grub_ata_pio_write ().
20969 (grub_ata_identify): Set DEV before check for !BSY. Use
20970 grub_ata_wait_drq () to wait for data.
20971 (grub_ata_setaddress): Set DEV before check for !BSY.
20972 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20973 read/write in one loop. Fix invalid command on write. Fix incomplete
20974 command on (size % batch) == 0. Add missing error check after write of
20975 last block. Add debug messages.
20976 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20977
20978 2009-01-19 Christian Franke <franke@computer.org>
20979
20980 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20981 (GRUB_ATAPI_IREASON_*): Likewise.
20982 (grub_ata_pio_write): Fix timeout error return.
20983 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20984 (grub_atapi_wait_drq): New function.
20985 (grub_atapi_packet): New parameter `size'.
20986 Use grub_atapi_wait_drq () and direct write instead of
20987 grub_ata_pio_write ().
20988 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20989 reads the number of bytes requested by the device for each DRQ
20990 assertion.
20991 (grub_atapi_write): Remove old implementation, return not
20992 implemented instead.
20993
20994 2009-01-19 Christian Franke <franke@computer.org>
20995
20996 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20997 of 512 to calculate data size.
20998 (grub_scsi_read12): Likewise.
20999 (grub_scsi_write10): Likewise.
21000 (grub_scsi_write12): Likewise.
21001 (grub_scsi_read): Adjust size according to blocksize.
21002 Add checks for invalid blocksize and unaligned transfer.
21003
21004 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21005
21006 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21007
21008 * term/gfxterm.c (write_char): Fix background rendering for wide
21009 width glyphs.
21010
21011 2009-01-19 Robert Millan <rmh@aybabtu.com>
21012
21013 * config.guess: Update to latest version from config git.
21014 * config.sub: Likewise.
21015
21016 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21017
21018 * Makefile.in: Change font compilation to use new grub-mkfont instead
21019 of java version.
21020
21021 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21022 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21023 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21024 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21025 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21026 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21027 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21028 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21029 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21030
21031 2009-01-16 Christian Franke <franke@computer.org>
21032
21033 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21034 (enum grub_ata_timeout_milliseconds): New enum.
21035 (grub_ata_wait_status): Add parameter milliseconds.
21036 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21037 recovery from timed-out commands.
21038 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21039 return grub_errno instead of REG_ERROR.
21040 (grub_ata_pio_write): Add parameter milliseconds.
21041 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21042 Pass milliseconds to grub_ata_wait_status () and
21043 grub_ata_pio_read ().
21044 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21045 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21046 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21047 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21048 It is not suitable for device detection, because DEV bit is ignored,
21049 the command may run too long, and not all devices set the signature
21050 properly.
21051 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21052 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21053 Fix device selection, DEV bit must be set first to address the registers
21054 of the correct device.
21055 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21056 grub_ata_pio_read/write ().
21057 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21058 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21059
21060 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21061
21062 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21063
21064 2009-01-13 Bean <bean123ch@gmail.com>
21065
21066 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21067
21068 2009-01-13 Bean <bean123ch@gmail.com>
21069
21070 * Makefile.in: (enable_grub_mkfont): New variable.
21071 (freetype_cflags): Likewise.
21072 (freetype_libs): Likewise.
21073
21074 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21075 (grub_mkfont_SOURCES): New variable.
21076 (grub_mkfont_CFLAGS): Likewise.
21077 (grub_mkfont_LDFLAGS): Likewise.
21078
21079 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21080 library if `--enable-grub-mkfont' is requested.
21081 (enable_grub_mkfont): New variable.
21082 (freetype_cflags): Likewise.
21083 (freetype_libs): Likewise.
21084
21085 * util/grub-mkfont.c: New file.
21086
21087 2009-01-12 Christian Franke <franke@computer.org>
21088
21089 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21090 mode check. Fix setting of compat_use[].
21091
21092 2009-01-10 Robert Millan <rmh@aybabtu.com>
21093
21094 Update a few copyright years which we forgot to do in 2008 (only for
21095 files whose changes made in 2008 were copyright-significant)
21096
21097 * Makefile.in: Add 2008 to Copyright line.
21098 * disk/ieee1275/ofdisk.c: Likewise.
21099 * disk/efi/efidisk.c: Likewise.
21100 * kern/dl.c: Likewise.
21101 * kern/sparc64/ieee1275/init.c: Likewise.
21102 * kern/mm.c: Likewise.
21103 * kern/efi/mm.c: Likewise.
21104 * boot/i386/pc/boot.S: Likewise.
21105 * genfslist.sh: Likewise.
21106 * fs/iso9660.c: Likewise.
21107 * fs/hfs.c: Likewise.
21108 * fs/jfs.c: Likewise.
21109 * fs/minix.c: Likewise.
21110 * fs/ufs.c: Likewise.
21111 * gensymlist.sh.in: Likewise.
21112 * genkernsyms.sh.in: Likewise.
21113 * include/grub/misc.h: Likewise.
21114 * include/grub/types.h: Likewise.
21115 * include/grub/symbol.h: Likewise.
21116 * include/grub/elf.h: Likewise.
21117 * include/grub/kernel.h: Likewise.
21118 * include/grub/disk.h: Likewise.
21119 * include/grub/dl.h: Likewise.
21120 * include/grub/i386/linux.h: Likewise.
21121 * include/grub/i386/pc/biosdisk.h: Likewise.
21122 * include/grub/efi/api.h: Likewise.
21123 * include/grub/efi/pe32.h: Likewise.
21124 * include/grub/util/misc.h: Likewise.
21125 * normal/execute.c: Likewise.
21126 * normal/arg.c: Likewise.
21127 * normal/completion.c: Likewise.
21128 * normal/lexer.c: Likewise.
21129 * normal/parser.y: Likewise.
21130 * normal/misc.c: Likewise.
21131 * commands/i386/pc/vbeinfo.c: Likewise.
21132 * commands/hexdump.c: Likewise.
21133 * commands/terminal.c: Likewise.
21134 * commands/ls.c: Likewise.
21135 * commands/help.c: Likewise.
21136 * partmap/pc.c: Likewise.
21137 * loader/efi/chainloader.c: Likewise.
21138 * loader/multiboot_loader.c: Likewise.
21139 * loader/i386/pc/multiboot2.c: Likewise.
21140 * term/efi/console.c: Likewise.
21141 * term/i386/pc/serial.c: Likewise.
21142 * util/lvm.c: Likewise.
21143 * util/console.c: Likewise.
21144 * util/i386/efi/grub-mkimage.c: Likewise.
21145 * util/raid.c: Likewise.
21146
21147 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21148
21149 * commands/videotest.c: Removed include to grub/machine/memory.h.
21150
21151 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21152 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21153 (video_mod_SOURCES): Removed.
21154 (video_mod_CFLAGS): Likewise.
21155 (video_mod_LDFLAGS): Likewise.
21156 (gfxterm_mod_SOURCES): Likewise.
21157 (gfxterm_mod_CFLAGS): Likewise.
21158 (gfxterm_mod_LDFLAGS): Likewise.
21159 (videotest_mod_SOURCES): Likewise.
21160 (videotest_mod_CFLAGS): Likewise.
21161 (videotest_mod_LDFLAGS): Likewise.
21162 (bitmap_mod_SOURCES): Likewise.
21163 (bitmap_mod_CFLAGS): Likewise.
21164 (bitmap_mod_LDFLAGS): Likewise.
21165 (tga_mod_SOURCES): Likewise.
21166 (tga_mod_CFLAGS): Likewise.
21167 (tga_mod_LDFLAGS): Likewise.
21168 (jpeg_mod_SOURCES): Likewise.
21169 (jpeg_mod_CFLAGS): Likewise.
21170 (jpeg_mod_LDFLAGS): Likewise.
21171 (png_mod_SOURCES): Likewise.
21172 (png_mod_CFLAGS): Likewise.
21173 (png_mod_LDFLAGS): Likewise.
21174
21175 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21176 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21177 (video_mod_SOURCES): Added.
21178 (video_mod_CFLAGS): Likewise.
21179 (video_mod_LDFLAGS): Likewise.
21180 (videotest_mod_SOURCES): Likewise.
21181 (videotest_mod_CFLAGS): Likewise.
21182 (videotest_mod_LDFLAGS): Likewise.
21183 (bitmap_mod_SOURCES): Likewise.
21184 (bitmap_mod_CFLAGS): Likewise.
21185 (bitmap_mod_LDFLAGS): Likewise.
21186 (tga_mod_SOURCES): Likewise.
21187 (tga_mod_CFLAGS): Likewise.
21188 (tga_mod_LDFLAGS): Likewise.
21189 (jpeg_mod_SOURCES): Likewise.
21190 (jpeg_mod_CFLAGS): Likewise.
21191 (jpeg_mod_LDFLAGS): Likewise.
21192 (png_mod_SOURCES): Likewise.
21193 (png_mod_CFLAGS): Likewise.
21194 (png_mod_LDFLAGS): Likewise.
21195 (gfxterm_mod_SOURCES): Likewise.
21196 (gfxterm_mod_CFLAGS): Likewise.
21197 (gfxterm_mod_LDFLAGS): Likewise.
21198
21199 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21200 grub/machine/console.h.
21201
21202 2009-01-04 Jerone Young <jerone@gmail.com>
21203
21204 Make on screen instructions clearer
21205
21206 Based on patch created by Jidanni <jidanni@jidanni.org>
21207
21208 * normal/menu.c: print clearer instructions on the screen
21209
21210 2009-01-02 Colin D Bennett <colin@gibibit.com>
21211
21212 New font engine.
21213
21214 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21215 build system and fixed gfxterm.c to work with different sized fonts.
21216
21217 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21218
21219 * configure: Re-generated.
21220
21221 * DISTLIST: Removed font/manager.c.
21222 Added font/font.c.
21223 Added font/font_cmd.c.
21224
21225 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21226 compilation.
21227
21228 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21229
21230 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21231
21232 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21233
21234 * normal/menu.c: Likewise.
21235
21236 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21237 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21238
21239 * include/grub/font.h: Replaced with new file.
21240
21241 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21242 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21243 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21244 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21245 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21246 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21247 fg_red, fg_green, fg_blue, fg_alpha.
21248 (grub_video_adapter): Removed blit_glyph.
21249 (grub_video_blit_glyph): Removed.
21250
21251 * font/manager.c: Removed file.
21252
21253 * font/font.c: New file.
21254
21255 * font/font_cmd.c: Likewise.
21256
21257 * video/video.c (grub_video_blit_glyph): Removed.
21258
21259 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21260 (grub_video_vbe_map_rgba): Likewise.
21261 (grub_video_vbe_unmap_color_int): Likewise.
21262 (grub_video_vbe_blit_glyph): Removed.
21263 (grub_video_vbe_adapter): Removed blit_glyph.
21264
21265 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21266 (get_pixel): Likewise.
21267 (set_pixel): Likewise.
21268
21269 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21270
21271 * term/gfxterm.c: Adapted to new font engine.
21272
21273 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21274
21275 * term/i386/pc/vga.c: Likewise.
21276
21277 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21278
21279 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21280
21281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21282
21283 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21284
21285 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21286
21287 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21288
21289 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21290
21291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21292
21293 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21294
21295 * util/grub.d/00_header.in: Changed to use new loadfont command.
21296
21297 * util/grub-mkconfig_lib.in: Changed font extension.
21298
21299 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21300
21301 * util/getroot.c (grub_util_get_grub_dev): Add support for
21302 /dev/md/dNNpNN style partitionable mdraid devices.
21303
21304 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21305
21306 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21307 at a time limit of the PXE TFTP API correctly.
21308 (grub_pxefs_close): Likewise.
21309
21310 2008-11-29 Robert Millan <rmh@aybabtu.com>
21311
21312 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21313 grub_ata_device_initialize() calls.
21314
21315 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21316
21317 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21318 iteration failed.
21319 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21320
21321 2008-11-28 Robert Millan <rmh@aybabtu.com>
21322
21323 Fix build on powerpc-ieee1275. Based on patch created by
21324 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21325 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21326 `kern/ieee1275/mmap.c'.
21327 * include/grub/powerpc/ieee1275/memory.h: New file.
21328
21329 Provide grub-install on coreboot.
21330 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21331 (grub_install_SOURCES): New variable.
21332 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21333 usable on coreboot.
21334
21335 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21336
21337 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21338 to `grub_term_input_t'.
21339 (grub_term_get_current_output): Change return type to
21340 `grub_term_output_t'.
21341
21342 2008-11-22 Robert Millan <rmh@aybabtu.com>
21343
21344 Fix breakage on coreboot due to declaration mismatch.
21345 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21346 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21347 grub_vga_text_cls().
21348
21349 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21350 comments. Avoid copying one more byte than necessary (just in case).
21351
21352 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21353 to 0x200000 (avoids trouble with some OFW implementations, and matches
21354 with the one in Yaboot).
21355 Reported by Manoel Abranches
21356
21357 2008-11-20 Robert Millan <rmh@aybabtu.com>
21358
21359 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21360 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21361
21362 * util/grub-mkconfig_lib.in (grub_warn): New function.
21363 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21364 warnings, to obtain consistent formatting.
21365 * util/grub.d/00_header.in: Likewise.
21366 * util/update-grub_lib.in: Likewise.
21367
21368 * loader/i386/linux.c (allocate_pages): Fix a warning.
21369 Move comment text to `#error' stanza.
21370
21371 Harmonize ieee1275's grub_available_iterate() with the generic
21372 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21373 build problem on i386-ieee1275):
21374 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21375 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21376 parameter `type'. Update all users of this function.
21377 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21378 `kern/ieee1275/mmap.c'.
21379 * kern/ieee1275/init.c
21380 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21381 with ...
21382 (grub_machine_mmap_iterate): ... this.
21383 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21384 return type to `grub_err_t'. Update all implementations of this
21385 function prototype.
21386 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21387 Likewise.
21388
21389 Add `lsmmap' command (lists firmware-provided memory map):
21390 * commands/lsmmap.c: New file.
21391 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21392 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21393 variables.
21394 * conf/powerpc-ieee1275.rmk: Likewise.
21395 * conf/i386-coreboot.rmk: Likewise.
21396 * conf/i386-ieee1275.rmk: Likewise.
21397
21398 2008-11-19 Robert Millan <rmh@aybabtu.com>
21399
21400 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21401 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21402 constraints to initrd allocation (based on code from
21403 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21404 for Linux to find it.
21405
21406 2008-11-14 Robert Millan <rmh@aybabtu.com>
21407
21408 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21409 order to cope with duplicate slashes.
21410
21411 2008-11-14 Robert Millan <rmh@aybabtu.com>
21412
21413 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21414 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21415 don't want to mess with lower memory, because it is used in the Linux
21416 loader.
21417
21418 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21419 an appropriate place in lower memory, between 0x10000 and 0x90000,
21420 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21421 is in our heap (probably as a result of it being corrupted during
21422 decompression). Add #error instance with comment to explain why this
21423 loader isn't currently usable on PC/BIOS.
21424
21425 2008-11-14 Robert Millan <rmh@aybabtu.com>
21426
21427 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21428 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21429
21430 2008-11-12 Robert Millan <rmh@aybabtu.com>
21431
21432 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21433
21434 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21435 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21436 from here ...
21437 * include/grub/i386/pc/memory.h: ... to here.
21438
21439 2008-11-12 Robert Millan <rmh@aybabtu.com>
21440
21441 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21442 split).
21443
21444 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21445 (grub_console_cur_color, grub_console_real_putchar)
21446 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21447 (grub_console_setcolorstate, grub_console_setcolor)
21448 (grub_console_getcolor): Move from here ...
21449 * include/grub/i386/vga_common.h: ... to here (new file).
21450
21451 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21452 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21453 `<grub/i386/io.h>'.
21454 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21455 `<grub/i386/vga_common.h>'.
21456
21457 2008-11-12 Robert Millan <rmh@aybabtu.com>
21458
21459 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21460 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21461 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21462 variables.
21463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21464 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21465
21466 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21467 grub_console_init() with call to grub_vga_text_init().
21468 (grub_machine_fini): Replace call to
21469 grub_console_fini() with call to grub_vga_text_fini() and
21470 grub_at_keyboard_fini().
21471
21472 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21473 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21474 (grub_console_setcolorstate, grub_console_setcolor)
21475 (grub_console_getcolor): New function prototypes.
21476
21477 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21478 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21479 (grub_vga_text_setcursor): Static-ize.
21480 (grub_vga_text_term): New structure.
21481 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21482
21483 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21484 (grub_console_cur_color, grub_console_standard_color)
21485 (grub_console_normal_color, grub_console_highlight_color)
21486 (map_char, grub_console_putchar, grub_console_getcharwidth)
21487 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21488 (grub_console_getcolor): Move from here ...
21489 * term/i386/vga_common.c: ... to here (same function names).
21490
21491 2008-11-12 Robert Millan <rmh@aybabtu.com>
21492
21493 Use newly-added Multiboot support in coreboot.
21494
21495 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21496 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21497
21498 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21499 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21500 (codestart): Store the MBI in `startup_multiboot_info' when we're
21501 being loaded using Multiboot.
21502
21503 * kern/i386/coreboot/init.c (grub_machine_init): Move
21504 grub_at_keyboard_init() call to beginning of function (useful for
21505 debugging). Call grub_machine_mmap_init() before attempting to use
21506 grub_machine_mmap_iterate().
21507 (grub_lower_mem, grub_upper_mem): Move from here ...
21508 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21509 here (new file).
21510
21511 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21512 function prototype.
21513
21514 2008-11-12 Robert Millan <rmh@aybabtu.com>
21515
21516 Fix a regression introduced by the at_keyboard.mod split. Because
21517 some terminals are default on some platforms and non-default on
21518 others, the first terminal being registered determines which is
21519 going to be default.
21520
21521 * kern/term.c (grub_term_register_input): If this is the first
21522 terminal being registered, set it as the current one.
21523 (grub_term_register_output): Likewise.
21524
21525 * term/efi/console.c (grub_console_init): Do not call
21526 grub_term_set_current_output() or grub_term_set_current_input().
21527 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21528 * term/i386/pc/console.c (grub_console_init): Likewise.
21529 (grub_console_fini): Do not call grub_term_set_current_input()
21530 (but leave grub_term_set_current_output() to restore text mode).
21531
21532 2008-11-10 Robert Millan <rmh@aybabtu.com>
21533
21534 * util/grub.d/00_header.in: Add backward compatibility check for
21535 versions of terminal.mod that don't understand `terminal_input' or
21536 `terminal_output'.
21537
21538 2008-11-09 Robert Millan <rmh@aybabtu.com>
21539
21540 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21541 `terminal_input' / `terminal_output', not `terminal'.
21542
21543 2008-11-08 Robert Millan <rmh@aybabtu.com>
21544
21545 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21546 (DISTCLEANFILES): Add `build_env.mk'.
21547
21548 2008-11-08 Robert Millan <rmh@aybabtu.com>
21549
21550 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21551 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21552 members. Update all users.
21553 * util/console.c (grub_ncurses_term): Split in ...
21554 (grub_ncurses_term_input): ... this, and ...
21555 (grub_ncurses_term_output): ... this. Update all users.
21556 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21557
21558 2008-11-08 Robert Millan <rmh@aybabtu.com>
21559
21560 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21561 (PKGDATA): Add $(pkgdata_SRCDIR).
21562 (pkglib_BUILDDIR): New variable.
21563 (pkgdata_SRCDIR): New variable.
21564 (build_env.mk): New target.
21565 (include_DATA): New variable.
21566 (install-local): Install $(include_DATA) files in $(includedir).
21567
21568 2008-11-07 Pavel Roskin <proski@gnu.org>
21569
21570 * gendistlist.sh: Use C locale for sorting to ensure consistent
21571 output on all systems.
21572
21573 * util/grub.d/00_header.in: Remove incorrect space before
21574 "serial".
21575
21576 2008-11-07 Robert Millan <rmh@aybabtu.com>
21577
21578 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21579 per specification.
21580 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21581 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21582 (based on find_multi_boot1_header).
21583 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21584 using find_multi_boot2_header(), and abort if neither Multiboot or
21585 Multiboot headers were found.
21586
21587 2008-11-07 Robert Millan <rmh@aybabtu.com>
21588
21589 Modularize at_keyboard.mod:
21590
21591 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21592 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21593 (at_keyboard_mod_LDFLAGS): New variables.
21594
21595 Actual terminal split:
21596
21597 * include/grub/term.h (struct grub_term): Split in ...
21598 (struct grub_term_input): ... this, and ...
21599 (struct grub_term_output): ... this. Update all users.
21600 (grub_term_set_current): Split in ...
21601 (grub_term_set_current_input): ... this, and ...
21602 (grub_term_set_current_output): ... this.
21603 (grub_term_get_current): Split in ...
21604 (grub_term_get_current_input): ... this, and ...
21605 (grub_term_get_current_output): ... this.
21606 (grub_term_register): Split in ...
21607 (grub_term_register_input): ... this, and ...
21608 (grub_term_register_output): ... this.
21609 (grub_term_unregister): Split in ...
21610 (grub_term_unregister_input): ... this, and ...
21611 (grub_term_unregister_output): ... this.
21612 (grub_term_iterate): Split in ...
21613 (grub_term_iterate_input): ... this, and ...
21614 (grub_term_iterate_output): ... this.
21615
21616 * kern/term.c (grub_term_list): Split in ...
21617 (grub_term_list_input): ... this, and ...
21618 (grub_term_list_output): ... this. Update all users.
21619 (grub_cur_term): Split in ...
21620 (grub_cur_term_input): ... this, and ...
21621 (grub_cur_term_output): ... this. Update all users.
21622 (grub_term_set_current): Split in ...
21623 (grub_term_set_current_input): ... this, and ...
21624 (grub_term_set_current_output): ... this.
21625 (grub_term_get_current): Split in ...
21626 (grub_term_get_current_input): ... this, and ...
21627 (grub_term_get_current_output): ... this.
21628 (grub_term_register): Split in ...
21629 (grub_term_register_input): ... this, and ...
21630 (grub_term_register_output): ... this.
21631 (grub_term_unregister): Split in ...
21632 (grub_term_unregister_input): ... this, and ...
21633 (grub_term_unregister_output): ... this.
21634 (grub_term_iterate): Split in ...
21635 (grub_term_iterate_input): ... this, and ...
21636 (grub_term_iterate_output): ... this.
21637
21638 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21639 a check for input and one for output (and only attempt to get keys
21640 from user when input works).
21641
21642 * util/grub-probe.c (grub_term_get_current): Split in ...
21643 (grub_term_get_current_input): ... this, and ...
21644 (grub_term_get_current_output): ... this.
21645 * util/grub-fstest.c: Likewise.
21646 * util/i386/pc/grub-setup.c: Likewise.
21647 * util/grub-editenv.c: Likewise.
21648
21649 Portability adjustments:
21650
21651 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21652 `term/i386/pc/at_keyboard.c'.
21653 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21654 grub_keyboard_controller_init() (now handled by terminal .init).
21655 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21656 grub_at_keyboard_init().
21657 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21658 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21659 at_keyboard.mod via input terminal interface).
21660 * include/grub/i386/coreboot/console.h: Convert into a stub for
21661 `<grub/i386/pc/console.h>'.
21662
21663 Migrate full terminals to new API:
21664
21665 * term/efi/console.c (grub_console_term): Split into ...
21666 (grub_console_term_input): ... this, and ...
21667 (grub_console_term_output): ... this. Update all users.
21668 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21669 (grub_ofconsole_init): Split into ...
21670 (grub_ofconsole_init_input): ... this, and ...
21671 (grub_ofconsole_init_output): ... this.
21672 (grub_ofconsole_term): Split into ...
21673 (grub_ofconsole_term_input): ... this, and ...
21674 (grub_ofconsole_term_output): ... this. Update all users.
21675 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21676 (grub_serial_term_input): ... this, and ...
21677 (grub_serial_term_output): ... this. Update all users.
21678 * term/i386/pc/console.c (grub_console_term): Split into ...
21679 (grub_console_term_input): ... this, and ...
21680 (grub_console_term_output): ... this. Update all users.
21681 (grub_console_term_input): Only enable it on PC/BIOS platform.
21682 (grub_console_init): Remove grub_keyboard_controller_init() call.
21683
21684 Migrate input terminals to new API:
21685
21686 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21687 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21688 i386-specific anyway).
21689 (grub_console_checkkey): Rename to ...
21690 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21691 users.
21692 (grub_keyboard_controller_orig): New variable.
21693 (grub_console_getkey): Rename to ...
21694 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21695 users.
21696 (grub_keyboard_controller_init): Static-ize. Save original
21697 controller value so that it can be restored ...
21698 (grub_keyboard_controller_fini): ... here (new function).
21699 (grub_at_keyboard_term): New structure.
21700 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21701 functions.
21702
21703 Migrate output terminals to new API:
21704
21705 * term/i386/pc/vga.c (grub_vga_term): Change type to
21706 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21707 members. Update all users.
21708 * term/gfxterm.c (grub_video_term): Change type to
21709 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21710 members. Update all users.
21711 * include/grub/i386/pc/console.h (grub_console_checkkey)
21712 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21713 etc).
21714
21715 Migrate `terminal' command and userland tools to new API:
21716
21717 * commands/terminal.c (grub_cmd_terminal): Split into ...
21718 (grub_cmd_terminal_input): ... this, and ...
21719 (grub_cmd_terminal_output): ... this.
21720 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21721 `terminal_input' and `terminal_output'.
21722 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21723 `terminal_input' / `terminal_output' API.
21724 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21725 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21726 provided ${GRUB_TERMINAL}, convert it).
21727
21728 2008-11-04 Robert Millan <rmh@aybabtu.com>
21729
21730 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21731 for FreeBSD.
21732 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21733
21734 2008-11-03 Bean <bean123ch@gmail.com>
21735
21736 * kern/elf.c (grub_elf32_load): Revert to previous code.
21737 (grub_elf64_load): Likewise.
21738
21739 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21740
21741 2008-11-01 Robert Millan <rmh@aybabtu.com>
21742
21743 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21744 (TARGET_CPPFLAGS): Likewise.
21745 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21746
21747 2008-11-01 Carles Pina i Estany <carles@pina.cat>
21748
21749 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21750
21751 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21752
21753 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21754 addition of objects until the code is not going to be able to fail.
21755
21756 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21757
21758 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21759 (add a missing NULL check, and correct them by moving the pointer
21760 operations after the actual check).
21761
21762 2008-10-29 Robert Millan <rmh@aybabtu.com>
21763
21764 * util/i386/pc/grub-install.in: Handle empty string as output from
21765 make_system_path_relative_to_its_root().
21766
21767 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21768
21769 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21770 circular metadata worst case scenario. If the metadata is circular
21771 then copy the wrap in place.
21772 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21773 project lib/format_text/layout.h
21774 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21775
21776 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21777
21778 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
21779
21780 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21781
21782 * util/update-grub_lib.in: Mention filename in warning message.
21783
21784 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21785
21786 * NEWS: Update for rename of update-grub to grub-mkconfig.
21787
21788 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21789
21790 * util/update-grub_lib.in: Copy to ...
21791 * util/grub-mkconfig_lib.in: ... this. Update all users.
21792 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
21793 * util/update-grub.in: Rename to ...
21794 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21795 option. Add `--output' option to allow users to specify the generated
21796 configuration file. Default to stdout.
21797 (update_grub_dir): Rename to ...
21798 (grub_mkconfig_dir): ... this.
21799 (grub_cfg): Default to an empty string.
21800 * conf/common.rmk (update-grub): Rename to ...
21801 (grub-mkconfig): ... this.
21802 (update-grub_lib): Copy to ...
21803 (grub-mkconfig_lib): ... this.
21804 (update-grub_SCRIPTS): Copy to ...
21805 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21806 (update-grub_DATA): Rename to ...
21807 (grub-mkconfig_DATA): ... this.
21808
21809 2008-09-28 Robert Millan <rmh@aybabtu.com>
21810
21811 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21812 to `modified'. Add the real `created' field.
21813 (grub_iso9660_uuid): Use `modified' rather than `created' for
21814 constructing the UUID.
21815
21816 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
21817
21818 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21819 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21820
21821 2008-09-28 Bean <bean123ch@gmail.com>
21822
21823 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21824 Thanks to Christian Franke for finding this bug.
21825
21826 2008-09-25 Robert Millan <rmh@aybabtu.com>
21827
21828 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21829 instances of grub_util_get_disk_name() (see previous commit).
21830
21831 2008-09-25 Robert Millan <rmh@aybabtu.com>
21832
21833 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21834 `util/i386/get_disk_name.c'.
21835 * conf/i386-efi.rmk: Likewise.
21836 * conf/x86_64-efi.rmk: Likewise.
21837 * conf/i386-coreboot.rmk: Likewise.
21838 * conf/i386-ieee1275.rmk: Likewise.
21839 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21840 `util/ieee1275/get_disk_name.c'.
21841 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21842 * util/ieee1275/get_disk_name.c: Remove file.
21843 * util/i386/get_disk_name.c: Remove file.
21844 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21845 "hd%d" for device.map entries, rather than using
21846 grub_util_get_disk_name().
21847
21848 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21849
21850 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21851 warning.
21852 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21853
21854 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21855
21856 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21857 Changed to 0x5100.
21858 (GRUB_TERM_PPAGE): Changed to 0x4900.
21859
21860 2008-09-24 Robert Millan <rmh@aybabtu.com>
21861
21862 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21863 macros (they were i386-pc specific).
21864 * include/grub/sparc64/ieee1275/console.h: Likewise.
21865 * include/grub/efi/console.h: Likewise.
21866
21867 2008-09-22 Bean <bean123ch@gmail.com>
21868
21869 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21870 resident and in attribute list.
21871
21872 * include/grub/ntfs.h (BMP_LEN): Removed.
21873
21874 2008-09-22 Bean <bean123ch@gmail.com>
21875
21876 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
21877 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21878
21879 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21880 error occurs, as grub_disk_open will call grub_disk_close, which will
21881 call p->close (scsi).
21882
21883 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21884
21885 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21886 (AC_PREREQ): Bumped to 2.59.
21887 (AC_TRY_COMPILE): Replace obsolete macro with ...
21888 (AC_COMPILE_IFELSE): ... this.
21889 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21890 (AC_LINK_IFELSE): ... this.
21891
21892 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21893
21894 * autogen.sh: Add a call to `gendistlist.sh'.
21895
21896 2008-09-19 Christian Franke <franke@computer.org>
21897
21898 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21899 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21900 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21901 Export __enable_execute_stack() to modules.
21902 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21903 New function.
21904
21905 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21906
21907 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21908 Sort the list.
21909
21910 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21911
21912 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
21913 #include <grub/util/hostdisk.h>.
21914
21915 2008-09-08 Robert Millan <rmh@aybabtu.com>
21916
21917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21918 segments when their filesz is zero (grub_file_read() interprets
21919 zero-size as "read until EOF", which results in memory corruption).
21920 Use `lowest_segment' rather than 0 for calculating the current
21921 segment load address.
21922
21923 2008-09-08 Robert Millan <rmh@aybabtu.com>
21924
21925 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21926 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21927 clobbered useful information.
21928
21929 2008-09-08 Robert Millan <rmh@aybabtu.com>
21930
21931 * include/grub/util/biosdisk.h: Move to ...
21932 * include/grub/util/hostdisk.h: ... here. Update all users.
21933 * util/biosdisk.c: Move to ...
21934 * util/hostdisk.c: ... here. Update all users.
21935
21936 2008-09-07 Robert Millan <rmh@aybabtu.com>
21937
21938 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21939 variables.
21940 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21941 and length can be stored directly in the `mbi->mmap_addr' and
21942 `mbi->mmap_length' struct fields.
21943
21944 2008-09-07 Robert Millan <rmh@aybabtu.com>
21945
21946 * conf/i386.rmk: New file. Provides declaration for building
21947 `cpuid.mod'.
21948 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21949 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21950 variables.
21951 Include `conf/i386.mk'.
21952 * conf/i386-efi.rmk: Likewise.
21953 * conf/x86_64-efi.rmk: Likewise.
21954 * conf/i386-coreboot.rmk: Likewise.
21955 * conf/i386-ieee1275.rmk: Likewise.
21956
21957 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21958
21959 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21960 Adds optimization support for BGR based modes.
21961
21962 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21963 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21964 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21965 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21966 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21967 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21970 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21971 (grub_video_i386_vbeblit_index_index): Likewise.
21972 (grub_video_i386_vbeblit_replace_directN): Added.
21973 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21974 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21975 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21976 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21977 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21978 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21979 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21980 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21981 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21982 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21983 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21984 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21985 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21986
21987 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21988 (grub_video_i386_vbefill_R8G8B8): Likewise.
21989 (grub_video_i386_vbefill_index): Likewise.
21990 (grub_video_i386_vbefill_direct32): Added.
21991 (grub_video_i386_vbefill_direct24): Likewise.
21992 (grub_video_i386_vbefill_direct16): Likewise.
21993 (grub_video_i386_vbefill_direct8): Likewise.
21994
21995 * include/grub/video.h (grub_video_blit_format): Removed
21996 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21997 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21998 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21999 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22000 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22001
22002 * video/video.c (grub_video_get_blit_format): Updated to use new
22003 blit formats. Added handling for 16 bit color modes.
22004
22005 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22006 fillers.
22007 (common_blitter): Updated to use new blitters.
22008
22009 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22010 Removed.
22011 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22012 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22013 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22014 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22015 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22016 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22017 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22018 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22019 (grub_video_i386_vbeblit_index_index): Likewise.
22020 (grub_video_i386_vbeblit_replace_directN): Added.
22021 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22022 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22023 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22024 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22025 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22026 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22027 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22028 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22029 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22030 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22031 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22032 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22033 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22034
22035 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22036 (grub_video_i386_vbefill_R8G8B8): Likewise.
22037 (grub_video_i386_vbefill_index): Likewise.
22038 (grub_video_i386_vbefill_direct32): Added.
22039 (grub_video_i386_vbefill_direct24): Likewise.
22040 (grub_video_i386_vbefill_direct16): Likewise.
22041 (grub_video_i386_vbefill_direct8): Likewise.
22042
22043 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22044 types.
22045
22046 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22047 types.
22048
22049 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22050 blitter types.
22051
22052 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22053 types.
22054
22055 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22058 RAID level 1.
22059
22060 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22061
22062 * fs/iso9660.c (grub_iso9660_date): New structure.
22063 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22064 (grub_iso9660_uuid): New function.
22065
22066 2008-09-05 Bean <bean123ch@gmail.com>
22067
22068 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22069
22070 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22071 insensitive bit for names in Win32 and Win32 & DOS namespace.
22072
22073 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22074
22075 * include/grub/types.h (LONG_MAX): Likewise.
22076
22077 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22078
22079 * util/getroot.c: Include <config.h>.
22080 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22081 add support for /dev/md/N devices and handle LVM double dash escaping.
22082
22083 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22084
22085 * config.guess: Update to latest version from config git.
22086 * config.sub: Likewise.
22087
22088 2008-09-03 Robert Millan <rmh@aybabtu.com>
22089
22090 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22091 `disk->total_sectors'.
22092
22093 2008-09-01 Colin D Bennett <colin@gibibit.com>
22094
22095 * include/grub/normal.h: Fixed incorrect comment for
22096 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22097
22098 2008-09-01 Colin D Bennett <colin@gibibit.com>
22099
22100 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22101 values with defines.
22102
22103 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22104 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22105 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22106 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22107 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22108 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22109 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22110 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22111 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22112 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22113 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22114 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22115 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22116 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22117 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22118 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22119 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22120 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22121 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22122
22123 2008-08-31 Robert Millan <rmh@aybabtu.com>
22124
22125 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22126 declaration.
22127 (grub_multiboot): Fix a few warnings.
22128
22129 2008-08-31 Robert Millan <rmh@aybabtu.com>
22130
22131 * loader/i386/pc/multiboot.c: Update comment not to say that
22132 boot_device support is unimplemented.
22133
22134 2008-08-31 Robert Millan <rmh@aybabtu.com>
22135
22136 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22137 or memory map support are unimplemented.
22138
22139 2008-08-31 Colin D Bennett <colin@gibibit.com>
22140
22141 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22142
22143 2008-08-31 Colin D Bennett <colin@gibibit.com>
22144
22145 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22146 total video memory in 'vbeinfo' output; show color format details for
22147 each video mode.
22148
22149 2008-08-30 Pavel Roskin <proski@gnu.org>
22150
22151 * util/genmoddep.c: Remove for real this time.
22152 * DISTLIST: Remove util/genmoddep.c.
22153
22154 2008-08-30 Robert Millan <rmh@aybabtu.com>
22155
22156 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22157 as required by Multiboot spec (it was already 4-byte aligned, but
22158 only by chance).
22159
22160 2008-08-29 Pavel Roskin <proski@gnu.org>
22161
22162 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22163 * kern/powerpc/ieee1275/startup.S: ... this.
22164 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22165 * DISTLIST: Likewise.
22166
22167 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22168 grub/cpu/kernel.h. Add start label for consistency with other
22169 platforms. Add grub_prefix immediately after start. Add jump
22170 to the code after grub_prefix.
22171 * include/grub/powerpc/kernel.h: Provide valid values for
22172 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22173
22174 2008-08-29 Bean <bean123ch@gmail.com>
22175
22176 * configure.ac: Change host_os to cygwin for mingw.
22177 (asprintf): New check for function.
22178
22179 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22180 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22181
22182 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22183 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22184 sync, sleep and grub_util_get_disk_size for mingw.
22185
22186 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22187 to get size in mingw.
22188 (open_device): Use flag O_BINARY if it's defined.
22189 (find_root_device): Add dummy code for mingw.
22190
22191 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22192 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22193 (get_scsi_disk_name): Return 0 for mingw.
22194
22195 * util/hostfs.c: #include <grub/util/misc.h>.
22196 (grub_hostfs_open): Use "rb" flag to open file, use
22197 grub_util_get_disk_size to get disk size for mingw.
22198
22199 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22200 (asprintf): New function if HAVE_ASPRINTF is not set.
22201 (sync): New function for mingw.
22202 (sleep): Likewise.
22203 (grub_util_get_disk_size): Likewise.
22204
22205 2008-08-28 Pavel Roskin <proski@gnu.org>
22206
22207 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22208 kern/time.c.
22209
22210 2008-08-28 Robert Millan <rmh@aybabtu.com>
22211
22212 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22213
22214 2008-08-28 Robert Millan <rmh@aybabtu.com>
22215
22216 Change find_grub_drive() syntax so it doesn't prevent it from
22217 detecting NULL names as errors.
22218
22219 * util/biosdisk.c (find_grub_drive): Move free slot search code
22220 from here ...
22221 (find_free_slot): ... to here.
22222 (read_device_map): Use find_free_slot() to search for free slots.
22223
22224 2008-08-27 Marco Gerards <marco@gnu.org>
22225
22226 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22227 (scsi_mod_SOURCES): New variable.
22228 (scsi_mod_CFLAGS): Likewise
22229 (scsi_mod_LDFLAGS): Likewise.
22230
22231 * disk/scsi.c: New file.
22232
22233 * include/grub/scsi.h: Likewise.
22234
22235 * include/grub/scsicmd.h: Likewise.
22236
22237 * disk/ata.c: Include <grub/scsi.h>.
22238 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22239 instead.
22240 (grub_ata_iterate): Skip ATAPI devices.
22241 (grub_ata_open): Only handle ATAPI devices.
22242 (struct grub_atapi_read): Removed.
22243 (grub_atapi_readsector): Likewise.
22244 (grub_ata_read): No longer handle ATAPI devices.
22245 (grub_ata_write): Likewise.
22246 (grub_atapi_iterate): New function.
22247 (grub_atapi_read): Likewise.
22248 (grub_atapi_write): Likewise.
22249 (grub_atapi_open): Likewise.
22250 (grub_atapi_close): Likewise.
22251 (grub_atapi_dev): New variable.
22252 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22253 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22254
22255 * include/grub/disk.h (enum grub_disk_dev_id): Add
22256 `GRUB_DISK_DEVICE_SCSI_ID'.
22257
22258 2008-08-26 Robert Millan <rmh@aybabtu.com>
22259
22260 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22261 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22262 descriptive.
22263
22264 2008-08-23 Bean <bean123ch@gmail.com>
22265
22266 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22267 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22268 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22269 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22270 dm_nv.mod.
22271 (raid5rec_mod_SOURCES): New macro.
22272 (raid5rec_mod_CFLAGS): Likewise.
22273 (raid5rec_mod_LDFLAGS): Likewise.
22274 (raid6rec_mod_SOURCES): Likewise.
22275 (raid6rec_mod_CFLAGS): Likewise.
22276 (raid6rec_mod_LDFLAGS): Likewise.
22277 (mdraid_mod_SOURCES): Likewise.
22278 (mdraid_mod_CFLAGS): Likewise.
22279 (mdraid_mod_LDFLAGS): Likewise.
22280 (dm_nv_mod_SOURCES): Likewise.
22281 (dm_nv_mod_CFLAGS): Likewise.
22282 (dm_nv_mod_LDFLAGS): Likewise.
22283
22284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22285 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22286 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22287
22288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22289 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22290
22291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22292
22293 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22294
22295 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22296
22297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22298
22299 * disk/raid5_recover.c: New file.
22300
22301 * disk/raid6_recover.c: Likewise.
22302
22303 * disk/mdraid_linux.c: Likewise.
22304
22305 * disk/dmraid_nvidia.c: Likewise.
22306
22307 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22308 ULONG_MAX.
22309
22310 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22311 calculate the size of raid device.
22312 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22313 different layout of raid5.
22314 (grub_raid_scan_device): Remove code specific to mdraid.
22315 (grub_raid_list): New variable.
22316 (free_array): New function.
22317 (grub_raid_register): Likewise.
22318 (grub_raid_unregister): Likewise.
22319 (grub_raid_rescan): Likewise.
22320 (GRUB_MOD_INIT): Don't iterate device here.
22321 (GRUB_MOD_FINI): Use free_array to release resource.
22322
22323 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22324 (grub_raid5_recover_func_t): New function variable type.
22325 (grub_raid6_recover_func_t): Likewise.
22326 (grub_raid5_recover_func): New variable.
22327 (grub_raid6_recover_func): Likewise.
22328 (grub_raid_register): New function.
22329 (grub_raid_unregister): Likewise.
22330 (grub_raid_rescan): Likewise.
22331 (grub_raid_block_xor): Likewise.
22332
22333 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22334 (CMD_CRC): New macro.
22335 (part): Removed.
22336 (read_file): Handle device as well as file.
22337 (cmd_crc): New function.
22338 (fstest): Handle multiple disks.
22339 (options): Remove part, raw and long, add root and diskcount.
22340 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22341 (main): Find the first non option entry and ignore subsequent options,
22342 add handling for the new options, support multiple disks.
22343
22344 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22345
22346 2008-08-23 Bean <bean123ch@gmail.com>
22347
22348 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22349
22350 * genfslist.sh: Ignore kernel.mod.
22351
22352 * genpartmaplist.sh: Likewise.
22353
22354 2008-08-23 Robert Millan <rmh@aybabtu.com>
22355
22356 * util/getroot.c (find_root_device): Skip anything that starts with
22357 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22358
22359 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22360
22361 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22362 * util/grub.d/00_header.in: Allow the administrator to change default
22363 gfxmode via ${GRUB_GFXMODE}.
22364
22365 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22366
22367 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22368
22369 2008-08-21 Robert Millan <rmh@aybabtu.com>
22370
22371 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22372 loader.
22373 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22374 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22375
22376 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22377
22378 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22379 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22380
22381 2008-08-19 Robert Millan <rmh@aybabtu.com>
22382
22383 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22384 (struct grub_virtual_screen): Remove `cursor_color'.
22385 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22386 initialization.
22387 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22388
22389 2008-08-18 Robert Millan <rmh@aybabtu.com>
22390
22391 Unify (identical) linux_normal.c files.
22392 * loader/i386/efi/linux_normal.c: Move from here ...
22393 * loader/linux_normal.c: ... to here. Update all users.
22394 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22395 * loader/i386/ieee1275/linux_normal.c: Likewise.
22396
22397 2008-08-18 Robert Millan <rmh@aybabtu.com>
22398
22399 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22400 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22401 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22402 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22403 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22404 New macros.
22405 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22406 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22407 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22408 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22409 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22410 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22411 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22412 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22413 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22414 portably using grub_getxy().
22415 Replace `-EFI' with `-bzImage' in boot message.
22416
22417 2008-08-17 Robert Millan <rmh@aybabtu.com>
22418
22419 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22420
22421 2008-08-17 Robert Millan <rmh@aybabtu.com>
22422
22423 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22424
22425 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22426 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22427 (grub_machine_mmap_iterate): New function declaration.
22428 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22429 structure.
22430 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22431 macros.
22432
22433 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22434 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22435 Move e820 parsing from here ...
22436 * kern/i386/pc/mmap.c: New file.
22437 (grub_machine_mmap_iterate): ... to here.
22438
22439 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22440 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22441 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22442 (grub_available_iterate): Redeclare to return `void', and redeclare
22443 its hook to use grub_uint64_t as addr and size parameters, and rename
22444 to ...
22445 (grub_machine_mmap_iterate): ... this. Update all users.
22446
22447 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22448 to make it more readable. Rename to ...
22449 (grub_machine_mmap_iterate): ... this.
22450
22451 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22452 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22453 (grub_multiboot): Allocate an extra region after the payload, and fill
22454 it with a Multiboot memory map. Adjust a.out loader to calculate size
22455 with the extra space.
22456 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22457 with the extra space.
22458
22459 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22460
22461 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22462
22463 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22464
22465 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22466 mdate-sh to the list `find' searches for.
22467 * DISTLIST: Regenerated.
22468
22469 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22470
22471 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22472 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22473 genmoddep.awk, gensymlist.sh.in.
22474 (DISTDIRS): Add bus, docs, hook, lib.
22475 * DISTLIST: Regenerated.
22476 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22477
22478 2008-08-16 Robert Millan <rmh@aybabtu.com>
22479
22480 * disk/raid.c (grub_raid_init): Handle/report errors set by
22481 grub_device_iterate().
22482 * disk/lvm.c (grub_lvm_init): Likewise.
22483
22484 2008-08-15 Bean <bean123ch@gmail.com>
22485
22486 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22487 and datehook.mod.
22488 (datetime_mod_SOURCES): New macro.
22489 (datetime_mod_CFLAGS): Likewise.
22490 (datetime_mod_LDFLAGS): Likewise.
22491 (date_mod_SOURCES): Likewise.
22492 (date_mod_CFLAGS): Likewise.
22493 (date_mod_LDFLAGS): Likewise.
22494 (datehook_mod_SOURCES): Likewise.
22495 (datehook_mod_CFLAGS): Likewise.
22496 (datehook_mod_LDFLAGS): Likewise.
22497
22498 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22499 and datehook.mod.
22500 (datetime_mod_SOURCES): New macro.
22501 (datetime_mod_CFLAGS): Likewise.
22502 (datetime_mod_LDFLAGS): Likewise.
22503 (date_mod_SOURCES): Likewise.
22504 (date_mod_CFLAGS): Likewise.
22505 (date_mod_LDFLAGS): Likewise.
22506 (datehook_mod_SOURCES): Likewise.
22507 (datehook_mod_CFLAGS): Likewise.
22508 (datehook_mod_LDFLAGS): Likewise.
22509
22510 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22511 and datehook.mod.
22512 (datetime_mod_SOURCES): New macro.
22513 (datetime_mod_CFLAGS): Likewise.
22514 (datetime_mod_LDFLAGS): Likewise.
22515 (date_mod_SOURCES): Likewise.
22516 (date_mod_CFLAGS): Likewise.
22517 (date_mod_LDFLAGS): Likewise.
22518 (datehook_mod_SOURCES): Likewise.
22519 (datehook_mod_CFLAGS): Likewise.
22520 (datehook_mod_LDFLAGS): Likewise.
22521
22522 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22523 and datehook.mod.
22524 (datetime_mod_SOURCES): New macro.
22525 (datetime_mod_CFLAGS): Likewise.
22526 (datetime_mod_LDFLAGS): Likewise.
22527 (date_mod_SOURCES): Likewise.
22528 (date_mod_CFLAGS): Likewise.
22529 (date_mod_LDFLAGS): Likewise.
22530 (datehook_mod_SOURCES): Likewise.
22531 (datehook_mod_CFLAGS): Likewise.
22532 (datehook_mod_LDFLAGS): Likewise.
22533
22534 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22535 and datehook.mod.
22536 (datetime_mod_SOURCES): New macro.
22537 (datetime_mod_CFLAGS): Likewise.
22538 (datetime_mod_LDFLAGS): Likewise.
22539 (date_mod_SOURCES): Likewise.
22540 (date_mod_CFLAGS): Likewise.
22541 (date_mod_LDFLAGS): Likewise.
22542 (datehook_mod_SOURCES): Likewise.
22543 (datehook_mod_CFLAGS): Likewise.
22544 (datehook_mod_LDFLAGS): Likewise.
22545
22546 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22547
22548 * commands/date.c: New file.
22549
22550 * hook/datehook.c: Likewise.
22551
22552 * include/grub/lib/datetime.h: Likewise.
22553
22554 * include/grub/i386/cmos.h: Likewise.
22555
22556 * lib/datetime.c: Likewise.
22557
22558 * lib/i386/datetime.c: Likewise.
22559
22560 * lib/efi/datetime.c: Likewise.
22561
22562 2008-08-14 Robert Millan <rmh@aybabtu.com>
22563
22564 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22565 (grub_mkelfimage_SOURCES): New variable.
22566 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22567
22568 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22569 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22570 * conf/powerpc-ieee1275.rmk: Likewise.
22571 * conf/i386-ieee1275.rmk: Likewise.
22572
22573 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22574 * kern/i386/coreboot/init.c: Likewise.
22575
22576 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22577 with `<grub/cpu/kernel.h>'.
22578 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22579 to ...
22580 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22581 * kern/i386/coreboot/startup.S: Likewise.
22582
22583 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22584 (GRUB_MOD_GAP): Remove.
22585 * include/grub/powerpc/kernel.h: New file.
22586 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22587 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22588 * include/grub/i386/kernel.h: New file.
22589 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22590 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22591 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22592
22593 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22594 `grub-mkelfimage'.
22595 Use --directory when invoking grub_mkimage.
22596
22597 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22598 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22599 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22600 and GRUB_KERNEL_CPU_PREFIX.
22601
22602 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22603
22604 * include/grub/err.h (grub_err_printf): New function prototype.
22605 * util/misc.c (grub_err_printf): New function.
22606 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22607 grub_printf.
22608 * kern/err.c (grub_print_error): Use grub_err_printf.
22609
22610 2008-08-13 Robert Millan <rmh@aybabtu.com>
22611
22612 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22613
22614 2008-08-13 Robert Millan <rmh@aybabtu.com>
22615
22616 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22617 boot entry.
22618
22619 2008-08-12 Robert Millan <rmh@aybabtu.com>
22620
22621 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22622 of the relocation code from here ...
22623 (grub_multiboot): ... to here.
22624 (forward_relocator, backward_relocator): Move from here ...
22625 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22626 (grub_multiboot_backward_relocator): ... to here.
22627 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22628 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22629 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22630 (grub_multiboot_forward_relocator_end)
22631 (grub_multiboot_backward_relocator)
22632 (grub_multiboot_backward_relocator_end): New variables.
22633
22634 2008-08-12 Bean <bean123ch@gmail.com>
22635
22636 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22637
22638 2008-08-11 Robert Millan <rmh@aybabtu.com>
22639
22640 * kern/i386/linuxbios/startup.S: Move from here ...
22641 * kern/i386/coreboot/startup.S: ... to here.
22642
22643 * kern/i386/linuxbios/init.c: Move from here ...
22644 * kern/i386/coreboot/init.c: ... to here.
22645
22646 * kern/i386/linuxbios/table.c: Move from here ...
22647 * kern/i386/coreboot/mmap.c: ... to here.
22648
22649 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22650
22651 2008-08-11 Robert Millan <rmh@aybabtu.com>
22652
22653 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22654 errors. Leave it to the upper layer to handle them.
22655
22656 2008-08-09 Christian Franke <franke@computer.org>
22657
22658 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22659 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22660 Install `grub.d/10_windows' only on Cygwin.
22661 * configure.ac: Add subst of `target_os'.
22662 Check `target_os' also before setting TARGET_OBJ2ELF.
22663 Add `--enable-grub-pe2elf'.
22664
22665 2008-08-08 Robert Millan <rmh@aybabtu.com>
22666
22667 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22668 (grub_last_time): Change type to grub_uint64_t.
22669 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22670 (grub_disk_close): Likewise.
22671
22672 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22673 (run_menu): Migrate code from to using grub_get_time_ms().
22674
22675 * util/misc.c (grub_get_time_ms): New function.
22676
22677 2008-08-08 Marco Gerards <marco@gnu.org>
22678
22679 * disk/ata.c (grub_ata_regget): Change return type to
22680 `grub_uint8_t'.
22681 (grub_ata_regget2): Likewise.
22682 (grub_ata_wait_status): New function.
22683 (grub_ata_wait_busy): Removed function, updated all users to use
22684 `grub_ata_wait_status'.
22685 (grub_ata_wait_drq): Likewise.
22686 (grub_ata_cmd): New function.
22687 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22688 error handling.
22689 (grub_ata_pio_write): Add error handling.
22690 (grub_atapi_identify): Likewise.
22691 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22692 handling.
22693 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22694 handling. Actually use the detected registers. Reorder the
22695 detection logic such that it is easier to read.
22696 (grub_ata_pciinit): Do not assign the same ID to each controller.
22697 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22698 handling.
22699 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22700
22701 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22702
22703 2008-08-08 Marco Gerards <marco@gnu.org>
22704
22705 * NEWS: Update.
22706
22707 2008-08-07 Bean <bean123ch@gmail.com>
22708
22709 * include/grub/x86_64/pci.h: New file.
22710
22711 2008-08-07 Christian Franke <franke@computer.org>
22712
22713 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22714 (TIMER2_GATE): Likewise.
22715 (grub_pit_wait): Add enable/disable of the timer2 gate
22716 bit of port 0x61. This fixes a possible infinite loop.
22717
22718 2008-08-07 Bean <bean123ch@gmail.com>
22719
22720 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22721 kern/i386/tsc.c and kern/i386/pit.c.
22722
22723 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22724 x86_64 platform.
22725
22726 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22727 <grub/i386/tsc.h>.
22728
22729 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22730
22731 2008-08-07 Bean <bean123ch@gmail.com>
22732
22733 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22734
22735 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22736
22737 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22738 multiple inclusion. Add #include <grub/types.h>.
22739
22740 2008-08-06 Christian Franke <franke@computer.org>
22741
22742 * conf/common.rmk: Build and install `10_windows'.
22743 * util/grub.d/10_windows.in: New script.
22744
22745 2008-08-06 Pavel Roskin <proski@gnu.org>
22746
22747 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22748
22749 2008-08-06 Robert Millan <rmh@aybabtu.com>
22750
22751 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22752 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22753
22754 2008-08-06 Bean <bean123ch@gmail.com>
22755
22756 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22757 (grub_pxefs_fs_int): Remove dummy definition.
22758 (grub_pxefs_open): Use data->block_size to store the current block
22759 size setting.
22760 (grub_pxefs_read): Use block size stored in data->block_size. As the
22761 value of grub_pxe_blksize can be changed after the file is opened.
22762
22763 2008-08-06 Bean <bean123ch@gmail.com>
22764
22765 * fs/i386/pc/pxe.c (curr_file): new variable.
22766 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22767 require the dummy internal file system anymore.
22768 (grub_pxefs_read): Removed.
22769 (grub_pxefs_close): Likewise.
22770 (grub_pxefs_fs_int): Likewise.
22771 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22772 connection when we switch file.
22773 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22774
22775 2008-08-06 Robert Millan <rmh@aybabtu.com>
22776
22777 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22778 `halt.mod'.
22779 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22780 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22781
22782 * kern/i386/halt.c: New file.
22783 * kern/i386/reboot.c: Likewise.
22784 * include/grub/i386/reboot.h: Likewise.
22785 * include/grub/i386/halt.h: Likewise.
22786
22787 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22788 Include `<grub/cpu/halt.h>'.
22789 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22790 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22791
22792 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22793 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22794 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22795 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22796 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22797 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22798 from here ...
22799 * include/grub/i386/at_keyboard.h: ... to here.
22800
22801 2008-08-05 Robert Millan <rmh@aybabtu.com>
22802
22803 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22804 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22805 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22806 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22807 `kern/generic/millisleep.c'.
22808
22809 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22810 instead of grub_get_rtc().
22811 (grub_tsc_init): Initialize `tsc_boot_time'.
22812
22813 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22814 (grub_machine_init): Use grub_tsc_init() rather than
22815 installing an RTC-based handler via grub_install_get_time_ms().
22816
22817 * kern/i386/pit.c: New file.
22818 * include/grub/i386/pit.h: Likewise.
22819
22820 2008-08-05 Bean <bean123ch@gmail.com>
22821
22822 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22823
22824 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22825 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22826 (pxe_mod_SOURCES): New macro.
22827 (pxe_mod_CFLAGS): Likewise.
22828 (pxe_mod_LDFLAGS): Likewise.
22829 (pxecmd_mod_SOURCES): Likewise.
22830 (pxecmd_mod_CFLAGS): Likewise.
22831 (pxecmd_mod_LDFLAGS): Likewise.
22832
22833 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22834 (grub_pxe_call): Likewise.
22835
22836 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22837
22838 * commands/i386/pc/pxecmd.c: New file.
22839
22840 * fs/i386/pc/pxe.c: Likewise.
22841
22842 * include/grub/i386/pc/pxe.h: Likewise.
22843
22844 2008-08-05 Bean <bean123ch@gmail.com>
22845
22846 * util/console.c (grub_console_cur_color): New variable.
22847 (grub_console_standard_color): Likewise.
22848 (grub_console_normal_color): Likewise.
22849 (grub_console_highlight_color): Likewise.
22850 (color_map): Likewise.
22851 (use_color): Likewise.
22852 (NUM_COLORS): New macro.
22853 (grub_ncurses_setcolorstate): Handle color properly.
22854 (grub_ncurses_setcolor): Don't change color here, just remember the
22855 settings, color will be set in grub_ncurses_setcolorstate.
22856 (grub_ncurses_getcolor): New function.
22857 (grub_ncurses_init): Initialize color pairs.
22858 (grub_ncurses_term): New member grub_ncurses_getcolor.
22859
22860 2008-08-05 Colin D Bennett <colin@gibibit.com>
22861
22862 High resolution timer support. Implemented for x86 CPUs using TSC.
22863 Extracted generic grub_millisleep() so it's linked in only as needed.
22864 This requires a Pentium compatible CPU; if the RDTSC instruction is
22865 not supported, then it falls back on the generic grub_get_time_ms()
22866 implementation that uses the machine's RTC.
22867
22868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22869 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22870 `kern/generic/millisleep.c'.
22871
22872 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22873 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22874
22875 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22876 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22877
22878 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22879
22880 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22881 `kern/generic/millisleep.c'.
22882
22883 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22884
22885 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22886
22887 * kern/generic/rtc_get_time_ms.c: New file.
22888
22889 * kern/generic/millisleep.c: New file.
22890
22891 * kern/misc.c: Don't include
22892 <kern/time.h> anymore.
22893 (grub_millisleep_generic): Removed.
22894
22895 * commands/sleep.c (grub_interruptible_millisleep): Uses
22896 grub_get_time_ms() instead of grub_get_rtc().
22897
22898 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22899 function.
22900 (grub_cpu_is_cpuid_supported): New inline function.
22901 (grub_cpu_is_tsc_supported): New inline function.
22902 (grub_tsc_init): New function prototype.
22903 (grub_tsc_get_time_ms): New function prototype.
22904
22905 * kern/i386/tsc.c (grub_get_time_ms): New file.
22906
22907 * include/grub/time.h: Include <grub/types.h.
22908 (grub_millisleep_generic): Removed.
22909 (grub_get_time_ms): New prototype.
22910 (grub_install_get_time_ms): New prototype.
22911 (grub_rtc_get_time_ms): New prototype.
22912
22913 * kern/time.c (grub_get_time_ms): New function.
22914 (grub_install_get_time_ms): New function.
22915
22916 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22917 <grub/time.h> anymore.
22918 (grub_millisleep): Removed.
22919 (grub_machine_init): Call grub_tsc_init.
22920
22921 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22922 get_time_ms() implementation.
22923
22924 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22925 (ieee1275_get_time_ms): New function.
22926 (grub_machine_init): Install get_time_ms() implementation.
22927
22928 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22929 (grub_machine_init): Call grub_tsc_init().
22930 (grub_millisleep): Removed.
22931
22932 * kern/ieee1275/init.c (grub_millisleep): Removed.
22933 (grub_machine_init): Install ieee1275_get_time_ms()
22934 implementation.
22935 (ieee1275_get_time_ms): New function.
22936 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22937 real work.
22938
22939 2008-08-05 Marco Gerards <marco@gnu.org>
22940
22941 * disk/ata.c: Include <grub/pci.h>.
22942 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22943 (grub_ata_initialize): Rewritten.
22944 (grub_ata_device_initialize): New function.
22945
22946 2008-08-04 Pavel Roskin <proski@gnu.org>
22947
22948 * kern/main.c: Include grub/mm.h.
22949
22950 2008-08-04 Robert Millan <rmh@aybabtu.com>
22951
22952 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22953 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22954 corruption problem).
22955
22956 2008-08-04 Robert Millan <rmh@aybabtu.com>
22957
22958 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22959 warnings introduced in my last commit.
22960
22961 2008-08-03 Robert Millan <rmh@aybabtu.com>
22962
22963 Make PCI available on all i386 architectures.
22964
22965 * include/grub/i386/pc/pci.h: Move from here ...
22966 * include/grub/i386/pci.h: ... to here.
22967
22968 * include/grub/i386/pc/pci.h: Remove.
22969 * include/grub/i386/efi/pci.h: Remove.
22970 * include/grub/x86_64/efi/pci.h: Remove.
22971
22972 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22973 `<grub/cpu/pci.h>'.
22974
22975 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22976 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22977 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22978
22979 * conf/i386-ieee1275.rmk: Likewise.
22980
22981 2008-08-03 Robert Millan <rmh@aybabtu.com>
22982
22983 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22984 (grub_console_setcursor): Make it possible to set cursor off.
22985
22986 2008-08-03 Robert Millan <rmh@aybabtu.com>
22987
22988 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22989 of modules instead of assuming which platform provides what.
22990 * util/update-grub.in: Likewise.
22991
22992 2008-08-03 Robert Millan <rmh@aybabtu.com>
22993
22994 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22995 instead of `grub_install_dos_part' to determine whether a drive needs
22996 to be prepended to prefix (`grub_install_dos_part' is not reliable,
22997 because it can be overridden when loading GRUB via Multiboot).
22998
22999 2008-08-02 Robert Millan <rmh@aybabtu.com>
23000
23001 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23002
23003 2008-08-02 Robert Millan <rmh@aybabtu.com>
23004
23005 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23006 of informational grub_dprintf() calls.
23007
23008 2008-08-02 Robert Millan <rmh@aybabtu.com>
23009
23010 * disk/memdisk.c (memdisk_size): Don't initialize.
23011 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23012
23013 * include/grub/i386/pc/kernel.h
23014 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23015 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23016 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23017 (grub_arch_memdisk_size): Remove.
23018
23019 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23020 field (was only used to transfer a constant). Add `type' field to
23021 support multiple module types.
23022 (grub_module_iterate): New function.
23023
23024 * kern/device.c (grub_device_open): Do not hide error messages
23025 when grub_disk_open() fails. Use grub_print_error() instead.
23026
23027 * kern/i386/pc/init.c (grub_arch_modules_addr)
23028 (grub_arch_memdisk_size): Remove functions.
23029 (grub_arch_modules_addr): Return the module address in high memory
23030 (now that it isn't copied anymore).
23031
23032 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23033 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23034 decompression routine (grub_total_module_size already includes that
23035 now). Don't copy modules back to low memory.
23036
23037 * kern/main.c: Include `<grub/mm.h>'.
23038 (grub_load_modules): Split out (and use) ...
23039 (grub_module_iterate): ... this function, which iterates through
23040 module objects and runs a hook.
23041 Comment out grub_mm_init_region() call, as it would cause non-ELF
23042 modules to be overwritten.
23043
23044 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23045 the memdisk image in its own region, make it part of the module list.
23046 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23047 (main): Parse --memdisk|-m option, and pass user-provided path as
23048 parameter to generate_image().
23049 (add_segments): Pass `memdisk_path' down to load_modules().
23050 (load_modules): Embed memdisk image in module section when requested.
23051 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23052 `header.type' instead of `header.offset'.
23053
23054 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23055 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23056 (memdisk_mod_LDFLAGS): New variables.
23057 * conf/i386-coreboot.rmk: Likewise.
23058 * conf/i386-ieee1275.rmk: Likewise.
23059
23060 2008-08-02 Robert Millan <rmh@aybabtu.com>
23061
23062 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23063 (backward_relocator): New variables. Used to allocate and relocate
23064 the payload, respectively.
23065 (grub_multiboot_load_elf32): Load into heap instead of requested
23066 address, install the appropriate relocator code in each bound of
23067 the payload, and set the entry point such that
23068 grub_multiboot_real_boot() will jump to one of them.
23069
23070 * kern/i386/loader.S (grub_multiboot_payload_size)
23071 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23072 (grub_multiboot_payload_entry_offset): New variables.
23073 (grub_multiboot_real_boot): Set cpu context to what the relocator
23074 expects, and jump to the relocator instead of the payload.
23075
23076 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23077 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23078 (grub_multiboot_payload_entry_offset): Export.
23079
23080 2008-08-01 Bean <bean123ch@gmail.com>
23081
23082 * normal/menu_entry.c (editor_getline): Don't return the original
23083 string as result, as it will be released by lexer once it has done
23084 using it.
23085
23086 2008-08-01 Robert Millan <rmh@aybabtu.com>
23087
23088 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23089 within menuentries, not before them.
23090 util/grub.d/10_hurd.in: Likewise.
23091
23092 2008-08-01 Bean <bean123ch@gmail.com>
23093
23094 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23095 (bufio_mod_SOURCES): New macro.
23096 (bufio_mod_CFLAGS): Likewise.
23097 (bufio_mod_LDFLAGS): Likewise.
23098
23099 * include/grub/bufio.h: New file.
23100
23101 * io/bufio.c: Likewise.
23102
23103 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23104 (grub_video_reader_png): Use grub_buffile_open to open file.
23105
23106 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23107 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23108
23109 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23110 (grub_video_reader_tga): Use grub_buffile_open to open file.
23111
23112 * font/manager.c: Include <grub/bufio.h>.
23113 (add_font): Use grub_buffile_open to open file.
23114
23115 2008-07-31 Robert Millan <rmh@aybabtu.com>
23116
23117 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23118 ELF segments, use a macro for arbitrarily accessing any of them instead
23119 of preparing a pointer that allows access to one at a time.
23120 (grub_multiboot_load_elf64): Likewise.
23121
23122 2008-07-31 Bean <bean123ch@gmail.com>
23123
23124 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23125 GRUB_KERNEL_MACHINE_DATA_END.
23126
23127 2008-07-30 Robert Millan <rmh@aybabtu.com>
23128
23129 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23130 Increase from 0x50 to 0x60.
23131 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23132 use UUIDs to identify the root drive for them. If that's not
23133 possible, abort.
23134 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23135 check, for cross-disk installs.
23136
23137 2008-07-30 Robert Millan <rmh@aybabtu.com>
23138
23139 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23140 is non-empty, use it to set the `prefix' environment variable instead
23141 of the usual approach.
23142 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23143 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23144 environment variable instead of dummy make_install_device().
23145
23146 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23147 (start): Insert a data section, with `grub_prefix' variable.
23148 * kern/i386/linuxbios/startup.S: Likewise.
23149
23150 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23151 New variable reference.
23152 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23153 New macro. Defines offset of `grub_prefix' within startup.S (relative
23154 to `start').
23155 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23156 section within startup.S (relative to `start').
23157 * include/grub/i386/coreboot/kernel.h: Likewise.
23158
23159 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23160 Overwrite grub_prefix with its contents, at the beginning of the
23161 first segment.
23162 (main): Understand -p|--prefix.
23163
23164 2008-07-30 Robert Millan <rmh@aybabtu.com>
23165
23166 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23167
23168 2008-07-30 Robert Millan <rmh@aybabtu.com>
23169
23170 * term/i386/pc/vga_text.c (grub_console_cls): Use
23171 grub_console_gotoxy() to go back to beginning of the screen.
23172 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23173
23174 2008-07-29 Christian Franke <franke@computer.org>
23175
23176 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23177 Add conversion of emulated mount points on Cygwin.
23178
23179 2008-07-29 Christian Franke <franke@computer.org>
23180
23181 * util/update-grub.in: Add a check for admin
23182 group on Cygwin.
23183 Remove old `grub.cfg.new' before creation.
23184 Add `-f' to `mv' to handle the different filesystem
23185 semantics of Windows.
23186
23187 2008-07-29 Bean <bean123ch@gmail.com>
23188
23189 * normal/main.c (get_line): Fix buffer overflow bug.
23190
23191 2008-07-28 Robert Millan <rmh@aybabtu.com>
23192
23193 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23194 (struct grub_apple_header): New struct. Describes the layout of
23195 the partmap header.
23196 (apple_partition_map_iterate): Check the header magic as well as the
23197 partition magic (which was already being checked).
23198
23199 2008-07-28 Pavel Roskin <proski@gnu.org>
23200
23201 * genmk.rb: Add a warning to the beginning of the output that
23202 it's a generated file and should not be edited.
23203
23204 2008-07-28 Robert Millan <rmh@aybabtu.com>
23205
23206 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23207 with the same number are found, just use issue a warning with
23208 grub_dprintf(), as this error has been reported to be non-fatal.
23209
23210 2008-07-27 Robert Millan <rmh@aybabtu.com>
23211
23212 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23213 information.
23214
23215 2008-07-27 Bean <bean123ch@gmail.com>
23216
23217 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23218 (grub_fat_find_dir): Ignore case when comparing filename.
23219
23220 2008-07-27 Bean <bean123ch@gmail.com>
23221
23222 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23223 smallino, as it's more descriptive, and i8count can be confused with
23224 the other field count.
23225 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23226 inode type.
23227
23228 2008-07-27 Bean <bean123ch@gmail.com>
23229
23230 * commands/crc.c: New file.
23231
23232 * lib/crc.c: Likewise.
23233
23234 * include/grub/lib/crc.h: Likewise.
23235
23236 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23237
23238 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23239 (hexdump): Move this function to ...
23240
23241 * lib/hexdump.c: ... here.
23242
23243 * include/grub/hexdump.h: Renamed to ...
23244
23245 * include/grub/lib/hexdump.h: ... this.
23246
23247 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23248
23249 * util/grub-editenv.c: Likewise.
23250
23251 * include/envblk.h: Renamed to ...
23252
23253 * include/lib/envblk.h: ... this.
23254
23255 * util/envblk.c: Renamed to ...
23256
23257 * lib/envblk.c: ... this.
23258
23259 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23260 lib/hexdump.c.
23261 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23262 (pkglib_MODULES): Add crc.mod.
23263 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23264 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23265 (crc_mod_SOURCES): New macro.
23266 (crc_mod_CFLAGS): Likewise.
23267 (crc_mod_LDFLAGS): Likewise.
23268
23269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23270
23271 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23272
23273 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23274
23275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23276
23277 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23278
23279 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23280
23281 * commands/help.c: Include <grub/term.h>.
23282 (TERM_WIDTH): Removed. Updated all users.
23283
23284 2008-07-27 Pavel Roskin <proski@gnu.org>
23285
23286 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23287 spurious warnings about a comment within a comment.
23288
23289 2008-07-25 Robert Millan <rmh@aybabtu.com>
23290
23291 * util/getroot.c (find_root_device): Skip devices that match
23292 /dev/dm-[0-9]. This lets the real device be found for any type of
23293 abstraction (LVM, EVMS, RAID..).
23294 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23295 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23296 device is found first, find_root_device() will now skip it.
23297
23298 2008-07-24 Pavel Roskin <proski@gnu.org>
23299
23300 * include/grub/types.h: Use __builtin_bswap32() and
23301 __builtin_bswap64() with gcc 4.3 and newer.
23302
23303 2008-07-24 Christian Franke <franke@computer.org>
23304
23305 * util/i386/pc/grub-install.in: If `--debug' is specified,
23306 pass `--verbose' to grub-setup.
23307 Abort script if make_system_path_relative_to_its_root() fails.
23308
23309 2008-07-24 Bean <bean123ch@gmail.com>
23310
23311 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23312 variable `target_platform' should be `platform'.
23313
23314 2008-07-24 Bean <bean123ch@gmail.com>
23315
23316 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23317 (grub_png_init_fixed_block): New function.
23318 (grub_png_decode_image_data): Handle fixed huffman code compression.
23319
23320 2008-07-24 Bean <bean123ch@gmail.com>
23321
23322 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23323 (grub_pe2elf_SOURCES): New macro.
23324 (CLEANFILES): Add grub-pe2elf.
23325
23326 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23327 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23328 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23329 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23330 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23331 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23332 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23333 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23334 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23335 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23336 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23337 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23338 (GRUB_PE32_DT_FUNCTION): Likewise.
23339 (GRUB_PE32_REL_I386_DIR32): Likewise.
23340 (GRUB_PE32_REL_I386_REL32): Likewise.
23341 (grub_pe32_symbol): New structure.
23342 (grub_pe32_reloc): Likewise.
23343
23344 * util/grub-pe2elf.c: New file.
23345
23346 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23347 start symbol in non pc platform.
23348
23349 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23350
23351 The following patches are from Christian Franke.
23352
23353 * include/grub/dl.h: Remove .previous, gas supports this only
23354 for ELF format.
23355
23356 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23357 Remove .type, gas supports this only for ELF format.
23358
23359 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23360 nullbytes in symbol table. This fixes an infinite loop if table is
23361 zero filled.
23362
23363 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23364 TARGET_IMG_LDFLAGS and EXEEXT.
23365
23366 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23367 TARGET_IMG_LDFLAGS_AC.
23368 (grub_CHECK_STACK_ARG_PROBE): New function.
23369
23370 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23371
23372 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23373
23374 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23375 to set TARGET_IMG_LD* accordingly.
23376 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23377 Add call to grub_CHECK_STACK_ARG_PROBE.
23378 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23379
23380 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23381
23382 * genmk.rb: Add EXEEXT to CLEANFILES.
23383
23384 2008-07-23 Robert Millan <rmh@aybabtu.com>
23385
23386 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23387 define the codes for arrows and lines used for the menu).
23388 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23389 as well.
23390
23391 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23392 fonts, because the latter are too slow.
23393
23394 2008-07-21 Bean <bean123ch@gmail.com>
23395
23396 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23397 a20. Run keyboard test last, as it will cause macbook to halt.
23398
23399 2008-07-18 Pavel Roskin <proski@gnu.org>
23400
23401 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23402 load foreign architecture modules correctly anyway. Keep
23403 support for loading host architecture modules, whether we
23404 compile them or not.
23405
23406 2008-07-17 Pavel Roskin <proski@gnu.org>
23407
23408 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23409 change target_cpu. The compiler default can mismatch target_cpu
23410 in any case.
23411
23412 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23413 * kern/efi/efi.c: Likewise.
23414
23415 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23416 target compiler is functional.
23417 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23418 are set up.
23419
23420 * configure.ac: Default to efi platform for x86_64-apple. Allow
23421 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23422 adjustments from the rest, only do them if target is not
23423 explicitly given. Merge other adjustments with the final sanity
23424 check. Remove an extraneous check for supported CPU. Be
23425 specific which CPU and which platform is not supported.
23426
23427 * configure.ac: Default to pc platform for x86_64.
23428
23429 2008-07-17 Robert Millan <rmh@aybabtu.com>
23430
23431 Partial LinuxBIOS -> Coreboot rename.
23432
23433 * conf/i386-linuxbios.rmk: Renamed to ...
23434 * conf/i386-coreboot.rmk: ... this.
23435 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23436 * configure.ac: Accept "coreboot" as input platform (but maintain
23437 compatibility with "linuxbios").
23438 * include/grub/i386/linuxbios: Renamed to ...
23439 * include/grub/i386/coreboot: ... this.
23440
23441 2008-07-17 Bean <bean123ch@gmail.com>
23442
23443 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23444 (appleldr_mod_SOURCE): New variable.
23445 (appleldr_mod_CFLAGS): Likewise.
23446 (appleldr_mod_LDFLAGS): Likewise.
23447 (pci_mod_SOURCES): Likewise.
23448 (pci_mod_CFLAGS): Likewise.
23449 (pci_mod_LDFLAGS): Likewise.
23450 (lspci_mod_SOURCES): Likewise.
23451 (lspci_mod_CFLAGS): Likewise.
23452 (lspci_mod_LDFLAGS): Likewise.
23453
23454 * conf/x86_64-efi.rmk: New file.
23455
23456 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23457 macro.
23458 (grub_efidisk_write): Likewise.
23459
23460 * include/efi/api.h (efi_call_0): New macro.
23461 (efi_call_1): Likewise.
23462 (efi_call_2): Likewise.
23463 (efi_call_3): Likewise.
23464 (efi_call_4): Likewise.
23465 (efi_call_5): Likewise.
23466 (efi_call_6): Likewise.
23467
23468 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23469 grub_rescue_cmd_chainloader.
23470
23471 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23472 (grub_pe32_optional_header): Change some fields based on i386 or
23473 x86_64 platform.
23474 (GRUB_PE32_PE32_MAGIC): Likewise.
23475
23476 * include/grub/efi/uga_draw.h: New file.
23477
23478 * include/grub/elf.h (STN_ABS): New constant.
23479 (R_X86_64_NONE): Relocation constant for x86_64.
23480 (R_X86_64_64): Likewise.
23481 (R_X86_64_PC32): Likewise.
23482 (R_X86_64_GOT32): Likewise.
23483 (R_X86_64_PLT32): Likewise.
23484 (R_X86_64_COPY): Likewise.
23485 (R_X86_64_GLOB_DAT): Likewise.
23486 (R_X86_64_JUMP_SLOT): Likewise.
23487 (R_X86_64_RELATIVE): Likewise.
23488 (R_X86_64_GOTPCREL): Likewise.
23489 (R_X86_64_32): Likewise.
23490 (R_X86_64_32S): Likewise.
23491 (R_X86_64_16): Likewise.
23492 (R_X86_64_PC16): Likewise.
23493 (R_X86_64_8): Likewise.
23494 (R_X86_64_PC8): Likewise.
23495
23496 * include/grub/i386/efi/pci.h: New file.
23497
23498 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23499 Change it value based on platform.
23500 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23501 (GRUB_E820_RAM): Likewise.
23502 (GRUB_E820_RESERVED): Likewise.
23503 (GRUB_E820_ACPI): Likewise.
23504 (GRUB_E820_NVS): Likewise.
23505 (GRUB_E820_EXEC_CODE): Likewise.
23506 (GRUB_E820_MAX_ENTRY): Likewise.
23507 (grub_e820_mmap): New structure.
23508 (linux_kernel_header): Change the efi field according to different
23509 kernel version, also field from linux_kernel_header.
23510
23511 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23512
23513 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23514 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23515 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23516 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23517 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23518 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23519 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23520 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23521 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23522 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23523
23524 * include/grub/x86_64/efi/kernel.h: New file.
23525
23526 * include/grub/x86_64/efi/loader.h: Likewise.
23527
23528 * include/grub/x86_64/efi/machine.h: Likewise.
23529
23530 * include/grub/x86_64/efi/pci.h: Likewise.
23531
23532 * include/grub/x86_64/efi/time.h: Likewise.
23533
23534 * include/grub/x86_64/linux.h: Likewise.
23535
23536 * include/grub/x86_64/setjmp.h: Likewise.
23537
23538 * include/grub/x86_64/time.h: Likewise.
23539
23540 * include/grub/x86_64/types.h: Likewise.
23541
23542 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23543 GRUB_TARGET_SIZEOF_VOID_P.
23544
23545 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23546 (grub_efi_locate_handle): Likewise.
23547 (grub_efi_open_protocol): Likewise.
23548 (grub_efi_set_text_mode): Likewise.
23549 (grub_efi_stall): Likewise.
23550 (grub_exit): Likewise.
23551 (grub_reboot): Likewise.
23552 (grub_halt): Likewise.
23553 (grub_efi_exit_boot_services): Likewise.
23554 (grub_get_rtc): Likewise.
23555
23556 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23557 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23558 (grub_efi_allocate_pages): Wrap efi calls.
23559 (grub_efi_free_pages): Wrap efi calls.
23560 (grub_efi_get_memory_map): Wrap efi calls.
23561
23562 * kern/x86_64/dl.c: New file.
23563
23564 * kern/x86_64/efi/callwrap.S: Likewise.
23565
23566 * kern/x86_64/efi/startup.S: Likewise.
23567
23568 * loader/efi/appleloader.c: Likewise.
23569
23570 * loader/efi/chainloader.c (cmdline): New variable.
23571 (grub_chainloader_unload): Wrap efi calls.
23572 (grub_chainloader_boot): Likewise.
23573 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23574 command line.
23575
23576 * loader/efi/chainloader_normal.c (chainloader_command):
23577 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23578 command line.
23579
23580 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23581 method.
23582 (grub_e820_add_region): New function.
23583 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23584 booting.
23585 (grub_find_video_card): New function.
23586 (grub_linux_setup_video): New function.
23587 (grub_rescue_cmd_linux): Probe for video information.
23588
23589 * normal/x86_64/setjmp.S: New file.
23590
23591 * term/efi/console.c (map_char): New function.
23592 (grub_console_putchar): Map unicode char.
23593 (grub_console_checkkey): Wrap efi calls.
23594 (grub_console_getkey): Likewise.
23595 (grub_console_getwh): Likewise.
23596 (grub_console_gotoxy): Likewise.
23597 (grub_console_cls): Likewise.
23598 (grub_console_setcolorstate): Likewise.
23599 (grub_console_setcursor): Likewise.
23600
23601 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23602
23603 2008-07-16 Pavel Roskin <proski@gnu.org>
23604
23605 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23606 format strings.
23607
23608 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23609 pointer, not an integer. This fixes a warning and prevents
23610 precision loss on 64-bit systems.
23611 (relocate_addresses): Remove unneeded cast.
23612
23613 2008-07-15 Pavel Roskin <proski@gnu.org>
23614
23615 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23616
23617 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23618
23619 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23620 Fix comparison between signed and unsigned.
23621
23622 * include/grub/i386/ieee1275/console.h: Declare
23623 grub_console_init() and grub_console_fini().
23624
23625 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23626 It's empty and unused.
23627
23628 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23629 beginning to avoid warnings with some compilers.
23630
23631 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23632 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23633
23634 2008-07-14 Pavel Roskin <proski@gnu.org>
23635
23636 * kern/env.c (grub_register_variable_hook): Don't copy empty
23637 string, it leaks memory. Pass "" to grub_env_set(), it should
23638 handle constant strings.
23639
23640 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23641 * commands/cmp.c (grub_cmd_cmp): Likewise.
23642 * kern/dl.c (grub_dl_flush_cache): Likewise.
23643 (grub_dl_load_core): Likewise.
23644 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23645 (grub_elf64_load_phdrs): Likewise.
23646
23647 2008-07-13 Pavel Roskin <proski@gnu.org>
23648
23649 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23650 between signed and unsigned.
23651 (LzmaEnc_Finish): Fix warning about an unused parameter.
23652
23653 2008-07-13 Bean <bean123ch@gmail.com>
23654
23655 * Makefile.in (enable_lzo): New rule.
23656
23657 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23658
23659 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23660
23661 * boot/i386/pc/lnxboot.S: #include <config.h>.
23662
23663 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23664 its value according to the compression algorithm used, lzo or lzma.
23665
23666 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23667 compression algorithm according to configure macro.
23668
23669 * kern/i386/pc/startup.S (codestart): Likewise.
23670
23671 * kern/i386/pc/lzma_decode.S: New file.
23672
23673 * include/grub/lib/LzFind.h: Likewise.
23674
23675 * include/grub/lib/LzHash.h: Likewise.
23676
23677 * include/grub/lib/LzmaDec.h: Likewise.
23678
23679 * include/grub/lib/LzmaEnc.h: Likewise.
23680
23681 * include/grub/lib/LzmaTypes.h: Likewise.
23682
23683 * lib/LzFind.c: Likewise.
23684
23685 * lib/LzmaDec.c: Likewise.
23686
23687 * lib/LzmaEnc.c: Likewise.
23688
23689 2008-07-13 Bean <bean123ch@gmail.com>
23690
23691 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23692 (grub_ext4_extent_header): New structure.
23693 (grub_ext4_extent): Likewise.
23694 (grub_ext4_extent_idx): Likewise.
23695 (grub_ext4_find_leaf): New function.
23696 (grub_ext2_read_block): Handle extents.
23697
23698 2008-07-12 Robert Millan <rmh@aybabtu.com>
23699
23700 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23701
23702 2008-07-11 Robert Millan <rmh@aybabtu.com>
23703
23704 * util/grub.d/40_custom.in: New file. Example on how to add custom
23705 entries to /etc/grub.d.
23706 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23707 40_custom (implicitly, by merging all the grub.d rules).
23708
23709 2008-07-11 Pavel Roskin <proski@gnu.org>
23710
23711 * commands/read.c (grub_getline): Fix invalid memory access.
23712 Don't add newline to the variable value.
23713
23714 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23715 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23716 (serial_hw_get_port): Check validity of the port number.
23717 (grub_cmd_serial): Check return value of serial_hw_get_port().
23718
23719 2008-07-07 Pavel Roskin <proski@gnu.org>
23720
23721 * boot/i386/pc/diskboot.S (notification_string): Replace
23722 "Loading kernel" with just "loading". This is shorter, less
23723 confusing and saves a few bytes for possible future changes.
23724
23725 2008-07-05 Pavel Roskin <proski@gnu.org>
23726
23727 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23728 size for ATAPI devices, they are undefined. Output sector
23729 number in decimal form.
23730
23731 * disk/ata.c: Use named constants for status bits.
23732
23733 2008-07-04 Pavel Roskin <proski@gnu.org>
23734
23735 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23736 grub_addr_t before casting it to the void pointer to fix a
23737 warning. Non-addressable regions are discarded earlier.
23738 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23739 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23740 (check_signature): Don't shadow table_header.
23741 (grub_linuxbios_table_iterate): Cast numeric constants to
23742 grub_linuxbios_table_header_t.
23743 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23744 grub_stop().
23745
23746 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23747 prevent warnings.
23748
23749 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23750 pointer, which can cause warnings. Support 64-bit addresses.
23751
23752 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23753 of sizeof(long). This fixes PowerPC image generation on x86_64.
23754
23755 2008-07-04 Robert Millan <rmh@aybabtu.com>
23756
23757 This fixes a performance issue when pc & gpt partmap iterators
23758 didn't abort iteration even after our hook found what it was
23759 looking for (often causing expensive probes of non-existent drives).
23760
23761 Some callers relied on previous buggy behaviour, since they would
23762 raise an error when their own hooks caused early abortion of its
23763 iteration.
23764
23765 * kern/device.c (grub_device_open): Improve error message.
23766 * disk/lvm.c (grub_lvm_open): Likewise.
23767 * disk/raid.c (grub_raid_open): Likewise.
23768
23769 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23770 when hook requests it, independently of grub_errno.
23771 (pc_partition_map_probe): Do not fail when find_func() caused
23772 early abortion of pc_partition_map_iterate().
23773
23774 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23775 when hook requests it, independently of grub_errno.
23776 (gpt_partition_map_probe): Do not fail when find_func() caused
23777 early abortion of gpt_partition_map_iterate().
23778
23779 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23780 when hook requests it, independently of grub_errno. Do not fail when
23781 part_map_iterate_hook() caused early abortion of p->iterate().
23782
23783 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23784 when grub_partition_iterate() returned with non-zero.
23785
23786 2008-07-03 Pavel Roskin <proski@gnu.org>
23787
23788 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23789 like we do in grub_ata_pio_read().
23790 (grub_ata_readwrite): Always write individual sectors. Fix the
23791 sector count for the remainder.
23792 (grub_ata_write): Enable writing to ATA devices. Correctly
23793 report error for ATAPI devices.
23794
23795 2008-07-02 Pavel Roskin <proski@gnu.org>
23796
23797 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23798 warning.
23799
23800 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23801 for every read sector, we already increment it for the whole
23802 batch. This fixes reading more than 256 sectors at once.
23803
23804 * util/grub-editenv.c (cmd_info): Cast argument to long
23805 explicitly. ptrdiff_t reduces to int on i386.
23806
23807 * util/grub-editenv.c (main): Be specific which parameter is
23808 missing.
23809
23810 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23811 (memdisk): Make memdisk_orig_addr a pointer.
23812
23813 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23814 for file offsets, use grub_off_t instead. Fix printf format
23815 warnings.
23816
23817 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23818 there. Real unexpected warnings should not drown in the noise
23819 about known problems.
23820
23821 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23822 grub_disk_addr_t for memory addresses.
23823
23824 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23825 explicitly to fix a warning.
23826
23827 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23828
23829 * Makefile.in (MODULE_LDFLAGS): New variable.
23830 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23831 the linker accepts --build-id=none.
23832 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23833 MODULE_LDFLAGS.
23834 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23835
23836 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23837 those in Linux XFS code. Provide a way to access 64-bit parent
23838 inode.
23839 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23840 the end of struct grub_xfs_dir_header.
23841
23842 2008-07-02 Bean <bean123ch@gmail.com>
23843
23844 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23845 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23846 and GRUB_IEEE1275_FLAG_NO_ANSI.
23847
23848 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23849 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23850 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23851
23852 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23853 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23854
23855 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23856 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23857
23858 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23859 esc sequence on non ANSI terminal.
23860 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23861
23862 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23863 beginning of file.
23864
23865 2008-07-02 Bean <bean123ch@gmail.com>
23866
23867 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23868 (grub_editenv_SOURCES): New variable.
23869 (pkglib_MODULES): Add loadenv.mod.
23870 (loadenv_mod_SOURCES): New variable.
23871 (loadenv_mod_CFLAGS): Likewise.
23872 (loadenv_mod_LDFLAGS): Likewise.
23873
23874 * include/grub/envblk.h: New file.
23875
23876 * util/envblk.c: New file.
23877
23878 * util/grub-editenv.c: New file.
23879
23880 * commands/loadenv.c: New file.
23881
23882 2008-07-01 Pavel Roskin <proski@gnu.org>
23883
23884 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23885 not unsigned char. This fixes warnings and is consistent with
23886 other tags.
23887
23888 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23889
23890 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23891
23892 * term/tparm.c (analyze): Always set *popcount.
23893
23894 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23895 cast to fix a warning.
23896
23897 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23898 cast to suppress a warning.
23899
23900 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23901 grub_fshelp_read_file() expects.
23902
23903 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23904 write uuid as a 32-bit value in CPU byte order, so declare and
23905 use it as such.
23906
23907 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23908 long if the format specifier expects it.
23909 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23910 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23911 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23912 long to fix a warning.
23913 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23914 grub_dprintf() arguments to fix warnings.
23915
23916 2008-06-30 Pavel Roskin <proski@gnu.org>
23917
23918 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23919 install_bsd_part immediately before core.img is embedded or
23920 modified on disk. This fixes core.img verification if core.img
23921 cannot be embedded.
23922
23923 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23924 core_path to calculate the blocklist.
23925 Patch from Javier Martín <lordhabbit@gmail.com>
23926
23927 2008-06-29 Robert Millan <rmh@aybabtu.com>
23928
23929 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23930 block to disk block.
23931 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23932 Patch from Niels Böhm <bitbucket@arcor.de>
23933
23934 2008-06-29 Robert Millan <rmh@aybabtu.com>
23935
23936 * util/update-grub_lib.in (font_path): Search for fonts in
23937 /boot/grub first, which is more likely to be readable (we aren't
23938 deciding where fonts live, just looking for them).
23939
23940 2008-06-26 Pavel Roskin <proski@gnu.org>
23941
23942 * util/biosdisk.c (read_device_map): Don't leave dead map
23943 entries for devices failing stat() check.
23944
23945 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23946 core_path_dev for the core.img path on the target device.
23947
23948 2008-06-26 Robert Millan <rmh@aybabtu.com>
23949
23950 * disk/fs_uuid.c: New file.
23951 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23952 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23953 (fs_uuid_mod_LDFLAGS): New variables.
23954 * include/grub/disk.h (grub_disk_dev_id): Add
23955 `GRUB_DISK_DEVICE_UUID_ID'.
23956 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23957 implement iterate().
23958
23959 2008-06-26 Robert Millan <rmh@aybabtu.com>
23960
23961 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23962 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23963 Linux image includes no initrd.
23964
23965 2008-06-21 Javier Martín <lordhabbit@gmail.com>
23966
23967 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23968 call to resolve the core image location that effectively appended the
23969 name twice.
23970
23971 2008-06-21 Robert Millan <rmh@aybabtu.com>
23972
23973 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23974 call from here ...
23975
23976 * util/grub.d/10_hurd.in: ... to here ...
23977 * util/grub.d/10_linux.in: ... and here.
23978
23979 2008-06-19 Robert Millan <rmh@aybabtu.com>
23980
23981 * kern/main.c (grub_main): Export `prefix' variable immediately
23982 after it has been set by grub_machine_set_prefix().
23983
23984 2008-06-19 Robert Millan <rmh@aybabtu.com>
23985
23986 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23987 search result when not saving to variable, not the other way around.
23988 When saving to variable, abort iteration as soon as a match is found.
23989
23990 2008-06-19 Robert Millan <rmh@aybabtu.com>
23991
23992 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23993 check for partition that provides /boot/grub. Its logic is flawed,
23994 as it prevents prepare_grub_to_access_device() from being called
23995 multiple times.
23996
23997 2008-06-19 Robert Millan <rmh@aybabtu.com>
23998
23999 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24000 "insmod" command directly when abstraction modules are needed,
24001 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24002 since it had already been processed).
24003
24004 2008-06-19 Pavel Roskin <proski@gnu.org>
24005
24006 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24007 changed. This is needed in case GRUB_LIBDIR changes.
24008 * conf/i386-ieee1275.rmk: Likewise.
24009 * conf/i386-linuxbios.rmk: Likewise.
24010 * conf/i386-pc.rmk: Likewise.
24011 * conf/powerpc-ieee1275.rmk: Likewise.
24012
24013 2008-06-18 Pavel Roskin <proski@gnu.org>
24014
24015 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24016 kernel_elf_symlist.c to symlist.c for consistency with other
24017 architectures. Update all users.
24018 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24019
24020 2008-06-18 Robert Millan <rmh@aybabtu.com>
24021
24022 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24023 it in prefix.
24024
24025 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24026 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24027 a RAID device, run setup() for all members independently on whether
24028 LVM abstraction is being used.
24029 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24030 If grub-mkimage has set `*install_dos_part == -2', don't override this
24031 value.
24032 Perform *install_dos_part adjustments independently on whether
24033 we're embedding or not.
24034 Clarify error message when image is too big for embedding.
24035 Remove duplicate *install_dos_part stanza.
24036
24037 2008-06-17 Robert Millan <rmh@aybabtu.com>
24038
24039 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24040 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24041 variables.
24042 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24043 values in grub_ofconsole_normal_color and
24044 grub_ofconsole_highlight_color (they're not directly related to
24045 background and foreground).
24046 (grub_ofconsole_setcolorstate): Extract background and foreground
24047 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24048
24049 2008-06-17 Robert Millan <rmh@aybabtu.com>
24050
24051 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24052 /boot/grub for the check in last commit, not /boot (they could be
24053 different partitions).
24054
24055 2008-06-16 Robert Millan <rmh@aybabtu.com>
24056
24057 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24058 asked to setup access for the same partition that provides /boot,
24059 don't bother using UUIDs since our root already has the value we
24060 want.
24061
24062 2008-06-16 Robert Millan <rmh@aybabtu.com>
24063
24064 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24065 I2O devices.
24066 Patch from Sven Mueller <sven@debian.org>.
24067
24068 2008-06-16 Robert Millan <rmh@aybabtu.com>
24069
24070 * util/update-grub.in: Check for $EUID instead of $UID.
24071 Reported by Vincent Zweije.
24072
24073 2008-06-16 Bean <bean123ch@gmail.com>
24074
24075 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24076 (grub_ext2_read_block): Likewise.
24077 (grub_ext2_read_inode): Likewise.
24078 (grub_ext2_mount): Likewise.
24079 (grub_ext2_close): Likewise.
24080 (grub_ext3_get_journal): Removed.
24081
24082 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24083 (grub_reiserfs_read_symlink): Likewise.
24084 (grub_reiserfs_mount): Likewise.
24085 (grub_reiserfs_open): Likewise.
24086 (grub_reiserfs_read): Likewise.
24087 (grub_reiserfs_close): Likewise.
24088 (grub_reiserfs_get_journal): Removed.
24089
24090 * fs/fshelp.c (grub_fshelp_read): Removed.
24091 (grub_fshelp_map_block): Likewise.
24092
24093 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24094 (grub_fshelp_journal): Likewise.
24095 (grub_fshelp_read): Likewise.
24096 (grub_fshelp_map_block): Likewise.
24097
24098 2008-06-16 Pavel Roskin <proski@gnu.org>
24099
24100 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24101 floating point anymore.
24102 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24103
24104 2008-06-15 Pavel Roskin <proski@gnu.org>
24105
24106 * commands/ls.c (grub_ls_list_files): Use integer calculations
24107 for human readable format, avoid floating point use.
24108 * kern/misc.c (grub_ftoa): Remove.
24109 (grub_vsprintf): Remove floating point support.
24110
24111 2008-06-15 Robert Millan <rmh@aybabtu.com>
24112
24113 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24114 devices.
24115 Reported by Max Vozeler.
24116
24117 2008-06-15 Robert Millan <rmh@aybabtu.com>
24118
24119 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24120 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24121 skipped later.
24122 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24123 the beginning of the prefix.
24124
24125 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24126 It is assumed that if we have a memdisk, grub-mkimage has set
24127 grub_prefix to include the "(memdisk)" drive in it.
24128
24129 2008-06-15 Robert Millan <rmh@aybabtu.com>
24130
24131 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24132 Initialize keyboard controller after registering the terminal, so that
24133 grub_printf() can be called from grub_keyboard_controller_init().
24134
24135 2008-06-15 Robert Millan <rmh@aybabtu.com>
24136
24137 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24138 extent-btree which is written as big endian on disk.
24139 Reported by Alain Greppin <al@chilibi.org>.
24140
24141 2008-06-14 Robert Millan <rmh@aybabtu.com>
24142
24143 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24144 * util/i386/pc/grub-install.in (modules): Likewise.
24145
24146 2008-06-13 Pavel Roskin <proski@gnu.org>
24147
24148 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24149
24150 2008-06-13 Bean <bean123ch@gmail.com>
24151
24152 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24153
24154 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24155
24156 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24157 to indicate sparse block.
24158
24159 2008-06-12 Pavel Roskin <proski@gnu.org>
24160
24161 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24162 number, grub_fshelp_read() does it for us.
24163
24164 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24165 linear disk read with journal translation.
24166 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24167 * include/grub/fshelp.h: Declare grub_fshelp_read().
24168
24169 2008-06-09 Pavel Roskin <proski@gnu.org>
24170
24171 * fs/minix.c (grub_minix_mount): Handle error reading
24172 superblock.
24173
24174 2008-06-08 Robert Millan <rmh@aybabtu.com>
24175
24176 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24177 don't append the RAID prefix afterwards.
24178 Reported by Clint Adams.
24179
24180 2008-06-08 Robert Millan <rmh@aybabtu.com>
24181
24182 Based on description from Pavel:
24183 * kern/disk.c (grub_disk_check_range): Rename to ...
24184 (grub_disk_adjust_range): ... this. Add a comment explaining the
24185 tasks performed by this function.
24186
24187 2008-06-08 Robert Millan <rmh@aybabtu.com>
24188
24189 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24190 `num_serial' (for consistency with other variables).
24191 (struct grub_ntfs_data): Add `uuid' member.
24192 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24193 (grub_ntfs_uuid): New function.
24194 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24195
24196 2008-06-07 Pavel Roskin <proski@gnu.org>
24197
24198 * util/biosdisk.c (open_device): Revert last change to the
24199 function, it broke installation. The sector needs to be
24200 different dependent on which device is opened.
24201
24202 2008-06-06 Robert Millan <rmh@aybabtu.com>
24203
24204 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24205 rest of GRUB, and breakage doesn't happen if its value were modified.
24206
24207 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24208 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24209 a constant (same value).
24210 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24211 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24212
24213 2008-06-06 Robert Millan <rmh@aybabtu.com>
24214
24215 * util/biosdisk.c (open_device): Do not modify sector offset when
24216 accessing a partition. kern/disk.c already handles this for us.
24217
24218 2008-06-06 Robert Millan <rmh@aybabtu.com>
24219
24220 * util/grub-emu.c (grub_machine_init): Move code in this function from
24221 here ...
24222 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24223 segfault in case grub_printf() is called).
24224
24225 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24226 grub_probe. Update all users not to explicitly add it again.
24227 (grub_device): New variable; contains corresponding device for grubdir.
24228 (fs_module, partmap_module, devabstraction_module): Pass
24229 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24230 every time.
24231
24232 2008-06-05 Robert Millan <rmh@aybabtu.com>
24233
24234 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24235 is found, print it (same layout as with labels).
24236
24237 2008-06-04 Robert Millan <rmh@aybabtu.com>
24238
24239 * util/biosdisk.c (get_drive): Rename to ...
24240 (find_grub_drive): ... this. Update all users.
24241
24242 (get_os_disk): Rename to ...
24243 (convert_system_partition_to_system_disk): ... this. Update all users.
24244
24245 (find_drive): Rename to ...
24246 (find_system_device): ... this. Update all users.
24247
24248 2008-06-04 Robert Millan <rmh@aybabtu.com>
24249
24250 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24251 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24252 (make_device_map): Likewise.
24253
24254 2008-06-01 Robert Millan <rmh@aybabtu.com>
24255
24256 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24257 before dereferencing it.
24258
24259 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24260 union with fat12/fat16-specific ones. Add some new fields, including
24261 `num_serial' for both versions.
24262 (struct grub_fat_data): Add `uuid' member.
24263 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24264 names. Initialize `data->uuid' using `num_serial'.
24265 (grub_fat_uuid): New function.
24266 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24267
24268 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24269 (grub_reiserfs_uuid): New function.
24270 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24271 member.
24272
24273 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24274 (grub_xfs_uuid): New function.
24275 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24276
24277 2008-06-01 Robert Millan <rmh@aybabtu.com>
24278
24279 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24280 code that is backward compatible with pre-uuid search command.
24281
24282 2008-05-31 Robert Millan <rmh@aybabtu.com>
24283
24284 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24285 floppies after everything else, to ensure floppy drive isn't accessed
24286 unnecessarily (patch from Bean).
24287
24288 2008-05-31 Robert Millan <rmh@aybabtu.com>
24289
24290 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24291 not print device names when we were asked to set a variable.
24292
24293 2008-05-31 Robert Millan <rmh@aybabtu.com>
24294
24295 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24296 using "cursor-on" and "cursor-off" commands (understood at least by
24297 the Open Firmware flavour on OLPC).
24298
24299 2008-05-31 Michael Gorven <michael@gorven.za.net>
24300
24301 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24302 on and off sequences.
24303
24304 2008-05-31 Robert Millan <rmh@aybabtu.com>
24305
24306 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24307 * util/update-grub.in: Likewise.
24308
24309 2008-05-30 Pavel Roskin <proski@gnu.org>
24310
24311 * util/biosdisk.c (linux_find_partition): Simplify logic and
24312 make the code more universal. Keep special processing for
24313 devfs, but use a simple rule for all other devices. If the
24314 device ends with a number, append 'p' and the partition number.
24315 Otherwise, append only the partition number.
24316
24317 2008-05-30 Robert Millan <rmh@aybabtu.com>
24318
24319 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24320 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24321 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24322 the `root' parameter to Linux.
24323
24324 2008-05-30 Robert Millan <rmh@aybabtu.com>
24325
24326 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24327 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24328 --fs_uuid with --fs-uuid.
24329 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24330 all filesystems support them).
24331
24332 2008-05-30 Robert Millan <rmh@aybabtu.com>
24333
24334 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24335 grub_printf() flags, since we're printing in units of 2 bytes.
24336
24337 2008-05-30 Robert Millan <rmh@aybabtu.com>
24338
24339 * util/grub.d/00_header.in: Remove obsolete comment referencing
24340 convert_system_path_to_grub_path().
24341 * util/update-grub.in: Likewise.
24342 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24343 (convert_system_path_to_grub_path): Add a warning message explaining
24344 that this function is deprecated. Rely on is_path_readable_by_grub()
24345 for the readability checks.
24346 (font_path): Use is_path_readable_by_grub() for the readability
24347 check rather than convert_system_path_to_grub_path().
24348
24349 2008-05-30 Robert Millan <rmh@aybabtu.com>
24350
24351 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24352 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24353 converting it first.
24354 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24355 grub.cfg for access to font file, and afterwards call it again to set
24356 the root device.
24357
24358 2008-05-30 Robert Millan <rmh@aybabtu.com>
24359
24360 * commands/search.c (options): Add --fs_uuid option.
24361 (search_fs_uuid): New function.
24362 (grub_cmd_search): Fix --set argument passing.
24363 Use search_fs_uuid() when requested via --fs_uuid.
24364 (grub_search_init): Update help message.
24365 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24366 and redeclare it as an array of 16-bit words.
24367 (grub_ext2_uuid): New function.
24368 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24369 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24370 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24371 (GRUB_DEVICE_BOOT_UUID): New variables.
24372 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24373 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24374 whenever possible.
24375 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24376 just assume `root' variable has the right value.
24377 * util/grub.d/10_linux.in: Likewise.
24378 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24379 via PRINT_FS_UUID.
24380 (main): Recognise `-t fs_uuid' argument.
24381
24382 2008-05-30 Robert Millan <rmh@aybabtu.com>
24383
24384 * util/biosdisk.c (map): Redefine structure to hold information
24385 about GRUB drive name.
24386 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24387 drive names.
24388 (call_hook): Remove.
24389 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24390 member. Assume drive has partitions.
24391 (grub_util_biosdisk_open): Access device names via `.device' struct
24392 member.
24393 (open_device): Likewise.
24394 (find_drive): Likewise.
24395 (read_device_map): Adjust map[] usage to match the new struct
24396 definition. Don't check for duplicates (still possible, but not cheap
24397 anymore).
24398 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24399 (make_device_name): Remove assumption of BIOS-like drive names.
24400
24401 2008-05-30 Pavel Roskin <proski@gnu.org>
24402
24403 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24404 compiling execute.c doesn't need grub_script.tab.h anymore.
24405 (normal/command.c_DEPENDENCIES): Likewise.
24406 (normal/function.c_DEPENDENCIES): Likewise.
24407 * conf/i386-ieee1275.rmk: Likewise.
24408 * conf/i386-linuxbios.rmk: Likewise.
24409 * conf/i386-pc.rmk: Likewise.
24410 * conf/powerpc-ieee1275.rmk: Likewise.
24411 * conf/sparc64-ieee1275.rmk: Likewise.
24412
24413 2008-05-29 Pavel Roskin <proski@gnu.org>
24414
24415 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24416 when scanning metadata for volume group name.
24417
24418 * include/grub/script.h: Don't include grub_script.tab.h. It's
24419 a generated file, which may only be included from the files with
24420 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24421 use union YYSTYPE, as the later allows forward declaration.
24422 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24423
24424 2008-05-29 Robert Millan <rmh@aybabtu.com>
24425
24426 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24427 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24428 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24429 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24430 scan codes.
24431
24432 2008-05-29 Robert Millan <rmh@aybabtu.com>
24433
24434 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24435 control key combinations.
24436
24437 2008-05-29 Robert Millan <rmh@aybabtu.com>
24438
24439 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24440 * util/ieee1275/grub-install.in: ... to here.
24441 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24442 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24443 (grub_install_SOURCES): Likewise.
24444
24445 2008-05-29 Robert Millan <rmh@aybabtu.com>
24446
24447 * fs/affs.c: Update copyright year.
24448 * fs/ext2.c: Likewise.
24449 * fs/fshelp.c: Likewise.
24450 * fs/hfsplus.c: Likewise.
24451 * fs/ntfs.c: Likewise.
24452 * fs/xfs.c: Likewise.
24453 * include/grub/fshelp.h: Likewise.
24454 * util/grub-mkdevicemap.c: Likewise.
24455
24456 2008-05-28 Robert Millan <rmh@aybabtu.com>
24457
24458 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24459 might need to be fatfs to support some firmware implementations
24460 (e.g. OFW or EFI).
24461
24462 2008-05-28 Robert Millan <rmh@aybabtu.com>
24463
24464 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24465 devices.
24466 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24467 (make_device_map): Likewise.
24468
24469 2008-05-20 Bean <bean123ch@gmail.com>
24470
24471 * fs/fshelp.c (grub_fshelp_map_block): New function.
24472 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24473 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24474
24475 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24476 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24477 (grub_fshelp_journal): New structure.
24478 (grub_fshelp_map_block): New function prototype.
24479 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24480 (grub_fshelp_map_block): Likewise.
24481
24482 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24483 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24484 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24485 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24486 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24487 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24488 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24489 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24490 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24491 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24492 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24493 (grub_ext2_sblock): New members for journal support.
24494 (grub_ext3_journal_header): New structure.
24495 (grub_ext3_journal_revoke_header): Likewise.
24496 (grub_ext3_journal_block_tag): Likewise.
24497 (grub_ext3_journal_sblock): Likewise.
24498 (grub_fshelp_node): New members logfile and journal.
24499 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24500 grub_fshelp_map_block to get real block number.
24501 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24502 number.
24503 (grub_ext2_read_inode): Likewise.
24504 (grub_ext3_get_journal): New function.
24505 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24506 (grub_ext2_close): Release memory used by journal.
24507
24508 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24509 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24510 (grub_reiserfs_transaction_header): Renamed to
24511 grub_reiserfs_description_block, replace field data with real_blocks.
24512 (grub_reiserfs_commit_block): New structure.
24513 (grub_reiserfs_data): New member journal.
24514 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24515 number.
24516 (grub_reiserfs_read_symlink): Likewise.
24517 (grub_reiserfs_iterate_dir): Likewise.
24518 (grub_reiserfs_open): Likewise.
24519 (grub_reiserfs_read): Likewise.
24520 (grub_reiserfs_get_journal): New function.
24521 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24522 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24523 using grub_reiserfs_get_journal.
24524 (grub_reiserfs_close): Release memory used by journal.
24525
24526 * fs/affs.c (grub_affs_read_block): Change block type to
24527 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24528
24529 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24530
24531 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24532
24533 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24534
24535 * fs/udf.c (grub_udf_read_block): Change block type to
24536 grub_disk_addr_t. Use type cast to avoid warning.
24537
24538 * fs/xfs.c (grub_xfs_read_block): Likewise.
24539
24540 2008-05-16 Christian Franke <franke@computer.org>
24541
24542 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24543 to ensure that break with ESC will always work.
24544 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24545 Remove ESC from keyboard queue.
24546
24547 2008-05-16 Christian Franke <franke@computer.org>
24548
24549 * util/biosdisk.c: [__CYGWIN__] Add includes.
24550 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24551 (get_os_disk): Move variable declarations to OS specific
24552 parts to avoid warning.
24553 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24554 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24555 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24556 Cygwin.
24557 * util/getroot.c: [__CYGWIN__] Add includes.
24558 (strip_extra_slashes): Fix "/" case.
24559 [__CYGWIN__] (get_win32_path): New function.
24560 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24561 [__CYGWIN__] (find_root_device): Disable.
24562 [__CYGWIN__] (get_bootsec_serial): New function.
24563 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24564 [__linux__] (grub_guess_root_device): Add early returns to simplify
24565 structure.
24566 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24567 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24568 check for Linux only.
24569
24570 2008-05-15 Bean <bean123ch@gmail.com>
24571
24572 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24573 keyboard hang problem in apple's intel mac.
24574
24575 2008-05-09 Robert Millan <rmh@aybabtu.com>
24576
24577 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24578 devices.
24579 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24580 (make_device_map): Likewise.
24581 Reported by Aurelien Jarno <aurel32@debian.org>
24582
24583 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24584
24585 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24586 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24587 (make_device_map): Output entries for xvd type disks.
24588
24589 2008-05-07 Robert Millan <rmh@aybabtu.com>
24590
24591 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24592 devices.
24593 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24594 (make_device_map): Likewise.
24595 Reported by Roland Dreier <rdreier@cisco.com>
24596
24597 2008-05-07 Robert Millan <rmh@aybabtu.com>
24598
24599 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24600 grub_strstr() call. Correct a few mistakes in failure path handling.
24601
24602 2008-05-06 Robert Millan <rmh@aybabtu.com>
24603
24604 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24605 Do not print a trailing slash (therefore, the root directory is an
24606 empty string).
24607 (convert_system_path_to_grub_path): Do not remove trailing slash
24608 from make_system_path_relative_to_its_root() output.
24609
24610 * util/i386/pc/grub-install.in: Add trailing slash to output from
24611 make_system_path_relative_to_its_root().
24612
24613 2008-05-06 Robert Millan <rmh@aybabtu.com>
24614
24615 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24616 ensures that output lines aren't intermangled with those sent to
24617 stderr (via grub_util_info()).
24618 * util/grub-probe.c (grub_refresh): Likewise.
24619 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24620
24621 2008-05-05 Christian Franke <franke@computer.org>
24622
24623 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24624 Add Cygwin device names.
24625 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24626 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24627 (check_device): Return error instead of success on empty name.
24628 (make_device_map): Move label inside linux specific code to
24629 prevent compiler warning.
24630
24631 2008-04-30 Robert Millan <rmh@aybabtu.com>
24632
24633 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24634 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24635 first boot option.
24636 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24637
24638 2008-04-29 Robert Millan <rmh@aybabtu.com>
24639
24640 * docs/grub.cfg: New file (example GRUB configuration).
24641
24642 2008-04-26 Robert Millan <rmh@aybabtu.com>
24643
24644 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24645 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24646 and `disk/ieee1275/nand.c'.
24647
24648 2008-04-25 Bean <bean123ch@gmail.com>
24649
24650 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24651 i386-linuxbios.
24652
24653 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24654 change the buffer size to 4096 for cdrom device.
24655
24656 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24657 and nand.mod.
24658 (_linux_mod_SOURCES): New variable.
24659 (_linux_mod_CFLAGS): Likewise.
24660 (_linux_mod_LDFLAGS): Likewise.
24661 (linux_mod_SOURCES): Likewise.
24662 (linux_mod_CFLAGS): Likewise.
24663 (linux_mod_LDFLAGS): Likewise.
24664 (nand_mod_SOURCES): Likewise.
24665 (nand_mod_CFLAGS): Likewise.
24666 (nand_mod_LDFLAGS): Likewise.
24667
24668 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24669 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24670 type property. (nand device in olpc don't have this property)
24671
24672 * include/grub/disk.h (grub_disk_dev_id): New macro
24673 GRUB_DISK_DEVICE_NAND_ID.
24674
24675 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24676 function prototype.
24677 (grub_rescue_cmd_initrd): Likewise.
24678
24679 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24680 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24681 ofw_cif_handler and ofw_idt, adjust padding number.
24682
24683 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24684 GRUB_MACHINE_IEEE1275 is defined.
24685
24686 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24687 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24688
24689 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24690 on nested function heap_init.
24691 (grub_upper_mem): New variable for i386-ieee1275.
24692 (grub_get_extended_memory): New function for i386-ieee1275.
24693 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24694
24695 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24696 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24697 property.
24698
24699 * loader/i386/ieee1275/linux.c: New file.
24700
24701 * loader/i386/ieee1275/linux_normal.c: New file.
24702
24703 * disk/ieee1275/nand.c: New file.
24704
24705 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24706
24707 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24708 value.
24709 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24710
24711 2008-04-18 Robert Millan <rmh@aybabtu.com>
24712
24713 Restructures early code path on ieee1275 to unify grub_main() as
24714 the first C function that is executed in every platform.
24715
24716 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24717 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24718 cmain().
24719 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24720 * kern/ieee1275/cmain.c (cmain): Rename to ...
24721 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24722 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24723 at the beginning.
24724
24725 2008-04-18 Robert Millan <rmh@aybabtu.com>
24726
24727 * util/update-grub.in: Fix syntax error when setting
24728 `GRUB_PRELOAD_MODULES'.
24729 Reported by Stephane Chazelas <stephane@artesyncp.com>
24730
24731 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24732
24733 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24734 section into account, newer toolchains generate unique build ids
24735 * configure.ac: remove the test for --build-id=none acceptance,
24736 we want build ids to be preserved
24737 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24738 far from other sections don't cause the raw binary images grow
24739 size
24740
24741 2008-04-15 Robert Millan <rmh@aybabtu.com>
24742
24743 * disk/lvm.c: Update copyright year.
24744 * kern/misc.c: Likewise.
24745
24746 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24747
24748 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
24749 there is no memory left for physical volume name.
24750
24751 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24752
24753 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24754 volume name mapping to support bigger than 9 character names properly.
24755
24756 2008-04-13 Robert Millan <rmh@aybabtu.com>
24757
24758 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24759 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24760
24761 2008-04-13 Christian Franke <franke@computer.org>
24762
24763 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24764 to create a floppy emulation boot CD when non emulation mode
24765 does not work.
24766 Enable Joliet CD filesystem extension.
24767
24768 2008-04-13 Robert Millan <rmh@aybabtu.com>
24769
24770 * kern/misc.c (grub_strncat): Fix off-by-one error.
24771 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24772
24773 * kern/env.c (grub_env_context_close): Clear current context, not
24774 previous one.
24775 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24776
24777 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24778
24779 2008-04-13 Robert Millan <rmh@aybabtu.com>
24780
24781 Improve robustness when handling LVM.
24782
24783 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
24784 (and leave `*p' unmodified).
24785 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24786 through it.
24787 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24788 iterating through it.
24789 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24790 through it.
24791 (grub_lvm_scan_device): Check the return value (and fail gracefully
24792 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24793 Don't assume `vg->pvs != NULL' when iterating through it.
24794
24795 2008-04-13 Robert Millan <rmh@aybabtu.com>
24796
24797 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24798 * genmk.rb (partmap): New variable.
24799 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24800 (#{partmap}): New target rule.
24801 * genpartmaplist.sh: New file.
24802 * Makefile.in (pkglib_DATA): Add partmap.lst.
24803 (partmap.lst): New target rule.
24804 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24805 modules (including all partition maps), instead of preloading them.
24806
24807 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24808
24809 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24810 `linux-boot-prober' (if installed) to detect other operating
24811 systems which are installed on the computer and add them to
24812 the boot menu.
24813 * conf/common.rmk: Build and install 30_os-prober.
24814
24815 2008-04-12 Robert Millan <rmh@aybabtu.com>
24816
24817 * kern/powerpc/ieee1275/init.c: Move from here ...
24818 * kern/ieee1275/init.c: ... to here. Update all users.
24819
24820 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24821 * kern/ieee1275/cmain.c: ... to here. Update all users.
24822
24823 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24824 * kern/ieee1275/openfw.c: ... to here. Update all users.
24825
24826 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24827 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24828
24829 2008-04-10 Pavel Roskin <proski@gnu.org>
24830
24831 * configure.ac: Always use "_cv_" in cache variables for
24832 compatibility with Autoconf 2.62.
24833
24834 2008-04-07 Robert Millan <rmh@aybabtu.com>
24835
24836 Revert grub/machine/init.h addition by Pavel (since it breaks on
24837 i386-ieee1275 and others):
24838 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24839 * util/powerpc/ieee1275/misc.c: Likewise.
24840
24841 2008-04-07 Robert Millan <rmh@aybabtu.com>
24842
24843 * util/grub-probe.c (probe): Improve error message.
24844
24845 2008-04-07 Robert Millan <rmh@aybabtu.com>
24846
24847 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24848 (this prevents the presence of a bogus entry from ruining the whole
24849 thing).
24850
24851 2008-04-06 Pavel Roskin <proski@gnu.org>
24852
24853 * util/biosdisk.c: Include grub/util/biosdisk.h.
24854 * util/grub-fstest.c (execute_command): Make static.
24855 * util/grub-mkdevicemap.c (check_device): Likewise.
24856 * util/i386/pc/misc.c: Include grub/machine/init.h.
24857 * util/powerpc/ieee1275/misc.c: Likewise.
24858 * util/lvm.c: Include grub/util/lvm.h.
24859 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24860 grub/cache.h.
24861 * util/raid.c: Include grub/util/raid.h.
24862 (grub_util_getdiskname): Make static.
24863
24864 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24865 grub_hostfs_fini(), as they are called from grub_init_all() and
24866 grub_fini_all() respectively. This fixes an infinite loop in
24867 grub-fstest due to double registration of hostfs.
24868 Reported by Christian Franke <Christian.Franke@t-online.de>
24869
24870 2008-04-05 Pavel Roskin <proski@gnu.org>
24871
24872 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24873 all 8 functions. Otherwise, probe function 0 only.
24874
24875 2008-04-04 Pavel Roskin <proski@gnu.org>
24876
24877 * commands/lspci.c (grub_lspci_iter): Print the bus number
24878 correctly.
24879
24880 * commands/lspci.c (grub_pci_classes): Fix typos.
24881 (grub_lspci_iter): Don't print func twice. Print vendor ID
24882 before device ID, as it's normally done.
24883
24884 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24885 Fix signedness warnings.
24886 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24887 Likewise.
24888 * util/ieee1275/get_disk_name.c: Include config.h so that
24889 _GNU_SOURCE is defined and getline() is declared. Mark an
24890 unused argument as such. Fix a signedness warning.
24891
24892 2008-04-02 Pavel Roskin <proski@gnu.org>
24893
24894 * genkernsyms.sh.in: Use more robust assignments for CC and
24895 srcdir. Quote srcdir.
24896 * gensymlist.sh.in: Likewise. Assert at the compile time that
24897 the symbol table is not empty.
24898
24899 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24900 * fs/cpio.c (grub_cpio_read): Likewise.
24901
24902 2008-04-01 Pavel Roskin <proski@gnu.org>
24903
24904 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24905 * disk/host.c (grub_host_open): Likewise.
24906 * disk/loopback.c (grub_loopback_open): Likewise.
24907 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24908 disk->id as in disk/host.c, not a multi-character constant.
24909
24910 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24911 later is obsolete, potentially dangerous and sets a bad example.
24912 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24913 * util/misc.c (grub_util_get_image_size): Likewise.
24914
24915 * disk/loopback.c (options): Improve help for "--partitions".
24916
24917 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24918 options to align them with the short options, e.g. "echo -e".
24919
24920 2008-03-31 Bean <bean123ch@gmail.com>
24921
24922 * video/reader/png.c (grub_png_data): New member is_16bit and
24923 image_data.
24924 (grub_png_decode_image_header): Detect 16 bit png image.
24925 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24926 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24927 (grub_video_reader_png): Release memory occupied by image_data.
24928
24929 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24930 4096 bytes.
24931 (grub_nfs_mount): Skip the test for sector per cluster.
24932
24933 * include/grub/ntfs.h (MAX_SPC): Removed.
24934
24935 2008-03-31 Bean <bean123ch@gmail.com>
24936
24937 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24938 (grub_probe_SOURCES): Add fs/afs.c.
24939 (grub_fstest_SOURCES): Likewise.
24940 (afs_mod_SOURCES): New variable.
24941 (afs_mod_CFLAGS): Likewise.
24942 (afs_mod_LDFLAGS): Likewise.
24943
24944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24945 (grub_emu_SOURCES): Likewise.
24946
24947 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24948
24949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24950
24951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24952
24953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24954
24955 * fs/afs.c: New file.
24956
24957 2008-03-30 Pavel Roskin <proski@gnu.org>
24958
24959 * disk/host.c: Include grub/misc.h to fix a warning.
24960 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24961 warnings about implicit declarations.
24962
24963 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24964 variable.
24965 * include/grub/i386/loader.h: Change declaration of
24966 grub_linux_boot() to match what grub_loader_set() expects.
24967 * util/getroot.c (grub_guess_root_device): Return const char* to
24968 fix a warning.
24969 * util/grub-probe.c (probe): Fix a warning about uninitialized
24970 abstraction_name variable.
24971 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24972 second argument as unused to fix a warning.
24973
24974 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24975 missing grub_error() call.
24976
24977 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24978 2.60 and newer uses it to define datadir.
24979
24980 * commands/sleep.c: Fix warning about implicit declaration.
24981 * disk/memdisk.c: Likewise.
24982 * loader/aout.c: Likewise.
24983 * loader/i386/bsd_normal.c: Likewise.
24984 * util/grub-probe.c: Likewise.
24985
24986 * commands/i386/cpuid.c (has_longmode): Make static.
24987 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24988 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24989
24990 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24991 GDT. This is more robust, as %ds can change.
24992 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24993 calling real_to_prot().
24994 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24995
24996 2008-03-28 Pavel Roskin <proski@gnu.org>
24997
24998 * kern/i386/pc/startup.S: Assert that uncompressed functions
24999 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25000 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25001 code, as they push parts of the code (error handlers) beyond
25002 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25003 code as correctness and size.
25004
25005 2008-03-28 Pavel Roskin <proski@gnu.org>
25006
25007 * kern/i386/pc/startup.S
25008 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25009 data block address to the real mode, keep offset minimal. This
25010 works around a bug in AWARD BIOS on old Athlon systems, which
25011 makes CD detection hang.
25012
25013 2008-03-26 Pavel Roskin <proski@gnu.org>
25014
25015 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25016 const.
25017 * include/grub/normal.h: Add grub_parse_color_name_pair()
25018 declaration.
25019
25020 2008-03-24 Bean <bean123ch@gmail.com>
25021
25022 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25023 (cd_count): Removed.
25024 (cd_drive): New variable.
25025 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25026 (grub_biosdisk_call_hook): Likewise.
25027 (grub_biosdisk_iterate): Change cdrom detection method.
25028 (grub_biosdisk_open): Replace cd_start with cd_drive.
25029 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25030 detect cdrom device.
25031
25032 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25033 Removed.
25034 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25035 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25036 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25037 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25038 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25039 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25040 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25041 (grub_biosdisk_cdrp): New structure.
25042 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25043
25044 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25045
25046 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25047 device.
25048
25049 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25050 New function.
25051
25052 2008-03-20 Robert Millan <rmh@aybabtu.com>
25053
25054 Remove 2 TiB limit in ata.mod.
25055 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25056 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25057 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25058 grub_uint64_t instead of grub_uint32_t.
25059
25060 2008-03-05 Bean <bean123ch@gmail.com>
25061
25062 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25063 (grub_multiboot): Set boot device.
25064
25065 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25066
25067 2008-03-02 Bean <bean123ch@gmail.com>
25068
25069 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25070 symlink_buffer.
25071
25072 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25073
25074 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25075 texinfo.tex.
25076
25077 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25078 modified.
25079
25080 * docs/fdl.texi: New file.
25081
25082 * docs/mdate-sh: New file. Copied from gnulib.
25083 * docs/texinfo.tex: Likewise.
25084
25085 * config.guess: Updated from gnulib.
25086 * install-sh: Likewise.
25087
25088 2008-02-28 Robert Millan <rmh@aybabtu.com>
25089
25090 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25091 (aout_mod_SOURCES): New variable.
25092 (aout_mod_CFLAGS): Likewise.
25093 (aout_mod_LDFLAGS): Likewise.
25094
25095 * conf/i386-ieee1275.rmk: Likewise.
25096
25097 2008-02-28 Robert Millan <rmh@aybabtu.com>
25098
25099 * util/update-grub.in: Reorganise terminal validity check. Accept
25100 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25101 Based on suggestion by Franklin PIAT.
25102
25103 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25104
25105 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25106 function.
25107 * util/getroot.c (grub_util_check_block_device): New function that
25108 returns the given argument if it is a block device and returns NULL else.
25109 * util/grub-probe.c (argument_is_device): New variable.
25110 (probe): Promote device_name from a variable to an argument. Receive
25111 device_name from grub_util_check_block_device() if path is NULL and from
25112 grub_guess_root_device() else. Do not free() device_name anymore.
25113 (options): Introduce new parameter '-d, --device'.
25114 (main): Add description of the new parameter to the help screen.
25115 Rename path variable to argument. Set argument_is_device if the '-d'
25116 option is given. Pass argument to probe() depending on
25117 argument_is_device.
25118
25119 2008-02-24 Bean <bean123ch@gmail.com>
25120
25121 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25122 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25123 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25124 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25125 (GRUB_ISO9660_VOLDESC_END): Likewise.
25126 (grub_iso9660_primary_voldesc): New member escape.
25127 (grub_iso9660_data): New member joliet.
25128 (grub_iso9660_convert_string): New function.
25129 (grub_iso9660_mount): Detect joliet extension.
25130 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25131 (grub_iso9660_iso9660_label): Likewise.
25132
25133 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25134 (grub_setup_SOURCES): Add fs/udf.c.
25135 (grub_fstest_SOURCES): Likewise.
25136 (udf_mod_SOURCES): New variable.
25137 (udf_mod_CFLAGS): Likewise.
25138 (udf_mod_LDFLAGS): Likewise.
25139
25140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25141 (grub_emu_SOURCES): Likewise.
25142
25143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25144
25145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25146
25147 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25148
25149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25150
25151 * fs/udf.c: New file.
25152
25153 2008-02-24 Robert Millan <rmh@aybabtu.com>
25154
25155 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25156 (normal/lexer.c_DEPENDENCIES): New variables.
25157 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25158 (normal/lexer.c_DEPENDENCIES): Likewise.
25159 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25160 (normal/lexer.c_DEPENDENCIES): Likewise.
25161 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25162 (normal/lexer.c_DEPENDENCIES): Likewise.
25163 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25164 (normal/lexer.c_DEPENDENCIES): Likewise.
25165 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25166 (normal/lexer.c_DEPENDENCIES): Likewise.
25167
25168 2008-02-23 Robert Millan <rmh@aybabtu.com>
25169
25170 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25171 since they were intended to be in hex. This didn't break previously
25172 because of a bug in gpt_partition_map_iterate() (see below).
25173
25174 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25175 when checking the validity of GPT header.
25176 Remove `partno', since it always provides the same information as `i'.
25177
25178 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25179
25180 * include/grub/efi/time.h: Fix a wrong comment.
25181
25182 2008-02-19 Pavel Roskin <proski@gnu.org>
25183
25184 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25185 message.
25186
25187 2008-02-19 Bean <bean123ch@gmail.com>
25188
25189 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25190 (aout_mod_SOURCES): New variable.
25191 (aout_mod_CFLAGS): Likewise.
25192 (aout_mod_LDFLAGS): Likewise.
25193 (_bsd_mod_SOURCES): New variable.
25194 (_bsd_mod_CFLAGS): Likewise.
25195 (_bsd_mod_LDFLAGS): Likewise.
25196 (bsd_mod_SOURCES): New variable.
25197 (bsd_mod_CFLAGS): Likewise.
25198 (bsd_mod_LDFLAGS): Likewise.
25199
25200 * include/grub/aout.h: New file.
25201
25202 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25203
25204 * include/grub/i386/bsd.h: New file.
25205
25206 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25207 to make it public.
25208
25209 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25210 function is called, so that it's possible to change it inside the hook.
25211 (grub_elf64_load): Likewise.
25212 (grub_elf_file): Don't close the file if elf header is not found.
25213 (grub_elf_close): Close the file if grub_elf_file fails (The new
25214 grub_elf_file won't close it).
25215 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25216 (grub_elf64_size): Likewise.
25217
25218 * kern/i386/loader.S (grub_unix_real_boot): New function.
25219
25220 * loader/aout.c: New file.
25221
25222 * loader/i386/bsd.c: New file.
25223
25224 * loader/i386/bsd_normal.c: New file.
25225
25226 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25227
25228 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25229 can test other formats.
25230
25231 2008-02-19 Robert Millan <rmh@aybabtu.com>
25232
25233 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25234 (grub_gpt_partition_type_empty): Redefine with macro from
25235 `<grub/gpt_partition.h>'.
25236 (gpt_partition_map_iterate): Adjust partition type comparison.
25237
25238 Export `entry' as partmap-specific `part.data' struct.
25239 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25240
25241 * include/grub/gpt_partition.h (grub_gpt_header)
25242 (grub_gpt_partentry): ... to here (new file).
25243
25244 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25245
25246 (grub_gpt_partition_type_bios_boot): New const variable, defined
25247 with macro from `<grub/gpt_partition.h>'.
25248
25249 (setup): Replace `first_start' with `embed_region', which keeps
25250 track of the embed region (and is partmap-agnostic).
25251
25252 Replace find_first_partition_start() with find_usable_region(),
25253 which finds a usable region for embedding using partmap-specific
25254 knowledge (supports PC/MSDOS and GPT).
25255
25256 Fix all assumptions that the embed region start at sector 1, using
25257 `embed_region.start' from now on. Similarly, use `embed_region.end'
25258 rather than `first_start' to calculate available size.
25259
25260 In grub_util_info() message, replace "into after the MBR" with an
25261 indication of the specific sector our embed region starts at.
25262
25263 2008-02-19 Robert Millan <rmh@aybabtu.com>
25264
25265 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25266 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25267 `commands/reboot.c'.
25268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25269 (halt_mod_SOURCES): Likewise.
25270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25271 (halt_mod_SOURCES): Likewise.
25272
25273 2008-02-17 Christian Franke <franke@computer.org>
25274
25275 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25276
25277 2008-02-17 Robert Millan <rmh@aybabtu.com>
25278
25279 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25280 set `first_start' to 0 for non-PC/MSDOS partition maps.
25281
25282 2008-02-16 Robert Millan <rmh@aybabtu.com>
25283
25284 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25285 do not assume partition map is PC/MSDOS before performing checks that
25286 are specific to that layout.
25287
25288 2008-02-13 Robert Millan <rmh@aybabtu.com>
25289
25290 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25291 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25292 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25293
25294 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25295
25296 * configure.ac: Only a cosmetic change on the handling of
25297 -fno-stack-protector.
25298
25299 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25300
25301 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25302 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25303 reboot.c.
25304 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25305 (halt_mod_SOURCES): New variable.
25306 (halt_mod_CFLAGS): Likewise.
25307 (halt_mod_LDFLAGS): Likewise.
25308 (reboot_mod_SOURCES): Likewise.
25309 (reboot_mod_CFLAGS): Likewise.
25310 (reboot_mod_LDFLAGS): Likewise.
25311
25312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25313 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25314 reboot.c.
25315 (halt_mod_SOURCES): Likewise.
25316 (reboot_mod_SOURCES): Likewise.
25317
25318 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25319 commands/i386/pc/reboot.c by commands/reboot.c.
25320 (reboot_mod_SOURCES): Likewise.
25321
25322 * commands/i386/pc/reboot.c: merge this file ...
25323
25324 * commands/ieee1275/reboot.c: ... and this file ...
25325
25326 * commands/reboot.c: ... to this file.
25327 Add some precompiler directive to include the correct header for
25328 each machine.
25329
25330 * commands/ieee1275/halt.c: move this file ...
25331
25332 * commands/halt.c: ... to here.
25333 Add some precompiler directive to include the correct header for
25334 each machine.
25335
25336 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25337 (grub_halt): Likewise.
25338
25339 * kern/efi/efi.c (grub_reboot): New function.
25340 (grub_halt): Likewise.
25341
25342 2008-02-12 Robert Millan <rmh@aybabtu.com>
25343
25344 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25345 /dev (like it is done for /dev/mapper). This doesn't provide support
25346 for EVMS, but at least it is now easy to identify the problem when it
25347 arises.
25348
25349 2008-02-11 Robert Millan <rmh@aybabtu.com>
25350
25351 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25352 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25353 comparing it with -1, not 0.
25354
25355 2008-02-10 Robert Millan <rmh@aybabtu.com>
25356
25357 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25358 `disk/lvm.c'.
25359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25360 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25361
25362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25363 `disk/lvm.c' to the end of the list.
25364 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25366
25367 2008-02-10 Robert Millan <rmh@aybabtu.com>
25368
25369 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25370 grub_print_error() instead. This will let user know why we're entering
25371 rescue mode.
25372 Based on suggestions from Sam Morris.
25373
25374 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25375
25376 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25377 on remaining N args, instead of "--" arg N times.
25378
25379 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25380
25381 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25382 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25383 pattern for unknown glyphs.
25384
25385 2008-02-09 Robert Millan <rmh@aybabtu.com>
25386
25387 * configure.ac: Probe for `help2man'.
25388 * Makefile.in (builddir): New variable.
25389 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25390 or otherwise add a few flags/options to it.
25391 (install-local): For every executable utility or script that is
25392 installed, invoke $(HELP2MAN) to install a manpage based on --help
25393 output.
25394
25395 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25396 that it doesn't prevent --help from working in build tree.
25397
25398 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25399 with `bug-grub@gnu.org'.
25400 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25401 * util/update-grub.in (usage): New function.
25402 Implement proper argument check, with support for --help and --version
25403 (as well as existing -y).
25404
25405 2008-02-09 Christian Franke <franke@computer.org>
25406
25407 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25408 avoid overwriting previous output.
25409 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25410
25411 2008-02-09 Robert Millan <rmh@aybabtu.com>
25412
25413 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25414 drawing the menu.
25415
25416 2008-02-09 Robert Millan <rmh@aybabtu.com>
25417
25418 * commands/sleep.c: New file.
25419 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25420 (sleep_mod_SOURCES): New variable.
25421 (sleep_mod_CFLAGS): Likewise.
25422 (sleep_mod_LDFLAGS): Likewise.
25423
25424 2008-02-09 Robert Millan <rmh@aybabtu.com>
25425
25426 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25427 situations in which we can deduce the RAID size and the superblock
25428 doesn't match it.
25429
25430 2008-02-09 Robert Millan <rmh@aybabtu.com>
25431
25432 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25433 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25434 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25435
25436 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25437 and return a grub_diskmemberlist_t composed of physical array members.
25438 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25439
25440 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25441 prototype.
25442 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25443 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25444 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25445
25446 * util/grub-probe.c (probe): Move partmap probing code from here ...
25447 (probe_partmap): ... to here.
25448 (probe): Use probe_partmap() once for the disk we're probing, and
25449 additionally, when such disk contains a memberlist() struct member,
25450 once for each disk that is contained in the structure returned by
25451 memberlist().
25452
25453 2008-02-09 Robert Millan <rmh@aybabtu.com>
25454
25455 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25456 environment variable to 'all' in order to obtain debug output from
25457 non-util/ code.
25458 * util/i386/pc/grub-setup.c (main): Likewise.
25459
25460 2008-02-08 Robert Millan <rmh@aybabtu.com>
25461
25462 * disk/raid.c (grub_raid_scan_device): Check for
25463 `array->device[sb.this_disk.number]' rather than for
25464 `array->device[sb.this_disk.number]->name', since the latter is not
25465 guaranteed to be accessible.
25466
25467 2008-02-08 Robert Millan <rmh@aybabtu.com>
25468
25469 * disk/raid.c: Update copyright.
25470 * fs/cpio.c: Likewise.
25471 * include/grub/raid.h: Likewise.
25472 * loader/i386/pc/multiboot.c: Likewise.
25473 * util/hostfs.c: Likewise.
25474
25475 2008-02-08 Robert Millan <rmh@aybabtu.com>
25476
25477 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25478 to a grub_disk_t array.
25479 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25480 `device[x]'.
25481 (grub_raid_scan_device): Replace `device[x].name' accesses with
25482 `device[x]->name'. Simplify initialization of `array->device[x]'.
25483
25484 2008-02-08 Robert Millan <rmh@aybabtu.com>
25485
25486 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25487 grub_dprintf() calls.
25488 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25489 error message.
25490
25491 2008-02-07 Christian Franke <franke@computer.org>
25492
25493 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25494 instead of fseek and ftell to support large files.
25495 (grub_hostfs_read): Likewise.
25496
25497 2008-02-07 Robert Millan <rmh@aybabtu.com>
25498
25499 Patch from Jeroen Dekkers.
25500 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25501 failure, since successfully reading all array members might not be
25502 required.
25503
25504 2008-02-06 Robert Millan <rmh@aybabtu.com>
25505
25506 * util/grub-probe.c (probe): Simplify partmap probing (with the
25507 assumption that the first word up to the underscore equals to
25508 the module name).
25509
25510 2008-02-06 Christian Franke <franke@computer.org>
25511
25512 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25513 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25514 last block of a cpio or tar stream.
25515 Check for "TRAILER!!!" instead of any empty data
25516 block to detect last block of a cpio stream.
25517 (grub_cpio_dir): Fix constness of variable np.
25518 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25519 cpio or tar trailer is detected. This fixes a crash
25520 on open of a non existing file.
25521
25522 2008-02-05 Bean <bean123ch@gmail.com>
25523
25524 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25525 address of entry.
25526 (grub_multiboot_load_elf64): Likewise.
25527 (grub_multiboot): Initialize mbi structure.
25528
25529 * util/grub-fstest.c: Don't include unused header file script.h.
25530
25531 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25532 of file.
25533 (grub_fstest_SOURCES): Likewise.
25534
25535 2008-02-05 Robert Millan <rmh@aybabtu.com>
25536
25537 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25538 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25539 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25540 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25541
25542 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25543 (translation_table): Replace hardcoded values with macros
25544 provided by `<grub/term.h>'.
25545
25546 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25547 (keyboard_map): Correct/add a few values, with macros provided
25548 by `<grub/term.h>'.
25549 (keyboard_map_shift): Zero values that don't differ from their
25550 `keyboard_map' equivalents.
25551 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25552 Discard the second scan code that is always sent by Caps lock.
25553 Only use `keyboard_map_shift' when it provides a non-zero value,
25554 otherwise fallback to `keyboard_map'.
25555
25556 2008-02-04 Bean <bean123ch@gmail.com>
25557
25558 * Makefile.in (enable_grub_fstest): New variable.
25559
25560 * conf/common.rmk (grub_fstest_init.lst): New rule.
25561 (grub_fstest_init.h): Likewise.
25562 (grub_fstest_init.c): Likewise.
25563 (util/grub-fstest.c_DEPENDENCIES): New variable.
25564 (grub_fstest_SOURCES): Likewise.
25565
25566 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25567
25568 * util/grub-fstest.c: New file.
25569
25570 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25571
25572 Make grub-setup handle a separate root device.
25573
25574 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25575 so that the root device can be compared with the destination
25576 device.
25577 When embedding the core image, if the root and destination devices
25578 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25579 0xFF.
25580 When not embedding, set ROOT_DRIVE to 0xFF.
25581
25582 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25583
25584 Add support for having a grub directory in a different drive. This
25585 is still only the data handling part.
25586
25587 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25588 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25589 (grub_root_drive): New variable.
25590
25591 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25592 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25593 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25594 as it was.
25595
25596 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25597
25598 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25599 macro.
25600 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25601
25602 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25603 is bogus, because PXE booting does not specify any drive
25604 correctly.
25605
25606 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25607 am not sure if this is really correct.
25608
25609 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25610 is always identical to the boot drive when booting from a CD.
25611
25612 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25613 longer.
25614 (root_drive): New variable.
25615 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25616 (setup_sectors): Push %dx right after popping it, because %dh will
25617 be modified later.
25618 (copy_buffer): Restore %dx.
25619
25620 2008-02-03 Robert Millan <rmh@aybabtu.com>
25621
25622 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25623 use `cdboot.img' for cdrom images.
25624
25625 2008-02-03 Robert Millan <rmh@aybabtu.com>
25626
25627 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25628 only setup gfxterm when `font' command has succeeded.
25629
25630 2008-02-03 Robert Millan <rmh@aybabtu.com>
25631
25632 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25633 (grub_rescue_cmd_multiboot_loader)
25634 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25635
25636 2008-02-03 Pavel Roskin <proski@gnu.org>
25637
25638 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25639 %edx and %esi from stack only after grub_gate_a20() is called.
25640 grub_gate_a20() clobbers %edx.
25641
25642 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25643
25644 * configure.ac (AC_INIT): Bumped to 1.96.
25645
25646 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25647 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25648 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25649 video/readers/png.c.
25650
25651 2008-02-03 Bean <bean123ch@gmail.com>
25652
25653 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25654 (cdboot_img_SOURCES): New variable.
25655 (cdboot_img_ASFLAGS): New variable.
25656 (cdboot_img_LDFLAGS): New variable.
25657
25658 * boot/i386/pc/cdboot.S: New file.
25659
25660 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25661 (cd_count): Likewise.
25662 (grub_biosdisk_get_drive): Add support for cd device.
25663 (grub_biosdisk_call_hook): Likewise.
25664 (grub_biosdisk_iterate): Likewise.
25665 (grub_biosdisk_open): Likewise.
25666 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25667 (grub_biosdisk_rw): Support reading from cd device.
25668 (GRUB_MOD_INIT): Iterate cd devices.
25669
25670 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25671 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25672 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25673
25674 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25675
25676 2008-02-02 Robert Millan <rmh@aybabtu.com>
25677
25678 * commands/read.c: New file.
25679 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25680 (read_mod_SOURCES): New variable.
25681 (read_mod_CFLAGS): Likewise.
25682 (read_mod_LDFLAGS): Likewise.
25683
25684 2008-02-02 Robert Millan <rmh@aybabtu.com>
25685
25686 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25687 determining whether menu has to be displayed.
25688
25689 2008-02-02 Marco Gerards <marco@gnu.org>
25690
25691 * bus/pci.c: New file.
25692
25693 * include/grub/pci.h: Likewise.
25694
25695 * include/grub/i386/pc/pci.h: Likewise.
25696
25697 * commands/lspci.c: Likewise.
25698
25699 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25700 `lspci.mod'.
25701 (pci_mod_SOURCES): New variable.
25702 (pci_mod_CFLAGS): Likewise.
25703 (pci_mod_LDFLAGS): Likewise.
25704 (lspci_mod_SOURCES): Likewise.
25705 (lspci_mod_CFLAGS): Likewise.
25706 (lspci_mod_LDFLAGS): Likewise.
25707
25708 2008-02-02 Bean <bean123ch@gmail.com>
25709
25710 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25711 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25712
25713 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25714 (grub_xfs_btree_node): New structure.
25715 (grub_xfs_btree_root): New structure.
25716 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25717 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25718 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25719 (GRUB_XFS_EXTENT_SIZE): Likewise.
25720 (grub_xfs_read_block): Support btree format type.
25721 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25722 Use directory block as basic unit.
25723
25724 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25725
25726 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25727 __attribute__ ((__regparm__ (1))).
25728
25729 2008-02-01 Robert Millan <rmh@aybabtu.com>
25730
25731 Correct a mistake in previous commit.
25732
25733 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25734 top.
25735 (normal/command.c_DEPENDENCIES): New variable.
25736
25737 2008-02-01 Robert Millan <rmh@aybabtu.com>
25738
25739 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25740 top.
25741 (normal/command.c_DEPENDENCIES): New variable.
25742 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25743 * conf/i386-ieee1275.rmk: Likewise.
25744 * conf/i386-linuxbios.rmk: Likewise.
25745 * conf/i386-pc.rmk: Likewise.
25746 * conf/sparc64-ieee1275.rmk: Likewise.
25747 * conf/powerpc-ieee1275.rmk: Likewise.
25748 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25749
25750 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25751
25752 2008-02-01 Robert Millan <rmh@aybabtu.com>
25753
25754 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25755 call at beginning of function.
25756
25757 2008-01-31 Pavel Roskin <proski@gnu.org>
25758
25759 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
25760 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25761 (grub_mkrescue_SOURCES): Likewise.
25762 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25763
25764 2008-01-30 Robert Millan <rmh@aybabtu.com>
25765
25766 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25767 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25768 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25769 (grub_probe_SOURCES): ... to here.
25770
25771 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25772 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25773 * conf/i386-ieee1275.rmk: Likewise.
25774 * conf/i386-linuxbios.rmk: Likewise.
25775 * conf/powerpc-ieee1275.rmk: Likewise.
25776
25777 2008-01-30 Tristan Gingold <gingold@free.fr>
25778
25779 * kern/rescue.c: Silently accept empty lines.
25780
25781 2008-01-29 Bean <bean123ch@gmail.com>
25782
25783 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25784 (real_code_2): Code cleanup and change comment style.
25785 (move_memory): Avoid using 32-bit address mode.
25786
25787 2008-01-29 Bean <bean123ch@gmail.com>
25788
25789 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25790 (png_mod_SOURCES): New variable.
25791 (png_mod_CFLAGS): Likewise.
25792 (png_mod_LDFLAGS): Likewise.
25793
25794 * video/readers/png.c: New file.
25795
25796 2008-01-28 Robert Millan <rmh@aybabtu.com>
25797
25798 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25799 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25800 `ifndef GRUB_MOD_GAP' hack.
25801 * util/elf/grub-mkimage.c (add_segments): Likewise.
25802
25803 2008-01-27 Robert Millan <rmh@aybabtu.com>
25804
25805 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25806 `GRUB_MOD_GAP' for platforms in which it's not defined.
25807 * util/elf/grub-mkimage.c (add_segments): Likewise.
25808
25809 2008-01-27 Robert Millan <rmh@aybabtu.com>
25810
25811 Get grub-emu to build again (including parallel builds).
25812
25813 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25814 Split into ...
25815 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25816 (normal/execute.c_DEPENDENCIES): ... this, ...
25817 (grub-emu_DEPENDENCIES): ... and this.
25818
25819 * conf/i386-efi.rmk: Likewise.
25820 * conf/i386-linuxbios.rmk: Likewise.
25821 * conf/i386-ieee1275.rmk: Likewise.
25822 * conf/powerpc-ieee1275.rmk: Likewise.
25823 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25824
25825 2008-01-27 Robert Millan <rmh@aybabtu.com>
25826
25827 * NEWS: Add a few items.
25828
25829 2008-01-27 Robert Millan <rmh@aybabtu.com>
25830
25831 Fix parallel builds with grub-emu. Based on earlier commit for
25832 grub-probe and grub-setup.
25833
25834 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25835 (util/grub-emu.c_DEPENDENCIES): ... this.
25836 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25837 (util/grub-emu.c_DEPENDENCIES): ... this.
25838 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25839 (util/grub-emu.c_DEPENDENCIES): ... this.
25840 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25841 (util/grub-emu.c_DEPENDENCIES): ... this.
25842 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25843 (util/grub-emu.c_DEPENDENCIES): ... this.
25844
25845 2008-01-27 Pavel Roskin <proski@gnu.org>
25846
25847 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25848 to create a gap between _end and the modules added to the image
25849 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25850 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25851 * util/elf/grub-mkimage.c (add_segments): Likewise.
25852
25853 2008-01-26 Pavel Roskin <proski@gnu.org>
25854
25855 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25856 just return an error.
25857
25858 2008-01-26 Bean <bean123ch@gmail.com>
25859
25860 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25861 (grub_reiserfs_get_item): Save offset of the next item.
25862 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25863
25864 2008-01-25 Robert Millan <rmh@aybabtu.com>
25865
25866 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25867 make all filesystem sources appear together (possibly fixing omissions
25868 while at it).
25869 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25871 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25873
25874 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25875 add `kern/file.c'.
25876 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25877 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25878 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25879 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25880
25881 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25882 (probe): Add a sanity check to make sure of our ability to read
25883 requested files when probing for filesystem type.
25884
25885 * genmk.rb: Update copyright year (2007).
25886
25887 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25888 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25889 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25890 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25891 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25892 : Remove function prototypes.
25893
25894 2008-01-25 Robert Millan <rmh@aybabtu.com>
25895
25896 Revert my previous commits (based on wrong assumption of how grub_errno
25897 works).
25898
25899 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
25900 * kern/file.c (grub_file_open): Likewise.
25901
25902 2008-01-24 Pavel Roskin <proski@gnu.org>
25903
25904 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25905 that hang if GRUB tries to setup colors.
25906 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25907 colors for firmwares that don't support it.
25908 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25909 Recognize Open Hack'Ware, set flags to work around its
25910 limitations.
25911
25912 2008-01-24 Robert Millan <rmh@aybabtu.com>
25913
25914 * kern/file.c (grub_file_open): Do not account previous failures of
25915 unrelated functions when grub_errno is checked for.
25916 Reported by Oleg Strikov.
25917
25918 2008-01-24 Bean <bean123ch@gmail.com>
25919
25920 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25921 (grub_ufs_sblock): New member volume name.
25922 (grub_ufs_find_file): Fix string copy bug.
25923 (grub_ufs_label): Implement this function properly.
25924
25925 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25926 (grub_hfs_iterate_records): Use the correct file number for extents
25927 and catalog file. Fix problem in next index calculation.
25928 (grub_hfs_find_node): Replace recursive function call with loop.
25929 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25930
25931 2008-01-23 Robert Millan <rmh@aybabtu.com>
25932
25933 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25934 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25935 (grub_multiboot2_real_boot): New function prototype.
25936
25937 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25938 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25939
25940 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25941 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25942
25943 2008-01-23 Robert Millan <rmh@aybabtu.com>
25944
25945 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25946 #ifdef'ed out grub_printf().
25947
25948 2008-01-23 Robert Millan <rmh@aybabtu.com>
25949
25950 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25951 grub_dprintf calls, since they make "debug=all" mode unusable.
25952 (grub_console_checkkey): Likewise.
25953
25954 2008-01-23 Robert Millan <rmh@aybabtu.com>
25955
25956 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25957 `term/i386/pc/at_keyboard.c'.
25958 (pkglib_MODULES): Add `serial.mod'.
25959 (serial_mod_SOURCES): New variable.
25960 (serial_mod_CFLAGS): Likewise.
25961 (serial_mod_LDFLAGS): Likewise.
25962
25963 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25964 `<grub/powerpc/ieee1275/console.h>'.
25965 (grub_keyboard_controller_init): New function prototype.
25966 (grub_console_checkkey): Likewise.
25967 (grub_console_getkey): Likewise.
25968
25969 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25970 keyboard on i386.
25971
25972 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25973 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25974
25975 2008-01-23 Robert Millan <rmh@aybabtu.com>
25976
25977 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25978 present, "(memdisk)/boot/grub" becomes the default prefix.
25979
25980 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25981 a memdisk tarball with all the modules. Add --overlay=DIR option that
25982 allows users to overlay additional files into the image.
25983
25984 2008-01-23 Robert Millan <rmh@aybabtu.com>
25985
25986 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25987 and `machine/memory.h'.
25988 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25989 (_multiboot_mod_SOURCES): New variable.
25990 (_multiboot_mod_CFLAGS): Likewise.
25991 (_multiboot_mod_LDFLAGS): Likewise.
25992 (multiboot_mod_SOURCES): Likewise.
25993 (multiboot_mod_CFLAGS): Likewise.
25994 (multiboot_mod_LDFLAGS): Likewise.
25995
25996 * include/grub/i386/ieee1275/loader.h: New file.
25997
25998 * include/grub/i386/ieee1275/machine.h: Likewise.
25999
26000 * include/grub/i386/ieee1275/memory.h: Likewise.
26001
26002 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26003 variable declaration.
26004 (grub_os_area_size): Likewise.
26005
26006 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26007 (grub_lower_mem, grub_upper_mem): New variables.
26008 (grub_stop_floppy): New function (just to make
26009 grub_multiboot2_real_boot() happy).
26010
26011 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26012 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26013 (grub_stop): New function.
26014 Include `"../realmode.S"' and `"../loader.S"'.
26015
26016 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26017 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26018
26019 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26020 rely on grub_multiboot2_real_boot() for final boot.
26021
26022 2008-01-22 Robert Millan <rmh@aybabtu.com>
26023
26024 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26025 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26026 device that doesn't look like an SD card.
26027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26028 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26029 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26030 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26031 found.
26032
26033 2008-01-22 Robert Millan <rmh@aybabtu.com>
26034
26035 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26036 avoid claiming over our own code.
26037
26038 2008-01-22 Bean <bean123ch@gmail.com>
26039
26040 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26041 (jpeg_mod_SOURCES): New variable.
26042 (jpeg_mod_CFLAGS): Likewise.
26043 (jpeg_mod_LDFLAGS): Likewise.
26044
26045 * video/readers/jpeg.c : New file.
26046
26047 2008-01-22 Bean <bean123ch@gmail.com>
26048
26049 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26050 there are no more items.
26051
26052 2008-01-21 Robert Millan <rmh@aybabtu.com>
26053
26054 * kern/mm.c (grub_mm_init_region): Improve debug message.
26055
26056 2008-01-21 Robert Millan <rmh@aybabtu.com>
26057
26058 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26059 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26060 address.
26061 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26062 a C macro.
26063 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26064 Indicates start of upper memory.
26065 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26066 (generate_image): Abort when image size is big enough to corrupt
26067 upper memory.
26068
26069 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26070 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26071 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26072 instead of hardcoding 0xA0000.
26073 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26074 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26075 instead of hardcoding 0xA0000.
26076
26077 2008-01-21 Robert Millan <rmh@aybabtu.com>
26078
26079 * disk/memdisk.c (memdisk_size): New variable.
26080 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26081 `memdisk_size'.
26082 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26083 image to dynamic memory.
26084 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26085 `memdisk_size'. Free memdisk block.
26086
26087 2008-01-21 Robert Millan <rmh@aybabtu.com>
26088
26089 Fix detection of very small filesystems (like tar).
26090
26091 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26092 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26093 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26094 a problem with this disk).
26095
26096 2008-01-21 Robert Millan <rmh@aybabtu.com>
26097
26098 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26099 on grub_biosdisk_rw_standard() error.
26100
26101 2008-01-21 Robert Millan <rmh@aybabtu.com>
26102
26103 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26104 recent changes.
26105 * kern/elf.c: Likewise.
26106 * kern/ieee1275/ieee1275.c: Likewise.
26107 * kern/powerpc/ieee1275/openfw.c: Likewise.
26108 * term/ieee1275/ofconsole.c: Likewise.
26109
26110 2008-01-21 Robert Millan <rmh@aybabtu.com>
26111
26112 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26113
26114 * include/grub/kernel.h (grub_arch_memdisk_addr)
26115 (grub_arch_memdisk_size): Moved from here ...
26116
26117 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26118 (grub_arch_memdisk_size): ... to here.
26119
26120 2008-01-21 Robert Millan <rmh@aybabtu.com>
26121
26122 Mostly based on bugfix from Bean.
26123
26124 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26125 attribute with hook() parameter.
26126 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26127 declaration.
26128 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26129 attribute with hook() parameter.
26130 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26131 declaration.
26132
26133 2008-01-21 Robert Millan <rmh@aybabtu.com>
26134
26135 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26136 (pkglib_MODULES): Add `memdisk.mod'.
26137 (memdisk_mod_SOURCES): New variable.
26138 (memdisk_mod_CFLAGS): Likewise.
26139 (memdisk_mod_LDFLAGS): Likewise.
26140
26141 * disk/memdisk.c: New file.
26142
26143 * include/grub/disk.h (grub_disk_dev_id): Add
26144 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26145
26146 * include/grub/i386/pc/kernel.h
26147 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26148 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26149 (grub_kernel_image_size): New variable declaration.
26150 (grub_total_module_size): Likewise.
26151 (grub_memdisk_image_size): Likewise.
26152
26153 * include/grub/i386/pc/memory.h
26154 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26155
26156 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26157 (grub_arch_memdisk_addr): New variable declaration.
26158 (grub_arch_memdisk_size): Likewise.
26159
26160 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26161 (grub_arch_memdisk_size): Likewise.
26162
26163 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26164 (codestart): Replace hardcoded `0x100000' with
26165 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26166
26167 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26168 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26169 not NULL, append the contents of the file it refers to, at the end of
26170 the compressed kernel image. Initialize `grub_memdisk_image_size'
26171 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26172 (options): Add "memdisk"|'m' option.
26173 (main): Parse --memdisk|-m option, and pass user-provided path as
26174 parameter to generate_image().
26175
26176 2008-01-20 Robert Millan <rmh@aybabtu.com>
26177
26178 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26179 grub_dprintf() calls from here ...
26180 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26181
26182 2008-01-20 Robert Millan <rmh@aybabtu.com>
26183
26184 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26185
26186 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26187 declaration.
26188 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26189 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26190 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26191 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26192 property).
26193 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26194 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26195
26196 2008-01-19 Robert Millan <rmh@aybabtu.com>
26197
26198 Get rid of confusing function (superseded by
26199 `grub_ieee1275_get_integer_property')
26200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26201 prototype.
26202 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26203 function.
26204 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26205 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26206 in native endianness from grub_ieee1275_get_integer_property().
26207
26208 2008-01-19 Robert Millan <rmh@aybabtu.com>
26209
26210 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26211 command after "shut-down", since implementations differ on which
26212 the command for halt is.
26213
26214 2008-01-19 Robert Millan <rmh@aybabtu.com>
26215
26216 * include/grub/i386/linuxbios/console.h: Add header protection.
26217 (grub_keyboard_controller_init): New function prototype.
26218 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26219 (KEYBOARD_COMMAND_READ): Likewise.
26220 (KEYBOARD_COMMAND_WRITE): Likewise.
26221 (KEYBOARD_SCANCODE_SET1): Likewise.
26222 (grub_keyboard_controller_write): New function.
26223 (grub_keyboard_controller_read): Likewise.
26224 (grub_keyboard_controller_init): Likewise.
26225
26226 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26227 (grub_console_init): On coreboot/LinuxBIOS, call
26228 grub_keyboard_controller_init().
26229
26230 2008-01-19 Robert Millan <rmh@aybabtu.com>
26231
26232 PowerPC changes provided by Pavel Roskin.
26233
26234 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26235 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26236 don't rely on cmain() doing it.
26237 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26238 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26239
26240 2008-01-16 Robert Millan <rmh@aybabtu.com>
26241
26242 * include/grub/i386/linuxbios/memory.h
26243 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26244 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26245 receive `table_header' as argument. Instead, probe for it in the
26246 known memory ranges where it can be present.
26247 (grub_available_iterate): Do not pass a fixed `table_header' address
26248 to grub_linuxbios_table_iterate().
26249
26250 2008-01-15 Robert Millan <rmh@aybabtu.com>
26251
26252 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26253 * conf/i386-ieee1275.rmk: New file.
26254 * include/grub/i386/ieee1275/console.h: Likewise.
26255 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26256 * include/grub/i386/ieee1275/kernel.h: Likewise.
26257 * include/grub/i386/ieee1275/time.h: Likewise.
26258 * kern/i386/ieee1275/init.c: Likewise.
26259 * kern/i386/ieee1275/startup.S: Likewise.
26260
26261 2008-01-15 Robert Millan <rmh@aybabtu.com>
26262
26263 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26264 when pointers are 32-bit (but still do set it to one when they are
26265 64-bit).
26266
26267 2008-01-15 Robert Millan <rmh@aybabtu.com>
26268
26269 * include/grub/ieee1275/ieee1275.h
26270 (grub_ieee1275_get_integer_property): New function prototype.
26271
26272 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26273 (grub_ieee1275_get_integer_property): New function. Wraps around
26274 grub_ieee1275_get_property() to handle endianness.
26275
26276 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26277 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26278 where appropriate.
26279 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26280 (grub_map): Likewise.
26281 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26282
26283 2008-01-15 Bean <bean123ch@gmail.com>
26284
26285 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26286 (grub_script_execute_cmdline): Reset grub_errno.
26287
26288 * normal/main.c (read_config_file): Reset grub_errno.
26289
26290 * normal/parse.y (script_init): New.
26291 (script): Move function and menuentry here.
26292 (delimiter): New.
26293 (command): Add delimiter at the end of command.
26294 (commands): Adjust to match the new command.
26295 (commandblock): Remove grub_script_lexer_record_start.
26296 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26297 (if): Use the new commands.
26298
26299 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26300
26301 2008-01-15 Robert Millan <rmh@aybabtu.com>
26302
26303 * normal/menu.c (run_menu): Move timeout message from here ...
26304 (print_timeout): ... to here.
26305 (run_menu): Use print_timeout() once during initial draw to print
26306 the whole message, and again in every clock tick to update only
26307 the number of seconds.
26308
26309 2008-01-15 Robert Millan <rmh@aybabtu.com>
26310
26311 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26312 actual size of `available' from grub_ieee1275_get_property(), and
26313 restrict parsing to that bound.
26314
26315 2008-01-15 Christian Franke <franke@computer.org>
26316
26317 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26318 (argp_program_version): Remove variable.
26319 (argp_program_bug_address): Likewise.
26320 (options): Convert from struct argp_option to struct option.
26321 (struct arguments): Remove.
26322 (parse_opt): Remove.
26323 (usage): New function.
26324 (main): Replace struct args members by simple variables.
26325 Replace argp_parse() by getopt_long().
26326 Add switch to evaluate options.
26327 Add missing "(...)" around root_dev in prefix string.
26328
26329 2008-01-14 Robert Millan <rmh@aybabtu.com>
26330
26331 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26332 for grub_ieee1275_exit(), in order to improve portability.
26333
26334 2008-01-14 Robert Millan <rmh@aybabtu.com>
26335
26336 * util/grub.d/10_linux.in (prefix): Define.
26337 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26338
26339 2008-01-13 Pavel Roskin <proski@gnu.org>
26340
26341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26342 grub_errno if no errors have been detected.
26343
26344 2008-01-12 Robert Millan <rmh@aybabtu.com>
26345
26346 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26347 (grub_util_get_dev_abstraction): New function prototype.
26348
26349 * util/getroot.c: Include `<grub/util/getroot.h>'
26350 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26351 (grub_util_get_dev_abstraction): ... here (new function).
26352
26353 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26354 `PRINT_ABSTRACTION'.
26355 (probe): Probe for abstraction type when requested.
26356 (main): Understand `--target=abstraction'.
26357
26358 * util/i386/efi/grub-install.in: Add abstraction module to core
26359 image when it is found to be necessary.
26360 * util/i386/pc/grub-install.in: Likewise.
26361 * util/powerpc/ieee1275/grub-install.in: Likewise.
26362
26363 * util/update-grub_lib.in (font_path): Return system path without
26364 converting to GRUB path.
26365 * util/update-grub.in: Convert system path returned by font_path()
26366 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26367 abstraction module is needed for loading fonts (if any). Export
26368 that as `GRUB_PRELOAD_MODULES'.
26369 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26370 insmod commands).
26371
26372 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26373
26374 Remove some unused code from reiserfs.
26375
26376 * fs/reiserfs.c (struct grub_reiserfs_key)
26377 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26378 (struct grub_reiserfs_node_body): Removed.
26379 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26380 Likewise.
26381 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26382 Likewise.
26383 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26384 Likewise.
26385 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26386 Likewise.
26387 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26388 Likewise.
26389 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26390 Likewise.
26391 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26392 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26393 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26394
26395 2008-01-10 Robert Millan <rmh@aybabtu.com>
26396
26397 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26398 Determines if a file is garbage left by packaging systems, etc.
26399 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26400 for processing /etc/grub.d scripts.
26401 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26402 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26403 as a condition for processing Linux images.
26404
26405 2008-01-10 Pavel Roskin <proski@gnu.org>
26406
26407 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26408 to compile reiserfs.c on PowerPC.
26409
26410 2008-01-10 Robert Millan <rmh@aybabtu.com>
26411
26412 * kern/device.c (grub_device_iterate): Do not abort device iteration
26413 when one of the devices cannot be opened.
26414 * kern/disk.c (grub_disk_open): Do not account previous failures of
26415 unrelated functions when grub_errno is checked for.
26416
26417 2008-01-08 Robert Millan <rmh@aybabtu.com>
26418
26419 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26420 `! grub_linux_is_bzimage', change order of address comparison to make
26421 it more intuitive, and improve "too big zImage" error message.
26422
26423 2008-01-08 Robert Millan <rmh@aybabtu.com>
26424
26425 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26426 `$(update-grub_DATA)'.
26427 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26428 targets.
26429
26430 2008-01-07 Robert Millan <rmh@aybabtu.com>
26431
26432 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26433 which instruction is modified by grub-setup during installation
26434 (since it wasn't obvious by only looking at this file).
26435
26436 2008-01-07 Robert Millan <rmh@aybabtu.com>
26437
26438 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26439 listing actual TODO items.
26440
26441 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26442
26443 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26444 correctly.
26445 (grub_reiserfs_get_key_offset): Likewise.
26446 (grub_reiserfs_set_key_offset): Likewise.
26447 (grub_reiserfs_set_key_type): Likewise.
26448 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26449
26450 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26451 better to remove the bitfield version completely.
26452
26453 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26454
26455 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26456 allocated from the heap, due to the fshelp implementation.
26457 (grub_reiserfs_dir): Free NODE, due to the same reason.
26458
26459 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26460
26461 Mostly from Vincent Pelletier:
26462
26463 * fs/reiserfs.c: New file.
26464
26465 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26466 (reiserfs_mod_SOURCES): New variable.
26467 (reiserfs_mod_CFLAGS): Likewise.
26468 (reiserfs_mod_LDFLAGS): Likewise.
26469
26470 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26471 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26472 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26473 normal/color.c.
26474
26475 2008-01-06 Robert Millan <rmh@aybabtu.com>
26476
26477 * normal/color.c: Remove `<grub/env.h>'.
26478
26479 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26480
26481 * include/grub/normal.h: Include <grub/env.h>.
26482
26483 2008-01-05 Robert Millan <rmh@aybabtu.com>
26484
26485 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26486 usage example with `(hd0,1)'.
26487 Reported by Samuel Thibault.
26488
26489 2008-01-05 Robert Millan <rmh@aybabtu.com>
26490
26491 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26492 (grub_linux_boot_zimage): Rename to ...
26493 (grub_linux_boot): ... this.
26494 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26495 (grub_linux_boot_zimage): Conditionalize zImage copy.
26496
26497 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26498 (grub_linux_boot_bzimage): Remove prototype.
26499 (grub_linux_boot_zimage): Rename to ...
26500 (grub_linux_boot): ... this.
26501
26502 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26503 (grub_linux_boot): Remove function.
26504
26505 2008-01-05 Robert Millan <rmh@aybabtu.com>
26506
26507 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26508 (grub_env_write_color_highlight): Likewise.
26509 (grub_wait_after_message): Likewise.
26510
26511 * normal/color.c: New file.
26512
26513 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26514 (normal_mod_DEPENDENCIES): Likewise.
26515
26516 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26517 (normal_mod_DEPENDENCIES): Likewise.
26518
26519 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26520 (normal_mod_DEPENDENCIES): Likewise.
26521
26522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26523 (normal_mod_DEPENDENCIES): Likewise.
26524
26525 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26526 for waiting after a message is printed.
26527 * normal/main.c (read_config_file): Likewise.
26528 (grub_normal_init): Register grub_env_write_color_normal() and
26529 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26530 `color_highlight' variables as global.
26531
26532 * normal/menu.c (grub_wait_after_message): New function.
26533 (grub_color_menu_normal): New variable. Replaces ...
26534 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26535 (grub_color_menu_highlight): New variable. Replaces ...
26536 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26537 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26538 `GRUB_TERM_COLOR_STANDARD'.
26539 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26540 `normal_code' and `highlight_code' to `old_color_normal' and
26541 `old_color_highlight', respectively.
26542 (grub_menu_init_page): Update colors when drawing the menu, based on
26543 `menu_color_normal' and `menu_color_highlight' variables.
26544 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26545 a message is printed.
26546
26547 2008-01-05 Robert Millan <rmh@aybabtu.com>
26548
26549 * kern/env.c (grub_env_context_open): Propagate hooks for global
26550 variables to new context.
26551
26552 * kern/main.c (grub_set_root_dev): Export `root' variable.
26553
26554 2008-01-05 Robert Millan <rmh@aybabtu.com>
26555
26556 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26557 discs unconditionally, since udev and others have options to provide
26558 them.
26559
26560 2008-01-05 Robert Millan <rmh@aybabtu.com>
26561
26562 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26563
26564 2008-01-04 Christian Franke <franke@computer.org>
26565
26566 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26567 of eisa_mmap.
26568
26569 2008-01-03 Pavel Roskin <proski@gnu.org>
26570
26571 * kern/i386/linuxbios/init.c: Put "void" to all function
26572 declarations with no arguments.
26573 * kern/powerpc/ieee1275/init.c: Likewise.
26574 * term/i386/pc/at_keyboard.c: Likewise.
26575 * term/i386/pc/vga_text.c: Likewise.
26576 * util/grub-mkdevicemap.c: Likewise.
26577
26578 2008-01-02 Robert Millan <rmh@aybabtu.com>
26579
26580 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26581 message when loaded image is out of bounds.
26582 (grub_multiboot_load_elf64): Likewise.
26583
26584 2008-01-02 Pavel Roskin <proski@gnu.org>
26585
26586 * util/grub.d/10_linux.in: Try version without ".old" when
26587 looking for initrd. It's better to use initrd from the newer
26588 kernel of the same version than no initrd at all.
26589
26590 2008-01-01 Robert Millan <rmh@aybabtu.com>
26591
26592 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26593
26594 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26595
26596 * include/grub/video.h: Added grub_video_unmap_color and
26597 grub_video_get_active_render_target.
26598 (grub_video_adapter): Added unmap_color and get_active_render_target.
26599
26600 * video/video.c: Added grub_video_unmap_color and
26601 grub_video_get_active_render_target.
26602 (grub_video_get_info): Changed method to accept NULL pointer as an
26603 argument to allow detection of active video adapter.
26604
26605 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26606 grub_video_vbe_unmap_color_int.
26607 Added grub_video_vbe_unmap_color and
26608 grub_video_vbe_get_active_render_target.
26609 (grub_video_vbe_adapter): Added unmap_color and
26610 get_active_render_target.
26611
26612 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26613 with grub_video_vbe_unmap_color_int.
26614
26615 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26616 (DEFAULT_NORMAL_COLOR): Likewise.
26617 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26618 (DEFAULT_FG_COLOR): Removed.
26619 (DEFAULT_BG_COLOR): Likewise.
26620 (DEFAULT_CURSOR_COLOR): Changed value.
26621 (grub_virtual_screen): Added standard_color_setting,
26622 normal_color_setting, highlight_color_setting and term_color.
26623 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26624 (bitmap_width): Added.
26625 (bitmap_height): Likewise.
26626 (bitmap): Likewise.
26627 (set_term_color): Likewise.
26628 (grub_virtual_screen_setup): Changed to use new terminal coloring
26629 settings.
26630 (grub_gfxterm_init): Added init for bitmap.
26631 (grub_gfxterm_fini): Added destroy for bitmap.
26632 (redraw_screen_rect): Updated to use background bitmap and new
26633 terminal coloring.
26634 (scroll_up): Added optimization for case when there is no bitmap.
26635 (grub_gfxterm_cls): Fixed to use correct background color.
26636 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26637 coloring.
26638 (grub_virtual_screen_setcolor): Likewise.
26639 (grub_virtual_screen_getcolor): Added.
26640 (grub_gfxterm_background_image_cmd): Likewise.
26641 (grub_video_term): Added setcolor and getcolor.
26642 (MOD_INIT): Added registration of background_image command.
26643 (MOD_TERM): Added unregistration for background_image command.
26644
26645 2007-12-30 Pavel Roskin <proski@gnu.org>
26646
26647 * loader/multiboot_loader.c: Fix multiboot command
26648 unregistration. Fix all typos in the word "multiboot".
26649
26650 2007-12-29 Pavel Roskin <proski@gnu.org>
26651
26652 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26653 support for initrd names used in Fedora.
26654
26655 2007-12-26 Bean <bean123ch@gmail.com>
26656
26657 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26658 (cpio_mod_SOURCES): New variable.
26659 (cpio_mod_CFLAGS): Likewise.
26660 (cpio_mod_LDFLAGS): Likewise.
26661
26662 * fs/cpio.c: New file.
26663
26664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26665
26666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26667
26668 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26669
26670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26671
26672 2007-12-25 Robert Millan <rmh@aybabtu.com>
26673
26674 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26675 (grub_getcolor): New function.
26676
26677 * kern/term.c (grub_getcolor): New function.
26678 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26679 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26680 (print_entry): Set normal and highlight colors to
26681 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26682 respectively, before printing and restore them to old
26683 values afterwards.
26684 (grub_menu_init_page): Likewise. Fill an additional colored space
26685 that would otherwise be left blank.
26686
26687 * term/efi/console.c (grub_console_getcolor): New function.
26688 (struct grub_console_term.getcolor): New variable.
26689 * term/i386/pc/console.c (grub_console_getcolor): New function.
26690 (struct grub_console_term.getcolor): New variable.
26691 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26692 (struct grub_console_term.getcolor): New variable.
26693
26694 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26695 (struct grub_console_term.setcolor): Remove variable.
26696 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26697 (struct grub_console_term.setcolor): Remove variable.
26698 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26699 (struct grub_console_term.setcolor): Remove variable.
26700 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26701 (struct grub_console_term.setcolor): Remove variable.
26702
26703 2007-12-25 Robert Millan <rmh@aybabtu.com>
26704
26705 * configure.ac: Search for possible unifont.hex locations, and
26706 define UNIFONT_HEX if found.
26707
26708 * Makefile.in (UNIFONT_HEX): Define variable.
26709 (DATA): Rename to ...
26710 (PKGLIB): ... this. Update all users.
26711 (PKGDATA): New variable.
26712 (pkgdata_IMAGES): Rename to ...
26713 (pkglib_IMAGES): ... this. Update all users.
26714 (pkgdata_MODULES): Rename to ...
26715 (pkglib_MODULES): ... this. Update all users.
26716 (pkgdata_PROGRAMS): Rename to ...
26717 (pkglib_PROGRAMS): ... this. Update all users.
26718 (pkgdata_DATA): Rename to ...
26719 (pkglib_DATA): ... this. Update all users.
26720 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26721 (unicode.pff, ascii.pff): New rules.
26722 (all-local): Add `$(PKGDATA)' dependency.
26723 (install-local): Process `$(PKGDATA)'.
26724
26725 * util/update-grub_lib.in (font_path): Search for *.pff files in
26726 a few more locations, including `${pkgdata}'.
26727
26728 2007-12-23 Robert Millan <rmh@aybabtu.com>
26729
26730 Patch from Bean <bean123ch@gmail.com>:
26731 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26732 `size'.
26733
26734 2007-12-21 Bean <bean123ch@gmail.com>
26735
26736 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26737 (ntfscomp_mod_SOURCES): New variable.
26738 (ntfscomp_mod_CFLAGS): Likewise.
26739 (ntfscomp_mod_LDFLAGS): Likewise.
26740
26741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26742 (grub_probe_SOURCES): Likewise.
26743 (grub_emu_SOURCES): Likewise.
26744
26745 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26746 (grub_emu_SOURCES): Likewise.
26747
26748 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26749 (grub_emu_SOURCES): Likewise.
26750
26751 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26752 (grub_emu_SOURCES): Likewise.
26753
26754 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26755 (read_run_list): Renamed to grub_ntfs_read_run_list.
26756 (decomp_nextvcn): Moved to ntfscomp.c.
26757 (decomp_getch): Likewise.
26758 (decomp_get16): Likewise.
26759 (decomp_block): Likewise.
26760 (read_block): Likewise.
26761 (read_data): Partially moved to ntfscomp.c.
26762 (fixup): Change unsigned to grub_uint16_t.
26763 (read_mft): Change unsigned long to grub_uint32_t.
26764 (read_attr): Likewise.
26765 (read_data): Likewise.
26766 (read_run_data): Likewise.
26767 (read_run_list): Likewise.
26768 (read_mft): Likewise.
26769
26770 * fs/ntfscomp.c: New file.
26771
26772 * include/grub/ntfs.h: New file.
26773
26774 2007-12-16 Robert Millan <rmh@aybabtu.com>
26775
26776 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26777 IDE disk check, since Linux is known to support 20 IDE disks.
26778 Reported by Colin Watson.
26779
26780 2007-12-15 Bean <bean123ch@gmail.com>
26781
26782 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26783 (lnxboot_img_SOURCES): New variable.
26784 (lnxboot_img_ASFLAGS): Likewise.
26785 (lnxboot_img_LDFLAGS): Likewise.
26786
26787 * boot/i386/pc/lnxboot.S: New file.
26788
26789 2007-11-24 Pavel Roskin <proski@gnu.org>
26790
26791 * configure.ac: Test if '--build-id=none' is supported by the
26792 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26793 objcopy to generate incorrect binary files (binutils
26794 2.17.50.0.18-1 as shipped by Fedora 8).
26795 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26796 linking, so that build ID doesn't break the test.
26797
26798 2007-11-24 Pavel Roskin <proski@gnu.org>
26799
26800 * include/grub/i386/time.h: use "void" in the argument list
26801 of grub_cpu_idle().
26802 * include/grub/powerpc/time.h: Likewise.
26803 * include/grub/sparc64/time.h: Likewise.
26804
26805 2007-11-18 Christian Franke <franke@computer.org>
26806
26807 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26808 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26809 This fixes the problem that function keys did not work in grub-emu.
26810
26811 2007-11-18 Christian Franke <franke@computer.org>
26812
26813 * disk/host.c (grub_host_open): Remove attribute unused from
26814 name parameter. Add check for "host". This fixes the problem
26815 that grub-emu does not find partitions.
26816
26817 2007-11-18 Christian Franke <franke@computer.org>
26818
26819 * util/hostfs.c (is_dir): New function.
26820 (grub_hostfs_dir): Handle missing dirent.d_type case.
26821 (grub_hostfs_read): Add missing fseek().
26822 (grub_hostfs_label): Clear label pointer. This fixes a crash
26823 of grub-emu on "ls (host)".
26824
26825 2007-11-18 Christian Franke <franke@computer.org>
26826
26827 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26828 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26829 to 64 bit boundary by default.
26830
26831 2007-11-18 Bean <bean123ch@gmail.com>
26832
26833 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26834 (hexdump_mod_SOURCES): New variable.
26835 (hexdump_mod_CFLAGS): Likewise.
26836 (hexdump_mod_LDFLAGS): Likewise.
26837
26838 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26839
26840 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26841
26842 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26843
26844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26845
26846 * include/grub/hexdump.h: New file.
26847
26848 * commands/hexdump.c: New file.
26849
26850 2007-11-10 Robert Millan <rmh@aybabtu.com>
26851
26852 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26853 in grub_outb() calls.
26854 (beep_on): Likewise.
26855
26856 2007-11-10 Christian Franke <franke@computer.org>
26857
26858 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26859 (grub_menu_run): Likewise.
26860
26861 2007-11-10 Robert Millan <rmh@aybabtu.com>
26862
26863 * include/grub/i386/efi/machine.h: New file.
26864 * include/grub/i386/linuxbios/machine.h: Likewise.
26865 * include/grub/i386/pc/machine.h: Likewise.
26866 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26867 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26868
26869 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26870 (serial_hw_io_addr): New variable.
26871 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26872 instead of `(unsigned short *) 0x400'.
26873
26874 2007-11-10 Bean <bean123ch@gmail.com>
26875
26876 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26877
26878 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26879
26880 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26881 (vga_mod_SOURCES): Added.
26882 (vga_mod_CFLAGS): Likewise.
26883 (vga_mod_LDFLAGS): Likewise.
26884
26885 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26886 grub_outb() calls.
26887 (set_map_mask): Likewise.
26888 (set_read_map): Likewise.
26889 (set_read_address): Likewise.
26890 (vga_font): Removed variable.
26891 (get_vga_glyph): Removed function.
26892 (invalidate_char): Likewise.
26893 (write_char): Changed to use grub_font_get_glyph() for font
26894 information.
26895 (grub_vga_putchar): Likewise.
26896 (grub_vga_getcharwidth): Likewise.
26897
26898 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26899
26900 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26901 flags.
26902 (pxeboot_img_LDFLAGS): Likewise.
26903 (diskboot_img_LDFLAGS): Likewise.
26904 (kernel_img_LDFLAGS): Likewise.
26905
26906 2007-11-06 Robert Millan <rmh@aybabtu.com>
26907
26908 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26909 in grub_outb() calls.
26910 (serial_hw_init): Likewise.
26911
26912 2007-11-05 Robert Millan <rmh@aybabtu.com>
26913
26914 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26915 spaces. Skip non-regular files.
26916
26917 2007-11-05 Robert Millan <rmh@aybabtu.com>
26918
26919 * kern/disk.c (grub_disk_firmware_fini)
26920 (grub_disk_firmware_is_tainted): New variables.
26921
26922 * include/grub/disk.h (grub_disk_firmware_fini)
26923 (grub_disk_firmware_is_tainted): Likewise.
26924
26925 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26926 (grub_disk_biosdisk_fini): ... to here.
26927 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26928 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26929 is set. Register grub_disk_biosdisk_fini() in
26930 `grub_disk_firmware_fini'.
26931
26932 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26933 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26934 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26935 to finish existing firmware disk interface.
26936
26937 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26938 (ata_mod_SOURCES): New variable.
26939 (ata_mod_CFLAGS): Likewise.
26940 (ata_mod_LDFLAGS): Likewise.
26941
26942 2007-11-05 Robert Millan <rmh@aybabtu.com>
26943
26944 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26945 (grub_ata_wait): Reimplement using grub_millisleep().
26946
26947 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26948 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26949
26950 2007-11-03 Marco Gerards <marco@gnu.org>
26951
26952 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26953 (CRTC_ADDR_PORT): New macro.
26954 (CRTC_DATA_PORT): Likewise.
26955 (CRTC_CURSOR): Likewise.
26956 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26957 (CRTC_CURSOR_ADDR_LOW): Likewise.
26958 (update_cursor): New function.
26959 (grub_console_real_putchar): Call `update_cursor'.
26960 (grub_console_gotoxy): Likewise.
26961 (grub_console_cls): Set the default color when clearing the
26962 screen.
26963 (grub_console_setcursor): Implemented.
26964
26965 2007-11-03 Marco Gerards <marco@gnu.org>
26966
26967 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26968 become activate.
26969 (grub_ata_pio_write): Likewise.
26970
26971 (grub_atapi_identify): Wait after issuing an ATA command.
26972 (grub_atapi_packet): Likewise.
26973 (grub_ata_identify): Likewise.
26974 (grub_ata_readwrite): Likewise.
26975
26976 2007-11-03 Marco Gerards <marco@gnu.org>
26977
26978 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26979 (grub_ata_pio_write): Likewise.
26980 (grub_ata_readwrite): Use `grub_error', instead of
26981 returning `grub_errno'.
26982
26983 2007-11-03 Marco Gerards <marco@gnu.org>
26984
26985 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26986 grub_ata_pio_write once for every single sector, instead of for
26987 multiple sectors.
26988
26989 2007-10-31 Robert Millan <rmh@aybabtu.com>
26990
26991 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26992
26993 * conf/i386-linuxbios.rmk: New file.
26994
26995 * kern/i386/pc/hardware.c: Likewise.
26996 * term/i386/pc/at_keyboard.c: Likewise.
26997 * term/i386/pc/vga_text.c: Likewise.
26998
26999 * include/grub/i386/linuxbios/boot.h: Likewise.
27000 * include/grub/i386/linuxbios/console.h: Likewise.
27001 * include/grub/i386/linuxbios/init.h: Likewise.
27002 * include/grub/i386/linuxbios/kernel.h: Likewise.
27003 * include/grub/i386/linuxbios/loader.h: Likewise.
27004 * include/grub/i386/linuxbios/memory.h: Likewise.
27005 * include/grub/i386/linuxbios/serial.h: Likewise.
27006 * include/grub/i386/linuxbios/time.h: Likewise.
27007
27008 * kern/i386/linuxbios/init.c: Likewise.
27009 * kern/i386/linuxbios/startup.S: Likewise.
27010 * kern/i386/linuxbios/table.c: Likewise.
27011
27012 2007-10-31 Marco Gerards <marco@gnu.org>
27013
27014 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27015 (ata_mod_SOURCES): New variable.
27016 (ata_mod_CFLAGS): Likewise.
27017 (ata_mod_LDFLAGS): Likewise.
27018
27019 * disk/ata.c: New file.
27020
27021 * include/grub/disk.h (grub_disk_dev_id): Add
27022 `GRUB_DISK_DEV_ATA_ID'.
27023
27024 2007-10-31 Robert Millan <rmh@aybabtu.com>
27025
27026 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27027 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27028
27029 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27030 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27031
27032 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27033 `<grub/types.h>'.
27034
27035 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27036
27037 2007-10-27 Robert Millan <rmh@aybabtu.com>
27038
27039 * include/grub/types.h (ULONG_MAX): Define macro.
27040
27041 2007-10-22 Robert Millan <rmh@aybabtu.com>
27042
27043 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27044 `"../realmode.S"'.
27045 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27046
27047 2007-10-22 Robert Millan <rmh@aybabtu.com>
27048
27049 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27050 (pkgdata_MODULES): Add `biosdisk.mod'.
27051 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27052 variables.
27053
27054 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27055 (grub_biosdisk_init): Replace with ...
27056 (GRUB_MOD_INIT(biosdisk)): ... this.
27057 (grub_biosdisk_fini): Replace with ...
27058 (GRUB_MOD_FINI(biosdisk)): ... this.
27059
27060 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27061 (grub_machine_init): Remove call to grub_biosdisk_init().
27062 (grub_machine_fini): Remove call to grub_machine_fini().
27063
27064 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27065
27066 2007-10-22 Robert Millan <rmh@aybabtu.com>
27067
27068 * include/grub/time.h: New file.
27069 * include/grub/i386/time.h: Likewise.
27070 * include/grub/powerpc/time.h: Likewise.
27071 * include/grub/sparc64/time.h: Likewise.
27072
27073 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27074 instances to ...
27075 (KERNEL_MACHINE_TIME_HEADER): ... this.
27076 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27077 instances to ...
27078 (KERNEL_MACHINE_TIME_HEADER): ... this.
27079 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27080 instances to ...
27081 (KERNEL_MACHINE_TIME_HEADER): ... this.
27082
27083 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27084 (grub_millisleep): New function.
27085 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27086 (grub_millisleep): New function.
27087 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27088 Remove `grub/machine/time.h' include.
27089 (grub_millisleep): New function.
27090 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27091 Remove `grub/machine/time.h' include.
27092 (grub_millisleep): New function.
27093
27094 * include/grub/misc.h (grub_div_roundup): New function.
27095
27096 * kern/misc.c: Include `<grub/time.h>'.
27097 (grub_millisleep_generic): New function.
27098
27099 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27100 Add `time.h'.
27101 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27102 Add `time.h'.
27103 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27104 `machine/time.h'. Add `time.h'.
27105 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27106
27107 2007-10-21 Robert Millan <rmh@aybabtu.com>
27108
27109 * include/grub/misc.h (grub_max): New function.
27110
27111 2007-10-21 Robert Millan <rmh@aybabtu.com>
27112
27113 * util/misc.c (grub_util_info): Call fflush() before returning.
27114
27115 2007-10-20 Robert Millan <rmh@aybabtu.com>
27116
27117 * genmk.rb (Image): Copy `extra_flags' from here ...
27118 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27119
27120 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27121 to `argc' and `args' arguments.
27122
27123 2007-10-17 Robert Millan <rmh@aybabtu.com>
27124
27125 * kern/i386/loader.S: New file.
27126
27127 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27128 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27129 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27130 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27131 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27132 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27133 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27134 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27135 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27136 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27137 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27138 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27139 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27140 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27141
27142 * kern/i386/realmode.S: New file.
27143
27144 * kern/i386/pc/startup.S (protstack): Moved from here ...
27145 * kern/i386/realmode.S (protstack)... to here.
27146 * kern/i386/pc/startup.S (gdt): Moved from here ...
27147 * kern/i386/realmode.S (gdt)... to here.
27148 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27149 * kern/i386/realmode.S (prot_to_real)... to here.
27150
27151 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27152 `kern/i386/realmode.S'.
27153
27154 2007-10-17 Robert Millan <rmh@aybabtu.com>
27155
27156 * include/grub/i386/loader.h: New file.
27157
27158 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27159 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27160 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27161 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27162 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27163 * include/grub/i386/loader.h (grub_linux_prot_size)
27164 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27165 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27166 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27167 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27168
27169 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27170
27171 2007-10-15 Robert Millan <rmh@aybabtu.com>
27172
27173 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27174 filesystem when dev->disk is unset.
27175 Do probe for filesystem even when dev->disk->has_partitions is set.
27176 In case a filesystem is found, always report it.
27177 In case it isn't, if dev->disk->has_partitions is set, report that
27178 a partition table was found instead of reporting that no filesystem
27179 could be identified.
27180
27181 2007-10-12 Robert Millan <rmh@aybabtu.com>
27182
27183 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27184 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27185
27186 * include/grub/types.h (grub_host_to_target16): New macro.
27187 (grub_host_to_target32): Likewise.
27188 (grub_host_to_target64): Likewise.
27189 (grub_target_to_host16): Likewise.
27190 (grub_target_to_host32): Likewise.
27191 (grub_target_to_host64): Likewise.
27192
27193 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27194 Renamed from to ...
27195 (GRUB_MOD_ALIGN): ...this. Update all users.
27196
27197 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27198 grub_host_to_target32.
27199 Replace grub_be_to_cpu32 with grub_target_to_host32.
27200 (load_modules): Likewise.
27201 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27202 Replace grub_be_to_cpu32 with grub_target_to_host32.
27203 Replace grub_cpu_to_be16 with grub_host_to_target16.
27204 Replace grub_cpu_to_be32 grub_host_to_target32.
27205
27206 2007-10-12 Robert Millan <rmh@aybabtu.com>
27207
27208 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27209 * util/elf/grub-mkimage.c: ... here.
27210
27211 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27212 `util/powerpc/ieee1275/grub-mkimage.c'.
27213
27214 2007-10-07 Robert Millan <rmh@aybabtu.com>
27215
27216 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27217 and make it easier to figure out.
27218 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27219 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27220 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27221 leave us with less than HEAP_MIN_SIZE total heap.
27222 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27223
27224 2007-10-03 Robert Millan <rmh@aybabtu.com>
27225
27226 * include/grub/i386/io.h: New file.
27227 * commands/i386/pc/play.c (inb): Removed.
27228 (outb): Removed.
27229 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27230 with grub_outb().
27231 * term/i386/pc/serial.c (inb): Removed.
27232 (outb): Removed.
27233 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27234 with grub_outb().
27235 * term/i386/pc/vga.c (inb): Removed.
27236 (outb): Removed.
27237 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27238 with grub_outb().
27239
27240 2007-10-02 Robert Millan <rmh@aybabtu.com>
27241
27242 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27244 Reported by Marcin Kurek.
27245
27246 2007-09-07 Robert Millan <rmh@aybabtu.com>
27247
27248 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27249 SmartFirmware version updates (as released by Sven Luther), and avoid
27250 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27251 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27252 known broken.
27253
27254 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27255
27256 From Hitoshi Ozeki:
27257 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27258 when merging two regions.
27259
27260 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27261
27262 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27263 * normal/completion.c (grub_normal_do_completion): Likewise.
27264 Reported by Hitoshi Ozeki.
27265
27266 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27267
27268 Do not use devices at boot in chainloading.
27269
27270 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27271 (boot_part_addr): Likewise.
27272 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27273 with BOOT_DRIVE and BOOT_PART_ADDR.
27274 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27275 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27276
27277 2007-08-29 Robert Millan <rmh@aybabtu.com>
27278
27279 Patch from Simon Peter <dn.tlp@gmx.net>:
27280 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27281 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27282 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27283 util/i386/pc/grub-setup.c_DEPENDENCIES.
27284 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27285 util/grub-probe.c_DEPENDENCIES.
27286 * conf/powerpc-ieee1275.rmk: Likewise.
27287
27288 2007-08-28 Robert Millan <rmh@aybabtu.com>
27289
27290 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27291 to tell grub-mkdevicemap how to name devices.
27292 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27293 feature).
27294
27295 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27296 util/i386/get_disk_name.c.
27297 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27298 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27299 util/ieee1275/get_disk_name.c.
27300
27301 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27302
27303 * DISTLIST: Add util/i386/get_disk_name.c and
27304 util/ieee1275/get_disk_name.c.
27305
27306 * util/grub-mkdevicemap.c: Replace device naming logic with
27307 grub_util_get_disk_name() calls.
27308
27309 2007-08-20 Robert Millan <rmh@aybabtu.com>
27310
27311 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27312 (so that it works for both plural and singular quantities).
27313
27314 2007-08-05 Robert Millan <rmh@aybabtu.com>
27315
27316 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27317 so that [xz] isn't taken into account when determining order.
27318
27319 2007-08-02 Marco Gerards <marco@gnu.org>
27320
27321 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27322 `include/multiboot2.h', `include/grub/elfload.h',
27323 `include/multiboot.h', `include/grub/multiboot.h',
27324 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27325 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27326 `kern/elf.c', `loader/multiboot_loader.c',
27327 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27328 `loader/i386/pc/multiboot2.c',
27329 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27330 `util/i386/pc/grub-mkrescue.in'. Remove
27331 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27332 `include/grub/i386/pc/util/biosdisk.h' and
27333 `include/grub/powerpc/ieee1275/multiboot.h'.
27334
27335 2007-08-02 Bean <bean123ch@gmail.com>
27336
27337 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27338 (ntfs_mod_SOURCES): New variable.
27339 (ntfs_mod_CFLAGS): Likewise.
27340 (ntfs_mod_LDFLAGS): Likewise.
27341
27342 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27343 (grub_probe_SOURCES): Likewise.
27344 (grub_emu_SOURCES): Likewise.
27345
27346 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27347 (grub_emu_SOURCES): Likewise.
27348
27349 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27350 (grub_emu_SOURCES): Likewise.
27351
27352 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27353
27354 * fs/ntfs.c: New file.
27355
27356 2007-08-02 Bean <bean123ch@gmail.com>
27357
27358 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27359
27360 * file.h (grub_file): Likewise.
27361
27362 * fshelp.h (grub_fshelp_read_file): Likewise.
27363
27364 * util/i386/pc/grub-setup.c (setup): Likewise.
27365 (save_first_sector): Likewise.
27366 (save_blocklists): Likewise.
27367
27368 * fs/affs.c (grub_affs_read_file): Likewise.
27369
27370 * fs/ext2.c (grub_ext2_read_file): Likewise.
27371
27372 * fs/fat.c (grub_fat_read_data): Likewise.
27373
27374 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27375
27376 * fs/hfs.c (grub_hfs_read_file): Likewise.
27377
27378 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27379
27380 * fs/jfs.c (grub_jfs_read_file): Likewise.
27381
27382 * fs/minix.c (grub_minix_read_file): Likewise.
27383
27384 * fs/sfs.c (grub_sfs_read_file): Likewise.
27385
27386 * fs/ufs.c (grub_ufs_read_file): Likewise.
27387
27388 * fs/xfs.c (grub_xfs_read_file): Likewise.
27389
27390 * command/blocklist.c (read_blocklist): Likewise.
27391 (print_blocklist): Likewise.
27392
27393 2007-08-02 Marco Gerards <marco@gnu.org>
27394
27395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27396 `util/hostfs.c'.
27397
27398 * disk/host.c: New file.
27399
27400 * util/hostfs.c: Likewise.
27401
27402 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27403 return `GRUB_ERR_BAD_FS'.
27404 * fs/sfs.c (grub_sfs_mount): Likewise.
27405 * fs/xfs.c (grub_xfs_mount): Likewise.
27406
27407 * include/grub/disk.h (enum grub_disk_dev_id): Add
27408 `GRUB_DISK_DEVICE_HOST_ID'.
27409
27410 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27411
27412 2007-07-24 Jerone Young <jerone@gmail.com>
27413
27414 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27415 modules for compilation.
27416 * conf/powerpc-ieee1275.rmk: Likewise.
27417
27418 * include/multiboot.h: Move multiboot definitions to one file. Rename
27419 many definitions to not get grub specific.
27420 * include/multiboot2.h: Create header with multiboot 2 definitions.
27421 * include/grub/multiboot.h: Header for grub specific function
27422 prototypes and definitions.
27423 * include/grub/multiboot2.h: Likewise.
27424 * include/grub/multiboot_loader.h: Likewise.
27425 * include/grub/i386/pc/multiboot.h: Removed.
27426 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27427
27428 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27429 and 2 to allow for one multiboot and module commands.
27430 * loader/multiboot2.c: Add multiboot2 functionality.
27431 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27432 and definition names.
27433 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27434 2 functions.
27435 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27436 ieee1275 specific multiboot2 code.
27437
27438 * kern/i386/pc/startup.S: Change headers and definition names for
27439 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27440
27441 2007-07-22 Robert Millan <rmh@aybabtu.com>
27442
27443 * geninitheader.sh: Process file specified in first parameter rather
27444 than hardcoding grub_modules_init.lst.
27445 * geninit.sh: Likewise. Also, construct header name dynamically rather
27446 than hardcoding grub_modules_init.h.
27447
27448 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27449 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27450 grub_probe_init.[ch] and grub_setup_init.[ch].
27451
27452 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27453 grub_modules_init.h with grub_emu_init.h.
27454 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27455 grub_probe_init.[ch] files.
27456 * conf/i386-efi.rmk: Likewise.
27457 * conf/i386-pc.rmk: Likewise.
27458 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27459 grub_setup_init.[ch] files.
27460
27461 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27462 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27463 to initialize modules rather than a list of hardcoded functions.
27464 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27465 grub_init_all() to initialize modules rather than a list of hardcoded
27466 functions.
27467
27468 2007-07-22 Robert Millan <rmh@aybabtu.com>
27469
27470 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27471 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27472
27473 2007-07-22 Robert Millan <rmh@aybabtu.com>
27474
27475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27476 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27477 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27478 flag when running on SmartFirmware.
27479 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27480 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27481 was set.
27482
27483 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27484 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27485 rather than decreasing it.
27486
27487 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27488 there's not enough space to do it, fail in the same way as when it
27489 can't be done because there are no partitions.
27490
27491 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27492 when nvsetenv failed.
27493
27494 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27495
27496 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27497 because this rule is automatically generated.
27498 (grub-mkrescue): Removed for the same reason as above.
27499
27500 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27501
27502 Migrate to GNU General Public License Version 3.
27503
27504 * COPYING: Replaced with the plain text version of GPLv3.
27505
27506 * config.guess: Updated from gnulib.
27507 * config.sub: Likewise.
27508
27509 * geninit.sh: Output a GPLv3 copyright notice.
27510 * geninitheader.sh: Likewise.
27511 * genmodsrc.sh: Likewise.
27512 * gensymlist.sh.in: Likewise.
27513
27514 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27515 * boot/i386/pc/diskboot.S: Likewise.
27516 * boot/i386/pc/pxeboot.S: Likewise.
27517 * commands/blocklist.c: Likewise.
27518 * commands/boot.c: Likewise.
27519 * commands/cat.c: Likewise.
27520 * commands/cmp.c: Likewise.
27521 * commands/configfile.c: Likewise.
27522 * commands/echo.c: Likewise.
27523 * commands/help.c: Likewise.
27524 * commands/ls.c: Likewise.
27525 * commands/search.c: Likewise.
27526 * commands/terminal.c: Likewise.
27527 * commands/test.c: Likewise.
27528 * commands/videotest.c: Likewise.
27529 * commands/i386/cpuid.c: Likewise.
27530 * commands/i386/pc/halt.c: Likewise.
27531 * commands/i386/pc/play.c: Likewise.
27532 * commands/i386/pc/reboot.c: Likewise.
27533 * commands/i386/pc/vbeinfo.c: Likewise.
27534 * commands/i386/pc/vbetest.c: Likewise.
27535 * commands/ieee1275/halt.c: Likewise.
27536 * commands/ieee1275/reboot.c: Likewise.
27537 * commands/ieee1275/suspend.c: Likewise.
27538 * disk/loopback.c: Likewise.
27539 * disk/lvm.c: Likewise.
27540 * disk/raid.c: Likewise.
27541 * disk/efi/efidisk.c: Likewise.
27542 * disk/i386/pc/biosdisk.c: Likewise.
27543 * disk/ieee1275/ofdisk.c: Likewise.
27544 * font/manager.c: Likewise.
27545 * fs/affs.c: Likewise.
27546 * fs/ext2.c: Likewise.
27547 * fs/fat.c: Likewise.
27548 * fs/fshelp.c: Likewise.
27549 * fs/hfs.c: Likewise.
27550 * fs/hfsplus.c: Likewise.
27551 * fs/iso9660.c: Likewise.
27552 * fs/jfs.c: Likewise.
27553 * fs/minix.c: Likewise.
27554 * fs/sfs.c: Likewise.
27555 * fs/ufs.c: Likewise.
27556 * fs/xfs.c: Likewise.
27557 * hello/hello.c: Likewise.
27558 * include/grub/acorn_filecore.h: Likewise.
27559 * include/grub/arg.h: Likewise.
27560 * include/grub/bitmap.h: Likewise.
27561 * include/grub/boot.h: Likewise.
27562 * include/grub/cache.h: Likewise.
27563 * include/grub/device.h: Likewise.
27564 * include/grub/disk.h: Likewise.
27565 * include/grub/dl.h: Likewise.
27566 * include/grub/elfload.h: Likewise.
27567 * include/grub/env.h: Likewise.
27568 * include/grub/err.h: Likewise.
27569 * include/grub/file.h: Likewise.
27570 * include/grub/font.h: Likewise.
27571 * include/grub/fs.h: Likewise.
27572 * include/grub/fshelp.h: Likewise.
27573 * include/grub/gzio.h: Likewise.
27574 * include/grub/hfs.h: Likewise.
27575 * include/grub/kernel.h: Likewise.
27576 * include/grub/loader.h: Likewise.
27577 * include/grub/lvm.h: Likewise.
27578 * include/grub/misc.h: Likewise.
27579 * include/grub/mm.h: Likewise.
27580 * include/grub/net.h: Likewise.
27581 * include/grub/normal.h: Likewise.
27582 * include/grub/parser.h: Likewise.
27583 * include/grub/partition.h: Likewise.
27584 * include/grub/pc_partition.h: Likewise.
27585 * include/grub/raid.h: Likewise.
27586 * include/grub/rescue.h: Likewise.
27587 * include/grub/script.h: Likewise.
27588 * include/grub/setjmp.h: Likewise.
27589 * include/grub/symbol.h: Likewise.
27590 * include/grub/term.h: Likewise.
27591 * include/grub/terminfo.h: Likewise.
27592 * include/grub/tparm.h: Likewise.
27593 * include/grub/types.h: Likewise.
27594 * include/grub/video.h: Likewise.
27595 * include/grub/efi/api.h: Likewise.
27596 * include/grub/efi/chainloader.h: Likewise.
27597 * include/grub/efi/console.h: Likewise.
27598 * include/grub/efi/console_control.h: Likewise.
27599 * include/grub/efi/disk.h: Likewise.
27600 * include/grub/efi/efi.h: Likewise.
27601 * include/grub/efi/pe32.h: Likewise.
27602 * include/grub/efi/time.h: Likewise.
27603 * include/grub/i386/linux.h: Likewise.
27604 * include/grub/i386/setjmp.h: Likewise.
27605 * include/grub/i386/types.h: Likewise.
27606 * include/grub/i386/efi/kernel.h: Likewise.
27607 * include/grub/i386/efi/loader.h: Likewise.
27608 * include/grub/i386/efi/time.h: Likewise.
27609 * include/grub/i386/pc/biosdisk.h: Likewise.
27610 * include/grub/i386/pc/boot.h: Likewise.
27611 * include/grub/i386/pc/chainloader.h: Likewise.
27612 * include/grub/i386/pc/console.h: Likewise.
27613 * include/grub/i386/pc/init.h: Likewise.
27614 * include/grub/i386/pc/kernel.h: Likewise.
27615 * include/grub/i386/pc/loader.h: Likewise.
27616 * include/grub/i386/pc/memory.h: Likewise.
27617 * include/grub/i386/pc/multiboot.h: Likewise.
27618 * include/grub/i386/pc/serial.h: Likewise.
27619 * include/grub/i386/pc/time.h: Likewise.
27620 * include/grub/i386/pc/vbe.h: Likewise.
27621 * include/grub/i386/pc/vbeblit.h: Likewise.
27622 * include/grub/i386/pc/vbefill.h: Likewise.
27623 * include/grub/i386/pc/vbeutil.h: Likewise.
27624 * include/grub/i386/pc/vga.h: Likewise.
27625 * include/grub/ieee1275/ieee1275.h: Likewise.
27626 * include/grub/ieee1275/ofdisk.h: Likewise.
27627 * include/grub/powerpc/libgcc.h: Likewise.
27628 * include/grub/powerpc/setjmp.h: Likewise.
27629 * include/grub/powerpc/types.h: Likewise.
27630 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27631 * include/grub/powerpc/ieee1275/console.h: Likewise.
27632 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27633 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27634 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27635 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27636 * include/grub/powerpc/ieee1275/time.h: Likewise.
27637 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27638 * include/grub/sparc64/libgcc.h: Likewise.
27639 * include/grub/sparc64/setjmp.h: Likewise.
27640 * include/grub/sparc64/types.h: Likewise.
27641 * include/grub/sparc64/ieee1275/console.h: Likewise.
27642 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27643 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27644 * include/grub/sparc64/ieee1275/time.h: Likewise.
27645 * include/grub/util/biosdisk.h: Likewise.
27646 * include/grub/util/getroot.h: Likewise.
27647 * include/grub/util/lvm.h: Likewise.
27648 * include/grub/util/misc.h: Likewise.
27649 * include/grub/util/raid.h: Likewise.
27650 * include/grub/util/resolve.h: Likewise.
27651 * io/gzio.c: Likewise.
27652 * kern/device.c: Likewise.
27653 * kern/disk.c: Likewise.
27654 * kern/dl.c: Likewise.
27655 * kern/elf.c: Likewise.
27656 * kern/env.c: Likewise.
27657 * kern/err.c: Likewise.
27658 * kern/file.c: Likewise.
27659 * kern/fs.c: Likewise.
27660 * kern/loader.c: Likewise.
27661 * kern/main.c: Likewise.
27662 * kern/misc.c: Likewise.
27663 * kern/mm.c: Likewise.
27664 * kern/parser.c: Likewise.
27665 * kern/partition.c: Likewise.
27666 * kern/rescue.c: Likewise.
27667 * kern/term.c: Likewise.
27668 * kern/efi/efi.c: Likewise.
27669 * kern/efi/init.c: Likewise.
27670 * kern/efi/mm.c: Likewise.
27671 * kern/i386/dl.c: Likewise.
27672 * kern/i386/efi/init.c: Likewise.
27673 * kern/i386/efi/startup.S: Likewise.
27674 * kern/i386/pc/init.c: Likewise.
27675 * kern/i386/pc/lzo1x.S: Likewise.
27676 * kern/i386/pc/startup.S: Likewise.
27677 * kern/ieee1275/ieee1275.c: Likewise.
27678 * kern/powerpc/cache.S: Likewise.
27679 * kern/powerpc/dl.c: Likewise.
27680 * kern/powerpc/ieee1275/cmain.c: Likewise.
27681 * kern/powerpc/ieee1275/crt0.S: Likewise.
27682 * kern/powerpc/ieee1275/init.c: Likewise.
27683 * kern/powerpc/ieee1275/openfw.c: Likewise.
27684 * kern/sparc64/cache.S: Likewise.
27685 * kern/sparc64/dl.c: Likewise.
27686 * kern/sparc64/ieee1275/init.c: Likewise.
27687 * kern/sparc64/ieee1275/openfw.c: Likewise.
27688 * loader/efi/chainloader.c: Likewise.
27689 * loader/efi/chainloader_normal.c: Likewise.
27690 * loader/i386/efi/linux.c: Likewise.
27691 * loader/i386/efi/linux_normal.c: Likewise.
27692 * loader/i386/pc/chainloader.c: Likewise.
27693 * loader/i386/pc/chainloader_normal.c: Likewise.
27694 * loader/i386/pc/linux.c: Likewise.
27695 * loader/i386/pc/linux_normal.c: Likewise.
27696 * loader/i386/pc/multiboot.c: Likewise.
27697 * loader/i386/pc/multiboot_normal.c: Likewise.
27698 * loader/powerpc/ieee1275/linux.c: Likewise.
27699 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27700 * normal/arg.c: Likewise.
27701 * normal/cmdline.c: Likewise.
27702 * normal/command.c: Likewise.
27703 * normal/completion.c: Likewise.
27704 * normal/execute.c: Likewise.
27705 * normal/function.c: Likewise.
27706 * normal/lexer.c: Likewise.
27707 * normal/main.c: Likewise.
27708 * normal/menu.c: Likewise.
27709 * normal/menu_entry.c: Likewise.
27710 * normal/misc.c: Likewise.
27711 * normal/parser.y: Likewise.
27712 * normal/script.c: Likewise.
27713 * normal/i386/setjmp.S: Likewise.
27714 * normal/powerpc/setjmp.S: Likewise.
27715 * normal/sparc64/setjmp.S: Likewise.
27716 * partmap/acorn.c: Likewise.
27717 * partmap/amiga.c: Likewise.
27718 * partmap/apple.c: Likewise.
27719 * partmap/gpt.c: Likewise.
27720 * partmap/pc.c: Likewise.
27721 * partmap/sun.c: Likewise.
27722 * term/gfxterm.c: Likewise.
27723 * term/terminfo.c: Likewise.
27724 * term/efi/console.c: Likewise.
27725 * term/i386/pc/console.c: Likewise.
27726 * term/i386/pc/serial.c: Likewise.
27727 * term/i386/pc/vesafb.c: Likewise.
27728 * term/i386/pc/vga.c: Likewise.
27729 * term/ieee1275/ofconsole.c: Likewise.
27730 * util/biosdisk.c: Likewise.
27731 * util/console.c: Likewise.
27732 * util/genmoddep.c: Likewise.
27733 * util/getroot.c: Likewise.
27734 * util/grub-emu.c: Likewise.
27735 * util/grub-mkdevicemap.c: Likewise.
27736 * util/grub-probe.c: Likewise.
27737 * util/lvm.c: Likewise.
27738 * util/misc.c: Likewise.
27739 * util/raid.c: Likewise.
27740 * util/resolve.c: Likewise.
27741 * util/update-grub.in: Likewise.
27742 * util/update-grub_lib.in: Likewise.
27743 * util/grub.d/00_header.in: Likewise.
27744 * util/grub.d/10_hurd.in: Likewise.
27745 * util/grub.d/10_linux.in: Likewise.
27746 * util/i386/efi/grub-install.in: Likewise.
27747 * util/i386/efi/grub-mkimage.c: Likewise.
27748 * util/i386/pc/grub-install.in: Likewise.
27749 * util/i386/pc/grub-mkimage.c: Likewise.
27750 * util/i386/pc/grub-mkrescue.in: Likewise.
27751 * util/i386/pc/grub-setup.c: Likewise.
27752 * util/i386/pc/misc.c: Likewise.
27753 * util/powerpc/ieee1275/grub-install.in: Likewise.
27754 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27755 * util/powerpc/ieee1275/misc.c: Likewise.
27756 * video/bitmap.c: Likewise.
27757 * video/video.c: Likewise.
27758 * video/i386/pc/vbe.c: Likewise.
27759 * video/i386/pc/vbeblit.c: Likewise.
27760 * video/i386/pc/vbefill.c: Likewise.
27761 * video/i386/pc/vbeutil.c: Likewise.
27762 * video/readers/tga.c: Likewise.
27763
27764 2007-07-02 Robert Millan <rmh@aybabtu.com>
27765
27766 * conf/i386-efi.rmk: Replace obsolete reference to
27767 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27768 with util/getroot.c.
27769 * conf/powerpc-ieee1275.rmk: Likewise.
27770 * conf/sparc64-ieee1275.rmk: Likewise.
27771
27772 * util/grub-emu.c (main): Fix unchecked pointer handling.
27773
27774 2007-07-02 Robert Millan <rmh@aybabtu.com>
27775
27776 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27777 invocation to fail, in order to support partition-less media.
27778
27779 * util/i386/pc/grub-install.in: Likewise.
27780
27781 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27782 which fs or partmap modules are needed (akin to its sister scripts).
27783
27784 Also use grub-probe to get rid of unportable /proc/mounts check.
27785
27786 Print the same informational message that the other scripts do, before
27787 exiting.
27788
27789 2007-06-23 Robert Millan <rmh@aybabtu.com>
27790
27791 * util/update-grub_lib.in (font_path): New function. Determine whether
27792 a font file can be found and, if so, echo the GRUB path to it.
27793
27794 * util/update-grub.in: Handle multiple terminals depending on user
27795 input, platform availability and font file presence. Propagate
27796 variables of our findings to /etc/grub.d/ children.
27797
27798 * util/grub.d/00_header.in: Handle multiple terminals, based on
27799 environment setup by update-grub.
27800
27801 2007-06-23 Robert Millan <rmh@aybabtu.com>
27802
27803 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
27804
27805 2007-06-21 Robert Millan <rmh@aybabtu.com>
27806
27807 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27808 indicate end of data section in kernel image.
27809 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27810 GRUB_KERNEL_MACHINE_DATA_END.
27811
27812 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27813 space for it.
27814 * kern/i386/efi/startup.S: Likewise.
27815
27816 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27817 during image generation. Implement --prefix option to override this
27818 patch.
27819 * util/i386/efi/grub-mkimage.c: Likewise.
27820
27821 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27822 code to make path relative to its root into a separate function.
27823
27824 * util/i386/pc/grub-install.in: Use newly provided
27825 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27826 pass the result to grub-install --prefix.
27827
27828 2007-06-13 Robert Millan <rmh@aybabtu.com>
27829
27830 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27831 DEFAULT_DEVICE_MAP.
27832 * util/grub-emu.c: Use above definitions from misc.h instead of
27833 defining them.
27834 * util/grub-mkdevicemap.c: Likewise.
27835 * util/i386/pc/grub-setup.c: Likewise.
27836 * util/grub-probe.c: Likewise.
27837 (probe): Abort with grub_util_error() when either
27838 grub_guess_root_device or grub_util_get_grub_dev fails.
27839
27840 2007-06-12 Robert Millan <rmh@aybabtu.com>
27841
27842 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27843 "pager" assignment.
27844 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27845 "pcdata".
27846 * util/grub-probe.c (probe): Likewise for "drive_name".
27847
27848 2007-06-11 Robert Millan <rmh@aybabtu.com>
27849
27850 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27851 not just the cdrom one.
27852
27853 2007-06-11 Robert Millan <rmh@aybabtu.com>
27854
27855 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27856 Add --pkglibdir=DIR option to override pkglibdir.
27857 Mention --image-type=TYPE in help output.
27858 Fix --grub-mkimage (it was a no-op).
27859 Abort gracefully when no parameter is given.
27860
27861 2007-06-11 Robert Millan <rmh@aybabtu.com>
27862
27863 * util/i386/pc/grub-mkrescue.in: New file.
27864 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27865 * Makefile.in: Handle bin_SCRIPTS.
27866
27867 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27868
27869 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27870 list of video modes.
27871
27872 2007-06-06 Robert Millan <rmh@aybabtu.com>
27873
27874 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27875 file doesn't exist, or if it is in a filesystem grub can't read.
27876
27877 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27878 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27879 header comment to fit in 80 columns when the variables are resolved.
27880
27881 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27882 could be identified by update-grub. Remove redundant check for
27883 unifont.pff existence (since convert_system_path_to_grub_path now
27884 handles that).
27885
27886 2007-06-04 Robert Millan <rmh@aybabtu.com>
27887
27888 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27889
27890 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27891
27892 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27893
27894 2007-06-04 Robert Millan <rmh@aybabtu.com>
27895
27896 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27897
27898 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27899 grub_apple_partition_map_fini.
27900
27901 * util/biosdisk.c
27902 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27903 to access >2 TiB disks).
27904
27905 Print disk->total_sectors with %llu instead of %lu, since this
27906 variable is always 64-bit (prevents wrong disk size from being displayed
27907 on either >2 TiB disk or big-endian CPU).
27908
27909 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27910 into a generic case that supports all (sane) partition maps.
27911
27912 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27913 breaks big-endian.
27914
27915 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27916 and grub_apple_partition_map_fini() after that.
27917
27918 2007-06-01 Robert Millan <rmh@aybabtu.com>
27919
27920 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27921
27922 * util/grub.d/00_header.in: Only enable gfxterm when
27923 convert_system_path_to_grub_path() succeeds.
27924
27925 2007-05-20 Robert Millan <rmh@aybabtu.com>
27926
27927 * util/update-grub_lib.in: New file.
27928 * DISTLIST: Add update-grub_lib.in.
27929 * conf/common.rmk: Generate update-grub_lib and install it in
27930 $(lib_DATA).
27931 * Makefile.in: Add install routine for $(lib_DATA).
27932
27933 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27934 function provided by update-grub_lib to support arbitrary paths of
27935 unifont.pff.
27936 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27937 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27938
27939 2007-05-19 Robert Millan <rmh@aybabtu.com>
27940
27941 * commands/i386/cpuid.c: New module.
27942 * DISTLIST: Add it.
27943 * conf/i386-efi.rmk: Enable cpuid.mod.
27944 * conf/i386-pc.rmk: Likewise.
27945
27946 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27947
27948 * kern/disk.c (grub_disk_read): Check return value of
27949 grub_realloc().
27950
27951 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27952
27953 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27954 arrays.
27955 * disk/raid.c (grub_raid_open): Likewise.
27956
27957 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27958
27959 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27960 stack instead of on the heap.
27961
27962 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27963 before doing a read on it.
27964
27965 * configure.ac: Only use -fno-stack-protector for the target
27966 environment.
27967
27968 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27969
27970 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27971 __attribute_ ((unused)) to mode_type argument.
27972
27973 * util/getroot.c (grub_guess_root_device): Fix #endif.
27974
27975 * kern/misc.c (memcmp): Fix prototype.
27976
27977 * include/grub/partition.h [GRUB_UTIL]
27978 (grub_gpt_partition_map_init): Add prototype.
27979 (grub_gpt_partition_map_fini): Likewise.
27980
27981 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27982 at the right place.
27983
27984 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27985 (grub_fat_read_data): Likewise.
27986 (grub_fat_find_dir): Likewise.
27987
27988 * font/manager.c (find_glyph): Make table a const.
27989 (grub_font_get_glyph): Remove bitmap from if statement.
27990
27991 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27992
27993 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27994 code, first search for device in /dev/mapper, then in /dev.
27995 (grub_util_get_grub_dev): New function.
27996 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27997 prototype.
27998 * util/grub-probe.c (probe): Remove check for RAID, call
27999 grub_util_get_grub_dev() instead of
28000 grub_util_biosdisk_get_grub_dev().
28001 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28002 grub_util_biosdisk_get_grub_dev().
28003 * util/i386/pc/grub-setup.c (main): Likewise.
28004
28005 2007-05-16 Robert Millan <rmh@aybabtu.com>
28006
28007 * DISTLIST: Update for the latest changes.
28008 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28009 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28010 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28011 grub/util/biosdisk.h.
28012 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28013 grub/util/biosdisk.h.
28014
28015 2007-05-16 Robert Millan <rmh@aybabtu.com>
28016
28017 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28018
28019 2007-05-16 Robert Millan <rmh@aybabtu.com>
28020
28021 * util/i386/efi/grub-install.in: New.
28022 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28023 newly added grub-install.
28024 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28025 include.
28026 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28027 grub/util/biosdisk.h.
28028 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28029 grub/util/biosdisk.h.
28030
28031 2007-05-16 Robert Millan <rmh@aybabtu.com>
28032
28033 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28034 * include/grub/util/biosdisk.h: ... here.
28035 * util/i386/pc/biosdisk.c: Moved to ...
28036 * util/biosdisk.c: ... here.
28037 * util/i386/pc/getroot.c: Moved to ...
28038 * util/getroot.c: ... here.
28039 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28040 * util/grub-mkdevicemap.c: ... here.
28041 * util/i386/pc/grub-probe.c: Moved to ...
28042 * util/grub-probe.c: ... here.
28043
28044 2007-05-15 Robert Millan <rmh@aybabtu.com>
28045
28046 * util/update-grub.in: Remove duplicated line in grub.cfg header
28047 message.
28048
28049 2007-05-13 Robert Millan <rmh@aybabtu.com>
28050
28051 * util/update-grub.in: Fix a few assumptions about the devices holding
28052 /, /boot and /boot/grub being the same.
28053 * util/grub.d/00_header.in: Likewise.
28054 * util/grub.d/10_hurd.in: Likewise.
28055 * util/grub.d/10_linux.in: Likewise.
28056
28057 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28058 patterns. Use that to define the `.old' suffix as older than `'.
28059
28060 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28061
28062 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28063 the grub.cfg header message.
28064
28065 2007-05-11 Robert Millan <rmh@aybabtu.com>
28066
28067 * util/update-grub.in: Create device.map if it doesn't already exist,
28068 before attempting to run grub-probe.
28069 Check for grub-probe and grub-mkdevicemap with the same code
28070 grub-install is using.
28071 Remove test mode.
28072
28073 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28074
28075 * Makefile.in: Add the datarootdir autoconf variable.
28076
28077 2007-05-09 Robert Millan <rmh@aybabtu.com>
28078
28079 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28080 fail gracefully if dev->disk->partition == NULL.
28081
28082 2007-05-07 Robert Millan <rmh@aybabtu.com>
28083
28084 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28085 determine partition map module.
28086 * util/i386/pc/grub-install.in: Use this feature to decide which
28087 partition module to load, instead of hardcoding pc and gpt.
28088
28089 2007-05-07 Robert Millan <rmh@aybabtu.com>
28090
28091 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28092 source directory differs from build directory.
28093
28094 2007-05-05 Robert Millan <rmh@aybabtu.com>
28095
28096 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28097 initialisation.
28098
28099 2007-05-05 Robert Millan <rmh@aybabtu.com>
28100
28101 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28102
28103 2007-05-05 Robert Millan <rmh@aybabtu.com>
28104
28105 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28106 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28107
28108 2007-05-05 Robert Millan <rmh@aybabtu.com>
28109
28110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28111 (grub_probe_SOURCES): Likewise.
28112 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28113 GPT and initialize dos_part and bsd_part accordingly.
28114 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28115 install_bsd_part.
28116 (main): Activate gpt module for use during partition identification,
28117 and deactivate it afterwards.
28118 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28119 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28120 partition identification, and deactivate it afterwards.
28121
28122 2007-05-05 Robert Millan <rmh@aybabtu.com>
28123
28124 * term/i386/pc/console.c (grub_console_fini): Call
28125 grub_term_set_current() before grub_term_unregister().
28126
28127 2007-05-04 Robert Millan <rmh@aybabtu.com>
28128
28129 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28130 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28131 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28132 and update-grub_DATA.
28133 * conf/common.rmk: Build and install update-grub components.
28134 * conf/common.mk: Regenerate.
28135 * util/update-grub.in: New. Core of update-grub.
28136 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28137 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28138 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28139 * util/grub.d/README: New. Document grub.d directory layout.
28140
28141 2007-05-01 Robert Millan <rmh@aybabtu.com>
28142
28143 * util/grub-emu.c: Move initialization functions
28144 grub_util_biosdisk_init() and grub_init_all() before
28145 grub_util_biosdisk_get_grub_dev(), which relies on them.
28146
28147 2007-04-19 Robert Millan <rmh@aybabtu.com>
28148
28149 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28150 it is used later.
28151
28152 2007-04-18 Jerone Young <jerone@gmail.com>
28153
28154 * kernel/elf.c: Add missing parenthesis for conditional statement
28155 stanza.
28156
28157 2007-04-10 Jerone Young <jerone@gmail.com>
28158
28159 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28160 continue on and look for device node with real device name.
28161
28162 2007-04-10 Jerone Young <jerone@gmail.com>
28163
28164 * configure.ac: Add argument for autoconf to use transformation
28165 ability.
28166 * Makefile.in: Add autoconf package transformation code.
28167 * util/i386/pc/grub-install.in: Likewise.
28168 * util/powerpc/ieee1275/grub-install.in: Likewise.
28169
28170 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28171
28172 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28173 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28174 (EXT2_REVISION): Likewise.
28175 (EXT2_INODE_SIZE): Likewise.
28176 (struct grub_ext2_block_group): Added a missing member
28177 "used_dirs".
28178 (grub_ext2_read_inode): Divide by the inode size in a superblock
28179 instead of 128 to obtain INODES_PER_BLOCK.
28180 Use the macro EXT2_INODE_SIZE instead of directly using
28181 SBLOCK->INODE_SIZE.
28182
28183 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28184
28185 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28186 superblock instead of the structure size to compute an
28187 offset. This fixes the problem that GRUB could not read a
28188 filesystem when inode size is different from 128-byte.
28189
28190 2007-03-05 Marco Gerards <marco@gnu.org>
28191
28192 * normal/main.c (read_config_file): When "menu" is not set, create
28193 an initial context.
28194
28195 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28196
28197 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28198 (HEAP_LIMIT): New macro.
28199 (grub_claim_heap): Claim memory up to `heaplimit'.
28200
28201 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28202
28203 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28204 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28205 (_start): Likewise.
28206 (grub_arch_modules_addr): Return address after `_end'.
28207 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28208 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28209 (add_segments): Calculate `_end' from phdr size and location.
28210 (ALIGN_UP): Moved to ...
28211 * include/grub/misc.h: here.
28212 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28213 New macro.
28214 (GRUB_IEEE1275_MODULE_BASE): Removed.
28215
28216 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28217
28218 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28219 loop boundary.
28220
28221 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28222
28223 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28224 All users updated.
28225 (grub_elf64_load_hook_t): Likewise.
28226 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28227 debug output.
28228
28229 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28230
28231 * kern/mm.c: Update copyright.
28232 (grub_mm_debug): Correct syntax error.
28233 (grub_mm_dump_free): New function.
28234 (grub_debug_free): Call `grub_free'.
28235 * include/grub/mm.h: Update copyright.
28236 (grub_mm_dump_free): Add declaration.
28237
28238 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28239
28240 * include/grub/ieee1275/ieee1275.h: Update copyright.
28241 * kern/powerpc/ieee1275/init.c: Likewise.
28242 * kern/powerpc/ieee1275/openfw.c: Likewise.
28243
28244 * loader/powerpc/ieee1275/linux.c: Likewise.
28245 * include/grub/elfload.h: Likewise.
28246 * kern/elf.c: Likewise.
28247 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28248 callers.
28249 (grub_elf64_load): Likewise.
28250 (grub_elf32_load_segment): Move to a nested function.
28251 (grub_elf64_load_segment): Likewise.
28252
28253 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28254
28255 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28256 prototype.
28257 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28258 (grub_heap_len): Likewise.
28259 (HEAP_SIZE): New macro.
28260 (grub_claim_heap): New function.
28261 (grub_machine_init): Don't claim heap directly. Call
28262 `grub_claim_heap'.
28263 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28264 (grub_available_iterate): New function.
28265
28266 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28267
28268 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28269 * configure.ac: Use it for testing the HOST and TARGET compilers.
28270
28271 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28272
28273 * Makefile.in (enable_grub_emu): New variable.
28274 * configure.ac (--enable-grub-emu): New option.
28275 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28276 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28277 * conf/i386-pc.rmk: Likewise.
28278 * conf/powerpc-ieee1275.rmk: Likewise.
28279 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28280
28281 2006-12-12 Marco Gerards <marco@gnu.org>
28282
28283 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28284
28285 * kern/env.c (grub_env_unset): Don't free the member `value' when
28286 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28287 pointer.
28288
28289 * normal/main.c (current_menu): Removed.
28290 (free_menu): Unset the `menu' environment variable.
28291 (grub_normal_menu_addentry): Make use of the environment variable
28292 `menu', instead of using the global `current_menu'. Allocate
28293 memory for the sourcecode of this entry.
28294 (read_config_file): New argument `nested', changed all callers.
28295 Only in the case of a new context, initialize a new menu. Set the
28296 `menu' environment variable.
28297 (grub_normal_execute): Don't set and unset the environment
28298 variable `menu' here anymore. Only free the menu when leaving the
28299 context.
28300
28301 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28302 leak.
28303
28304 2006-12-11 Marco Gerards <marco@gnu.org>
28305
28306 * normal/menu_entry.c (run): Fix off by one bug so the last line
28307 is executed. Move the loader check to outside the loop.
28308
28309 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28310
28311 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28312
28313 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28314
28315 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28316 the number of sectors. Reported by Andrey Shuvikov
28317 <mr_hyro@yahoo.com>.
28318
28319 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28320
28321 * kern/disk.c (grub_disk_read): When there is a read error, always
28322 try to read only the necessary data.
28323
28324 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28325 disk/raid.c.
28326 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28327 prototype.
28328 [GRUB_UTIL] (grub_raid_fini): Likewise.
28329 [GRUB_UTIL] (grub_lvm_init): Likewise.
28330 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28331 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28332 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28333 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28334 and grub_raid_fini().
28335
28336 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28337
28338 * include/grub/types.h (__unused): Rename to UNUSED.
28339 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28340 (grub_elf64_size): Likewise.
28341
28342 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28343
28344 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28345 grub_error_push and grub_error_pop in the error-handling path.
28346 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28347 length.
28348
28349 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28350
28351 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28352 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28354 (kernel_elf_SOURCES): Likewise.
28355 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28356 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28357 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28358 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28359 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28360 (elf_mod_SOURCES): New variable.
28361 (elf_mod_CFLAGS): Likewise.
28362 (elf_mod_LDFLAGS): Likewise.
28363 * include/grub/types.h (__unused): New macro.
28364 * include/grub/elfload.h: New file.
28365 * kern/elf.c: Likewise.
28366 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28367 (ELF32_LOADMASK): New macro.
28368 (ELF64_LOADMASK): Likewise.
28369 (vmlinux): Removed.
28370 (grub_linux_load32): New function.
28371 (grub_linux_load64): Likewise.
28372 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28373 Use grub_elf_t instead of grub_file_t.
28374
28375 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28376
28377 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28378 `catch_result' to struct set_color_args.
28379
28380 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28381
28382 * normal/menu.c: Include grub/script.h.
28383 * normal/menu_entry.c: Likewise.
28384 * include/grub/normal.h: Do not include grub/script.h.
28385
28386 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28387
28388 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28389
28390 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28391
28392 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28393 disk.
28394 (grub_disk_close): Print debug messages when closing a disk.
28395 (grub_disk_read): Print debug messages when disk read fails.
28396 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28397 filesystem type.
28398 * kern/partition.c: Include misc.h.
28399 (grub_partition_iterate): Print debug messages when detecting
28400 partition type.
28401
28402 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28403
28404 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28405 is negative.
28406 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28407
28408 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28409
28410 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28411 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28412
28413 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28414
28415 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28416 instead of sizeof(lv). Patch by Michael Guntsche.
28417
28418 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28419
28420 * disk/lvm.c: Rename VGS to VG_LIST.
28421 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28422 (grub_lvm_open): Likewise.
28423 Thanks to Michael Guntsche for finding this bug.
28424
28425 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28426
28427 * configure.ac (AC_INIT): Bumped to 1.95.
28428
28429 2006-10-14 Robert Millan <rmh@aybabtu.com>
28430
28431 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28432 with "/dev/.static/dev/md".
28433
28434 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28435
28436 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28437 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28438 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28439 DRIVE_NAME are always freed.
28440
28441 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28442 DOS_PART, as a DOS partition is counted from one instead of zero
28443 now. Reported by Robert Millan.
28444
28445 2006-10-14 Robert Millan <rmh@aybabtu.com>
28446
28447 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28448 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28449 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28450 string returned by grub_guess_root_device.
28451 * util/i386/pc/grub-setup.c: Likewise.
28452 * util/i386/pc/grub-probefs.c: Likewise.
28453
28454 * util/i386/pc/grub-probefs.c: Rename to ...
28455 * util/i386/pc/grub-probe.c: ... this.
28456 * DISTLIST: Remove grub-probefs, add grub-probe.
28457 * conf/i386-efi.rmk: Likewise.
28458 * conf/i386-pc.rmk: Likewise.
28459 * util/i386/pc/grub-install.in: Likewise.
28460
28461 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28462 choose which information we want to print.
28463
28464 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28465
28466 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28467 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28468 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28469 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28470 video/readers/tga.c and video/i386/pc/vbeutil.c.
28471
28472 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28473
28474 Added support for RAID and LVM.
28475
28476 * disk/lvm.c: New file.
28477 * disk/raid.c: Likewise.
28478 * include/grub/lvm.h: Likewise.
28479 * include/grub/raid.h: Likewise.
28480 * include/grub/util/lvm.h: Likewise.
28481 * include/grub/util/raid.h: Likewise.
28482 * util/lvm.c: Likewise.
28483 * util/raid.c: Likewise.
28484
28485 * include/grub/disk.h (grub_disk_dev_id): Add
28486 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28487 (grub_disk_get_size): New prototype.
28488 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28489 returns a partition.
28490 (grub_disk_get_size): New function.
28491
28492 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28493 verbatim if grub_install_dos_part is -2.
28494
28495 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28496 and LVM devices.
28497
28498 * util/i386/pc/grub-setup.c (setup): New argument
28499 MUST_EMBED. Force embedding of GRUB when the argument is
28500 true. Close FILE before returning.
28501 (main): Add support for RAID and LVM.
28502
28503 * conf/common.rmk: Add RAID and LVM modules.
28504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28505 util/lvm.c.
28506 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28507
28508 * kern/misc.c (grub_strstr): New function.
28509 * include/grub/misc.h (grub_strstr): New prototype.
28510
28511 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28512
28513 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28514
28515 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28516
28517 * kern/misc.c (grub_strtoull): Guess the base only if not
28518 specified.
28519
28520 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28521
28522 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28523 PowerMac support.
28524
28525 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28526
28527 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28528
28529 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28530 Remove `flags' argument. All callers changed.
28531 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28532 (IEEE1275_IHANDLE_INVALID): New variable.
28533 (IEEE1275_CELL_INVALID): New variable.
28534 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28535 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28536 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28537 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28538 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28539 codes from Open Firmware. All callers updated.
28540 (grub_ieee1275_next_property): Directly return Open Firmware return
28541 code.
28542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28543 Standardize error checking from `grub_ieee1275_get_property'.
28544 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28545 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28546
28547 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28548
28549 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28550 `instance_to_package_args' to `instance_to_path_args'.
28551
28552 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28553 `grub_ieee1275_chosen'.
28554
28555 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28556 `grub_ieee1275_interpret'.
28557
28558 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28559
28560 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28561
28562 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28563
28564 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28565 (__cmpdi): Likewise.
28566
28567 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28568 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28569 `grub_ssize_t'.
28570
28571 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28572
28573 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28574 to type `grub_ssize_t'.
28575 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28576
28577 2006-09-22 Marco Gerards <marco@gnu.org>
28578
28579 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28580 newlines.
28581
28582 2006-09-22 Marco Gerards <marco@gnu.org>
28583
28584 * commands/echo.c: New file.
28585
28586 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28587
28588 * conf/common.rmk (echo_mod_SOURCES): New variable.
28589 (echo_mod_CFLAGS): Likewise.
28590 (echo_mod_LDFLAGS): Likewise.
28591
28592 2006-09-22 Marco Gerards <marco@gnu.org>
28593
28594 * normal/main.c (get_line): Malloc memory instead of using
28595 preallocated memory. Removed the arguments `cmdline' and
28596 `max_len'. Updated all callers.
28597
28598 2006-09-22 Marco Gerards <marco@gnu.org>
28599
28600 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28601 (normal_mod_DEPENDENCIES): Likewise.
28602
28603 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28604 (normal_mod_DEPENDENCIES): Likewise.
28605
28606 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28607
28608 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28609
28610 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28611 programs.
28612 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28613 (normal_mod_DEPENDENCIES): Likewise.
28614 * conf/i386-pc.mk: Regenerate.
28615 * conf/i386-efi.mk: Likewise
28616 * conf/common.mk: Likewise.
28617 * conf/powerpc-ieee1275.mk: Likewise.
28618 * conf/sparc64-ieee1275.mk: Likewise.
28619
28620 2006-09-22 Robert Millan <rmh@aybabtu.com>
28621
28622 Sync with i386 version.
28623 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28624 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28625
28626 2006-09-21 Robert Millan <rmh@aybabtu.com>
28627
28628 Import from GRUB Legacy (lib/device.c):
28629 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28630 (init_device_map) [__linux__]: Add support for I2O devices.
28631
28632 2006-09-14 Marco Gerards <marco@gnu.org>
28633
28634 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28635 `-melf_i386'.
28636
28637 2006-09-14 Robert Millan <rmh@aybabtu.com>
28638
28639 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28640 /boot/grub/*.lst.
28641
28642 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28643
28644 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28645 before adding it to device.map.
28646
28647 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28648
28649 * genmk.rb: Let GCC generate dependencies the first time it
28650 compiles a file; using the -MD option.
28651 * conf/common.mk: Regenerate.
28652 * conf/i386-pc.mk: Likewise.
28653 * conf/i386-efi.mk: Likewise.
28654 * conf/powerpc-ieee1275.mk: Likewise.
28655 * conf/sparc64-ieee1275.mk: Likewise.
28656
28657 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28658
28659 Move the prototypes of grub_setjmp and grub_longjmp to
28660 cpu/setjmp.h, so that each architecture may specify different
28661 attributes.
28662
28663 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28664 (grub_longjmp): Likewise.
28665 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28666 (grub_longjmp): Likewise.
28667 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28668 (grub_longjmp): Likewise.
28669
28670 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28671 [!GRUB_UTIL] (grub_longjmp): Removed.
28672
28673 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28674
28675 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28676 "color!" method does not return any value.
28677
28678 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28679
28680 * include/grub/bitmap.h: New file.
28681
28682 * include/grub/i386/pc/vbeutil.h: Likewise.
28683
28684 * video/bitmap.c: Likewise.
28685
28686 * video/readers/tga.c: Likewise.
28687
28688 * video/i386/pc/vbeutil.c: Likewise.
28689
28690 * commands/videotest.c: Code cleanup and updated to reflect to new
28691 video API.
28692
28693 * term/gfxterm.c: Likewise.
28694
28695 * video/video.c: Likewise.
28696
28697 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28698 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28699 (bitmap_mod_SOURCES): New entry.
28700 (bitmap_mod_CFLAGS): Likewise.
28701 (bitmap_mod_LDFLAGS): Likewise.
28702 (tga_mod_SOURCES): Likewise.
28703 (tga_mod_CFLAGS): Likewise.
28704 (tga_mod_LDFLAGS): Likewise.
28705
28706 * include/grub/video.h (grub_video_blit_operators): New enum type.
28707 (grub_video_render_target): Changed as forward declaration and moved
28708 actual definition to be video driver specific.
28709 (grub_video_adapter.blit_bitmap): Added blitting operator.
28710 (grub_video_adapter.blit_render_target): Likewise.
28711 (grub_video_blit_bitmap): Likewise.
28712 (grub_video_blit_render_target): Likewise.
28713
28714 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28715 driver specific render target definition.
28716 (grub_video_vbe_map_rgba): Added driver internal helper.
28717 (grub_video_vbe_unmap_color): Updated to use
28718 grub_video_i386_vbeblit_info.
28719 (grub_video_vbe_get_video_ptr): Likewise.
28720
28721 * include/grub/i386/pc/vbeblit.h
28722 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28723 grub_video_i386_vbeblit_info.
28724 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28725 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28726 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28727 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28728 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28729 (grub_video_i386_vbeblit_index_index): Likewise.
28730 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28731 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28732 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28733 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28734 operator.
28735 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28736 operator.
28737
28738 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28739 include/grub/i386/pc/vbeblit.h.
28740
28741 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28742 Updated to use grub_video_i386_vbeblit_info.
28743 (grub_video_i386_vbefill_R8G8B8): Likewise.
28744 (grub_video_i386_vbefill_index): Likewise.
28745 (grub_video_i386_vbefill): Added generic filler.
28746
28747 * video/i386/pc/vbefill.c: Updated to reflect changes on
28748 include/grub/i386/pc/vbefill.h.
28749
28750 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28751 grub_video_i386_vbeblit_info.
28752 (grub_video_vbe_unmap_color): Likewise.
28753 (grub_video_vbe_blit_glyph): Likewise.
28754 (grub_video_vbe_scroll): Likewise.
28755 (grub_video_vbe_draw_pixel): Removed function.
28756 (grub_video_vbe_get_pixel): Likewise.
28757 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28758 updated code to use it.
28759 (common_blitter): Added common blitter for render target and bitmap.
28760 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28761 (grub_video_vbe_blit_render_target): Likewise.
28762
28763 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
28764
28765 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28766 is in text mode if there is no console control protocol instance
28767 available.
28768
28769 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28770
28771 * include/grub/video.h: Code cleanup.
28772
28773 * include/grub/i386/pc/vbe.h: Likewise.
28774
28775 * video/i386/pc/vbe.c: Likewise.
28776
28777 * video/i386/pc/vbeblit.c: Likewise.
28778
28779 * video/i386/pc/vbefill.c: Likewise.
28780
28781 * video/video.c: Likewise. Also added more comments.
28782
28783 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28784
28785 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28786 (struct grub_biosdisk_dap): Likewise.
28787
28788 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28789 linkage settings for all functions.
28790
28791 2006-07-12 Marco Gerards <marco@gnu.org>
28792
28793 * configure.ac (--enable-mm-debug): Fix typo.
28794
28795 * genkernsyms.sh.in: Use proper quoting for `CC'.
28796
28797 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28798
28799 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28800 (normal_mod_ASFLAGS): Remove "-m32".
28801
28802 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28803
28804 * util/misc.c: Include config.h.
28805 [!HAVE_MEMALIGN]: Do not include malloc.h.
28806 (grub_memalign): Use posix_memalign, if present. Then, use
28807 memalign, if present. Otherwise, emit an error.
28808
28809 * util/grub-emu.c: Do not include malloc.h.
28810
28811 * include/grub/util/misc.h: Include unistd.h. This is required for
28812 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28813 D. Eades III <hde@foobar-qux.org>.
28814
28815 * configure.ac (AC_GNU_SOURCE): Added.
28816 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28817 type.
28818
28819 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28820
28821 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28822 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28823
28824 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28825
28826 * include/grub/types.h (grub_host_addr_t): Rename to
28827 grub_target_addr_t.
28828 (grub_host_off_t): Rename to grub_target_off_t.
28829 (grub_host_size_t): Rename to grub_target_size_t.
28830 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28831 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28832
28833 * include/grub/kernel.h (struct grub_module_header): Change type
28834 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28835 (grub_module_info): Likewise.
28836
28837 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28838
28839 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28840 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28841 Velazquez <jesus.velazquez@gmail.com>.
28842
28843 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28844
28845 Count partitions from 1 instead of 0 in the string representation
28846 of partitions. Still use 0-based internally.
28847
28848 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28849 (sun_partition_map_iterate): Use grub_partition_t instead of
28850 struct grub_partition *. Cast DESC->START_CYLINDER to
28851 grub_uint64_t after converting the endian.
28852 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28853 (sun_partition_map_get_name): Add 1 to P->INDEX.
28854
28855 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28856 PCDATA->DOS_PART.
28857 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28858
28859 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28860 zero instead of one.
28861 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28862 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28863
28864 * partmap/apple.c (apple_partition_map_iterate): Change the type
28865 of POS to unsigned.
28866 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28867 (apple_partition_map_get_name): Add 1 into P->INDEX.
28868
28869 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28870 of POS to unsigned.
28871 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28872 calculate the offset of a partition.
28873 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28874 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28875
28876 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28877 SECTOR to grub_disk_addr_t.
28878 (acorn_partition_map_iterate): Likewise.
28879 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28880 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28881 top.
28882 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28883
28884 * kern/i386/pc/init.c (make_install_device): Add 1 into
28885 GRUB_INSTALL_DOS_PART.
28886
28887 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28888 conditional.
28889
28890 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28891
28892 Clean up the code to support 64-bit addressing in disks and
28893 files. This change is not enough for filesystems yet.
28894
28895 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28896 type of "start" to grub_uint64_t.
28897 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28898 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28899 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28900 convert addresses.
28901
28902 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28903 to grub_disk_addr_t.
28904
28905 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28906 string.
28907
28908 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28909
28910 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28911 to char *.
28912
28913 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28914
28915 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28916
28917 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28918
28919 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28920 to grub_off_t, to detect an error from grub_file_seek.
28921 (grub_multiboot_load_elf32): Likewise.
28922
28923 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28924 maximum unsigned long value when an overflow is detected.
28925 (grub_strtoull): New function.
28926 (grub_divmod64): Likewise.
28927 (grub_lltoa): use grub_divmod64.
28928
28929 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28930 grub_disk_addr_t.
28931 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28932 the pointer to next character. Use grub_strtoull instead of
28933 grub_strtoul.
28934 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28935 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28936 respectively.
28937
28938 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
28939 return value is signed.
28940 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28941 test if OFFSET is less than zero, as OFFSET is unsigned now.
28942
28943 * kern/disk.c (struct grub_disk_cache): Change the type of
28944 "sector" to grub_disk_addr_t.
28945 (grub_disk_cache_get_index): Change the type of SECTOR to
28946 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28947 unsigned after shifting.
28948 (grub_disk_cache_invalidate): Change the type of SECTOR to
28949 grub_disk_addr_t.
28950 (grub_disk_cache_unlock): Likewise.
28951 (grub_disk_cache_store): Likewise.
28952 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28953 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28954 grub_disk_addr_t and grub_uint64_t, respectively.
28955 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28956 body, as the value of OFFSET is tweaked by
28957 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28958 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28959 respectively.
28960 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28961 body, as the value of OFFSET is tweaked by
28962 grub_disk_check_range. Change the types of LEN and N to
28963 grub_size_t.
28964
28965 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28966 and "saved_offset" to grub_off_t.
28967 (test_header): Cast BUF to char *.
28968 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28969 to char *.
28970 (grub_gzio_read): Change the types of OFFSET and SIZE to
28971 grub_off_t and grub_size_t, respectively.
28972
28973 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28974 Removed.
28975 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28976 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28977 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28978 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28979 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28980
28981 * include/grub/types.h (grub_off_t): Unconditionally set to
28982 grub_uint64_t.
28983 (grub_disk_addr_t): Changed to grub_uint64_t.
28984
28985 * include/grub/partition.h (struct grub_partition): Change the
28986 types of "start", "len" and "offset" to grub_disk_addr_t,
28987 grub_uint64_t and grub_disk_addr_t, respectively.
28988 (grub_partition_get_start): Return grub_disk_addr_t.
28989 (grub_partition_get_len): Return grub_uint64_t.
28990
28991 * include/grub/misc.h (grub_strtoull): New prototype.
28992 (grub_divmod64): Likewise.
28993
28994 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28995 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28996 grub_off_t, respectively.
28997 All callers and references changed.
28998
28999 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29000 grub_size_t in "read".
29001 All callers and references changed.
29002
29003 * include/grub/file.h (struct grub_file): Change the types of
29004 "offset" and "size" to grub_off_t and grub_off_t,
29005 respectively. Change the type of SECTOR to grub_disk_addr_t in
29006 "read_hook".
29007 (grub_file_read): Change the type of LEN to grub_size_t.
29008 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29009 grub_off_t.
29010 (grub_file_size): Return grub_off_t.
29011 (grub_file_tell): Likewise.
29012 All callers and references changed.
29013
29014 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29015 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29016 "write".
29017 (struct grub_disk): Change the type of "total_sectors" to
29018 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29019 "read_hook".
29020 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29021 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29022 (grub_disk_write): Likewise.
29023 All callers and references changed.
29024
29025 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29026 char * for grub_strncmp to silence gcc.
29027 (grub_iso9660_mount): Likewise.
29028 (grub_iso9660_mount): Likewise.
29029 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29030 return statement.
29031 (grub_iso9660_iterate_dir): Likewise.
29032 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29033
29034 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29035 LEN to grub_disk_addr_t and grub_size_t, respectively.
29036
29037 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29038
29039 * fs/jfs.c (grub_jfs_read_file): Likewise.
29040
29041 * fs/minix.c (grub_jfs_read_file): Likewise.
29042
29043 * fs/sfs.c (grub_jfs_read_file): Likewise.
29044
29045 * fs/ufs.c (grub_jfs_read_file): Likewise.
29046
29047 * fs/xfs.c (grub_jfs_read_file): Likewise.
29048
29049 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29050 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29051 respectively.
29052
29053 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29054 BLKNR to -1 instead of returning GRUB_ERRNO.
29055 (grub_ext2_read_file): Change the types of SECTOR and
29056 LEN to grub_disk_addr_t and grub_size_t, respectively.
29057
29058 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29059 LEN to grub_disk_addr_t and grub_size_t, respectively.
29060
29061 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29062 grub_file_read.
29063
29064 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29065 string. Do not cast SECTOR explicitly.
29066
29067 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29068 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29069 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29070 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29071 over 2TB and LBA mode is not supported, raise an error.
29072 (get_safe_sectors): New function.
29073 (grub_biosdisk_read): Use get_safe_sectors.
29074 (grub_biosdisk_write): Likewise.
29075
29076 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29077 (grub_efidisk_write): Likewise.
29078
29079 * disk/loopback.c (delete_loopback): Cosmetic changes.
29080 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29081 correctly.
29082 (grub_loopback_open): Likewise.
29083 (grub_loopback_read): Likewise. Also, change the type of POS to
29084 grub_off_t, and fix the usage of grub_memset.
29085
29086 * commands/i386/pc/play.c: Include grub/machine/time.h.
29087
29088 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29089 print FILE->SIZE.
29090
29091 * commands/configfile.c: Include grub/env.h.
29092
29093 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29094 GRUB_ERRNO directly instead. Change the type of POS to
29095 grub_off_t. Follow the coding standard.
29096
29097 * commands/blocklist.c: Include grub/partition.h.
29098 (grub_cmd_blocklist): Return an error if the underlying device is
29099 not a disk. Take the starting sector of a partition into account,
29100 if a partition is used.
29101
29102 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29103 a length field.
29104 (lba_mode): Support 64-bit addresses.
29105 (chs_mode): Likewise.
29106 (copy_buffer): Adapted to the new offsets of a length field and a
29107 segment field.
29108 (blocklist_default_start): Allocate 64-bit space.
29109
29110 * boot/i386/pc/boot.S (force_lba): Removed.
29111 (boot_drive): Moved to under KERNEL_SECTOR.
29112 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29113 space.
29114 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29115 is useless.
29116 (lba_mode): Refactored to support a 64-bit address. More size
29117 optimization.
29118 (setup_sectors): Likewise.
29119
29120 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29121
29122 * DISTLIST: Added include/grub/i386/linux.h. Removed
29123 include/grub/i386/pc/linux.h
29124
29125 * configure.ac (AC_INIT): Bumped to 1.94.
29126
29127 * config.guess: Updated from gnulib.
29128 * config.sub: Likewise.
29129 * install-sh: Likewise.
29130 * mkinstalldirs: Likewise.
29131
29132 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29133
29134 * conf/common.rmk (grub_modules_init.lst): Depended on
29135 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29136 MODSRCFILES.
29137
29138 * genmk.rb (PModule::rule): Reverted the previous change.
29139
29140 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29141
29142 * conf/common.rmk (grub_modules_init.lst): Depends on
29143 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29144 that the target does not exist before producing.
29145 (grub_modules_init.h): Remove the target before generating.
29146 (grub_emu_init.c): Likewise.
29147
29148 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29149
29150 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29151
29152 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29153 for the target-specific tests. Make sure that we also have the
29154 up-to-date target variables for those tests.
29155
29156 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29157
29158 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29159 (PModule::rule): Likewise.
29160
29161 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29162
29163 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29164 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29165 target-specific flags should be prefixed.
29166 (PModule::rule): Likewise.
29167
29168 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29169
29170 * configure.ac (CMP): Check if cmp is available explicitly.
29171
29172 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29173
29174 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29175 (target_cpu): New variable.
29176 (pkglibdir): Use target_cpu instead of host_cpu.
29177
29178 * util/i386/pc/grub-install.in (host_cpu): Removed.
29179 (target_cpu): New variable.
29180 (pkglibdir): Use target_cpu instead of host_cpu.
29181
29182 * util/genmoddep.c: Removed.
29183
29184 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29185 instead of GRUB_HOST_SIZEOF_VOID_P.
29186 * kern/dl.c: Likewise.
29187
29188 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29189 ...
29190 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29191 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29192 (GRUB_TARGET_SIZEOF_LONG): ... this.
29193 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29194 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29195 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29196 to ...
29197 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29198 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29199 (GRUB_TARGET_SIZEOF_LONG): ... this.
29200 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29201 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29202 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29203 to ...
29204 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29205 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29206 (GRUB_TARGET_SIZEOF_LONG): ... this.
29207 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29208 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29209
29210 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29211 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29212 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29213 instead of GRUB_HOST_SIZEOF_LONG.
29214 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29215 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29216 GRUB_CPU_WORDS_BIGENDIAN.
29217 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29218 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29219 grub_host_ssize_t.
29220
29221 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29222 (genmoddep_SOURCES): Likewise.
29223 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29224 (genmoddep_SOURCES): Likewise.
29225 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29226 (genmoddep_SOURCES): Likewise.
29227 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29228 Likewise.
29229 (genmoddep_SOURCES): Likewise.
29230
29231 * genmoddep.awk: New file.
29232
29233 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29234 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29235 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29236 (PModule::rule): Likewise.
29237 (Program::rule): Likewise.
29238 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29239 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29240 respectively.
29241
29242 * configure.ac: Rewritten intensively to use host and target
29243 instead of build and host, respectively.
29244
29245 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29246 (host_cpu): Removed.
29247 (target_cpu): New variable.
29248 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29249 (BUILD_CC): Removed.
29250 (BUILD_CFLAGS): Likewise.
29251 (BUILD_CPPFLAGS): Likewise.
29252 (TARGET_CC): New variable.
29253 (TARGET_CFLAGS): Likewise.
29254 (TARGET_CPPFLAGS): Likewise.
29255 (TARGET_LDFLAGS): Likewise.
29256 (AWK): Likewise.
29257 (include): Use target_cpu instead of host_cpu.
29258 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29259
29260 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29261
29262 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29263
29264 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29265 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29266 field 'false' to 'exec_on_false'.
29267 (grub_script_create_cmdif): Renamed argument names to reflect above
29268 changes.
29269
29270 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29271
29272 * normal/script.c (grub_script_create_cmdif): Likewise.
29273
29274 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29275
29276 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29277 top.
29278 (grub_hfsplus_btree_recptr): Likewise.
29279 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29280 FILEBLOCK both to pass a block number and store next block
29281 number.
29282 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29283 overflow file correctly. Specify errors appropriately, because
29284 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29285 grub_hfsplus_btree_recptr to get the pointer to a found key.
29286 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29287 is found.
29288
29289 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29290 linux.mod.
29291 (_linux_mod_SOURCES): New variable.
29292 (_linux_mod_CFLAGS): Likewise.
29293 (_linux_mod_LDFLAGS): Likewise.
29294 (linux_mod_SOURCES): Likewise.
29295 (linux_mod_CFLAGS): Likewise.
29296 (linux_mod_LDFLAGS): Likewise.
29297
29298 * DISTLIST: Added loader/i386/efi/linux.c,
29299 loader/i386/efi/linux_normal.c and
29300 include/grub/i386/efi/loader.h.
29301
29302 * loader/i386/efi/linux.c: New file.
29303 * loader/i386/efi/linux_normal.c: Likewise.
29304 * include/grub/i386/efi/loader.h: Likewise.
29305
29306 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29307
29308 * commands/blocklist.c: New file.
29309
29310 * DISTLIST: Added commands/blocklist.c.
29311
29312 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29313 color for the background, and a darker color for the foreground.
29314 (grub_console_checkkey): Return READ_KEY.
29315 (grub_console_cls): Set the background to
29316 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29317
29318 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29319
29320 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29321 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29322
29323 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29324 prototype.
29325
29326 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29327 BG. The spec is wrong again.
29328
29329 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29330 prototype.
29331 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29332
29333 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29334 commands/blocklist.c.
29335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29336
29337 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29338 (blocklist_mod_SOURCES): New variable.
29339 (blocklist_mod_CFLAGS): Likewise.
29340 (blocklist_mod_LDFLAGS): Likewise.
29341
29342 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29343
29344 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29345 duplication.
29346 (lba_mode): Use %eax more intensively to reduce the code size.
29347
29348 2006-05-20 Marco Gerards <marco@gnu.org>
29349
29350 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29351
29352 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29353 for `menuentry'.
29354 (script): Accept leading newlines.
29355 (newlines): New rule to describe 0 or more newlines.
29356 (commands): Accept `command' with trailing newline. Fixed the
29357 order in which arguments were passed to `grub_script_add_cmd'.
29358 Accept commands separated by newlines.
29359 (function): Changed to accept newlines.
29360 (menuentry) Rewritten.
29361
29362 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29363 front of the list, instead of to the end.
29364
29365 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29366
29367 * util/i386/pc/grub-install.in (bindir): New variable.
29368 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29369 Shaver <lbgwjl@gmail.com>.
29370
29371 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29372
29373 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29374 grub/machine/linux.h
29375 * loader/i386/pc/linux.c: Likewise.
29376
29377 * include/grub/i386/pc/linux.h: Moved to ...
29378 * include/grub/i386/linux.h: ... here.
29379
29380 * include/grub/i386/linux.h (struct linux_kernel_params): New
29381 struct.
29382
29383 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29384
29385 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29386 checking.
29387 (grub_video_vbe_blit_glyph): Likewise.
29388 (grub_video_vbe_blit_bitmap): Likewise.
29389 (grub_video_vbe_blit_render_target): Likewise.
29390
29391 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29392
29393 * configure.ac (--with-platform): Properly quote the square
29394 brackets.
29395
29396 2006-05-08 Marco Gerards <marco@gnu.org>
29397
29398 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29399 this...
29400 (kernel_elf_HEADERS): ...to this. Updated all users.
29401 (grubof_symlist.c): Renamed from this...
29402 (kernel_elf_symlist.c): ...to this. Updated all users.
29403 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29404 (grubof_SOURCES): Renamed from this...
29405 (kernel_elf_SOURCES): ...to this.
29406 (grubof_HEADERS): Renamed from this...
29407 (kernel_elf_HEADERS): ...to this.
29408 (grubof_CFLAGS): Renamed from this...
29409 (kernel_elf_CFLAGS): ...to this.
29410 (grubof_ASFLAGS): Renamed from this...
29411 (kernel_elf_ASFLAGS): ...to this.
29412 (grubof_LDFLAGS): Renamed from this...
29413 (kernel_elf_LDFLAGS): ...to this.
29414
29415 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29416 this...
29417 (kernel_elf_HEADERS): ...to this. Updated all users.
29418 (grubof_symlist.c): Renamed from this...
29419 (kernel_elf_symlist.c): ...to this. Updated all users.
29420 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29421 (grubof_SOURCES): Renamed from this...
29422 (kernel_elf_SOURCES): ...to this.
29423 (grubof_HEADERS): Renamed from this...
29424 (kernel_elf_HEADERS): ...to this.
29425 (grubof_CFLAGS): Renamed from this...
29426 (kernel_elf_CFLAGS): ...to this.
29427 (grubof_ASFLAGS): Renamed from this...
29428 (kernel_elf_ASFLAGS): ...to this.
29429 (grubof_LDFLAGS): Renamed from this...
29430 (kernel_elf_LDFLAGS): ...to this.
29431
29432 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29433 `kernel.elf' instead of `grubof'.
29434
29435 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29436
29437 Add --with-platform to configure. Use pkglibdir instead of
29438 pkgdatadir. This is reported by Roger Leigh.
29439
29440 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29441 (host_vendor): Likewise.
29442 (host_os): Likewise.
29443 (pkgdatadir): Likewise.
29444 (platform): New variable.
29445 (pkglibdir): Likewise.
29446 Use PKGLIBDIR instead of PKGDATADIR.
29447
29448 * util/i386/pc/grub-install.in (datadir): Removed.
29449 (host_vendor): Likewise.
29450 (host_os): Likewise.
29451 (pkgdatadir): Likewise.
29452 (platform): New variable.
29453 (pkglibdir): Likewise.
29454 Use PKGLIBDIR instead of PKGDATADIR.
29455
29456 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29457 instead of GRUB_DATADIR.
29458 (main): Likewise.
29459 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29460 (main): Likewise.
29461 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29462 (main): Likewise.
29463
29464 * configure.ac (--with-platform): New option.
29465 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29466
29467 * Makefile.in: Include a makefile based on PLATFORM instead of
29468 HOST_VENDOR.
29469 (pkgdatadir): Not appended by the machine type.
29470 (pkglibdir): Appended by the machine type.
29471 (host_vendor): Removed.
29472 (platform): New variable.
29473 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29474 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29475 (uninstall): Likewise.
29476
29477 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29478
29479 Use the environment context in the menu. Remove the commands
29480 "default" and "timeout", and use variables instead.
29481
29482 * normal/menu.c: Include grub/env.h.
29483 (print_entry): Cast TITLE to silence gcc.
29484 (get_timeout): New function.
29485 (set_timeout): Likewise.
29486 (get_entry_number): Likewise.
29487 (run_menu): Use a default entry, a fallback entry and a timeout
29488 in the environment variables "default", "fallback" and
29489 "timeout". Also, tweak the default entry if it is not within the
29490 current menu entries.
29491 (grub_menu_run): Use a fallback entry in the environment variable
29492 "fallback".
29493
29494 * normal/main.c (read_config_file): Do not initialize
29495 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29496 NEWMENU->TIMEOUT.
29497 (grub_normal_execute): Use a data slot to store the menu.
29498
29499 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29500 fallback_entry and timeout.
29501 (struct grub_menu_list): Removed.
29502 (grub_menu_list_t): Likewise.
29503 (struct grub_context): Likewise.
29504 (grub_context_t): Likewise.
29505 (grub_context_get): Likewise.
29506 (grub_context_get_current_menu): Likewise.
29507 (grub_context_push_menu): Likewise.
29508 (grub_context_pop_menu): Likewise.
29509 (grub_default_init): Likewise.
29510 (grub_default_fini): Likewise.
29511 (grub_timeout_init): Likewise.
29512 (grub_timeout_fini): Likewise.
29513
29514 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29515 and timeout.mod.
29516 (normal_mod_SOURCES): Removed normal/context.c.
29517
29518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29519 commands/default.c, commands/timeout.c and normal/context.c.
29520 (normal_mod_SOURCES): Removed normal/context.c.
29521
29522 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29523 commands/timeout.c and normal/context.c.
29524 (normal_mod_SOURCES): Removed normal/context.c.
29525
29526 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29527 commands/default.c, commands/timeout.c and normal/context.c.
29528 (normal_mod_SOURCES): Removed normal/context.c.
29529
29530 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29531 timeout.mod.
29532 (default_mod_SOURCES): Removed.
29533 (default_mod_CFLAGS): Likewise.
29534 (default_mod_LDFLAGS): Likewise.
29535 (timeout_mod_SOURCES): Removed.
29536 (timeout_mod_CFLAGS): Likewise.
29537 (timeout_mod_LDFLAGS): Likewise.
29538
29539 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29540 normal/context.c.
29541
29542 * commands/default.c: Removed.
29543 * commands/timeout.c: Likewise.
29544 * normal/context.c: Likewise.
29545
29546 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29547
29548 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29549
29550 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29551
29552 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29553 "next" to "prev" for readability.
29554 (struct grub_env_sorted_var): New struct.
29555 (grub_env_context): Renamed to ...
29556 (initial_context): ... this.
29557 (grub_env_var_context): Renamed to ...
29558 (current_context): ... this.
29559 (grub_env_find): Look only at CURRENT_CONTEXT.
29560 (grub_env_context_open): Rewritten to copy exported variables from
29561 previous context.
29562 (grub_env_context_close): Rewritten according to the new
29563 scheme. Also, add an assertion to prevent the initial context from
29564 removed.
29565 (grub_env_insert): Removed the code for the sorted list.
29566 (grub_env_remove): Likewise.
29567 (grub_env_export): Simply mark the variable with
29568 GRUB_ENV_VAR_GLOBAL.
29569 (grub_env_set): A cosmetic change for naming consistency.
29570 (grub_env_get): Likewise.
29571 (grub_env_unset): Likewise.
29572 (grub_env_iterate): Rewritten to sort variables within this
29573 function.
29574 (grub_register_variable_hook): Fixed for naming consistency. Call
29575 grub_env_find again, only if NAME is not found at the first time.
29576 (mangle_data_slot_name): New function.
29577 (grub_env_set_data_slot): Likewise.
29578 (grub_env_get_data_slot): Likewise.
29579 (grub_env_unset_data_slot): Likewise.
29580
29581 * include/grub/env.h (grub_env_var_type): New enum.
29582 (GRUB_ENV_VAR_LOCAL): New constant.
29583 (GRUB_ENV_VAR_GLOBAL): Likewise.
29584 (GRUB_ENV_VAR_DATA): Likewise.
29585 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29586 "type".
29587 (grub_env_set): Replace VAR with NAME for consistency.
29588 (grub_register_variable_hook): Likewise.
29589 (grub_env_export): Specify the name of the argument.
29590 (grub_env_set_data_slot): New prototype.
29591 (grub_env_get_data_slot): Likewise.
29592 (grub_env_unset_data_slot): Likewise.
29593
29594 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29595
29596 Extend the loader so that GRUB can accept a loader which comes
29597 back to GRUB when a loaded image exits. Also, this change adds
29598 support for a chainloader on EFI.
29599
29600 * term/efi/console.c: Include grub/misc.h.
29601 (grub_console_checkkey): Display a scan code on the top for
29602 debugging. This will be removed once the EFI port gets stable.
29603 Correct the scan code mapping.
29604
29605 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29606 allocate memory from larger regions, in order to reduce the number
29607 of allocated regions. Otherwise, the MacOSX loader panics.
29608 (filter_memory_map): Avoid less than 1MB for compatibility with
29609 other loaders.
29610 (add_memory_regions): Allocate from the tail of a region, if
29611 possible, to avoid allocating a region near to 1MB, for the MacOSX
29612 loader.
29613
29614 * kern/efi/init.c (grub_efi_set_prefix): Specify
29615 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29616
29617 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29618 argument IMAGE_HANDLE and specify it to get a loaded image.
29619 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29620 grub_efi_get_loaded_image.
29621 (grub_efi_get_filename): Divide the length by the size of
29622 grub_efi_char16_t.
29623 (grub_efi_get_device_path): New function.
29624 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29625 the length by the size of grub_efi_char16_t for a file path device
29626 path node.
29627
29628 * kern/loader.c (grub_loader_noreturn): New variable.
29629 (grub_loader_set): Accept a new argument NORETURN. Set
29630 GRUB_LOADER_NORETURN to NORETURN.
29631 All callers changed.
29632 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29633 grub_machine_fini.
29634
29635 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29636 prototype.
29637 (grub_efi_get_loaded_image): Take an argument to specify an image
29638 handle.
29639
29640 * include/grub/loader.h (grub_loader_set): Added one more argument
29641 NORETURN.
29642
29643 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29644 instead of grub_efi_open_protocol.
29645 (grub_efidisk_get_device_name): Likewise.
29646 (grub_efidisk_close): Print a newline.
29647 (grub_efidisk_get_device_handle): Fixed to use
29648 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29649 GRUB_EFI_DEVICE_PATH_TYPE.
29650
29651 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29652 * kern/efi/efi.c (device_path_guid): ... here.
29653
29654 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29655 chain.mod.
29656 (kernel_mod_HEADERS): Added efi/disk.h.
29657 (_chain_mod_SOURCES): New variable.
29658 (_chain_mod_CFLAGS): Likewise.
29659 (_chain_mod_LDFLAGS): Likewise.
29660 (chain_mod_SOURCES): Likewise.
29661 (chain_mod_CFLAGS): Likewise.
29662 (chain_mod_LDFLAGS): Likewise.
29663
29664 * DISTLIST: Added include/grub/efi/chainloader.h,
29665 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29666
29667 * include/grub/efi/chainloader.h: New file.
29668 * loader/efi/chainloader.c: Likewise.
29669 * loader/efi/chainloader_normal.c: Likewise.
29670
29671 2006-04-30 Marco Gerards <marco@gnu.org>
29672
29673 * commands/configfile.c (grub_cmd_source): New function.
29674 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29675 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29676
29677 2006-04-30 Marco Gerards <marco@gnu.org>
29678
29679 * normal/execute.c (grub_script_execute_cmd): Change the return
29680 type to `grub_err_t'. Correctly return the error.
29681 (grub_script_execute_cmdline): In case a command line is not a
29682 command or a function, try to interpret it as an assignment.
29683
29684 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29685
29686 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29687 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29688 skip a node whose name is obviously invalid as UTF-16,
29689 i.e. contains a NUL character. Stop the iteration when the last
29690 directory entry is found. Instead of using the return value of
29691 grub_hfsplus_btree_iterate_node, store the value in RET and use
29692 it, because the iterator can be stopped by the last directory
29693 entry.
29694
29695 2006-04-30 Marco Gerards <marco@gnu.org>
29696
29697 * include/grub/env.h (grub_env_export): New prototype. Reported
29698 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29699
29700 2006-04-30 Marco Gerards <marco@gnu.org>
29701
29702 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29703 size of the extents in a catalog file record.
29704
29705 2006-04-29 Marco Gerards <marco@gnu.org>
29706
29707 * commands/configfile.c (grub_cmd_configfile): Execute the
29708 configfile within its own context.
29709
29710 * include/grub/env.h (grub_env_context_open): New prototype.
29711 (grub_env_context_close): Likewise.
29712
29713 * kern/env.c (grub_env): Removed.
29714 (grub_env_sorted): Likewise.
29715 (grub_env_context): New variable.
29716 (grub_env_var_context): Likewise.
29717 (grub_env_find): Search both the active context and the global
29718 context.
29719 (grub_env_context_open): New function.
29720 (grub_env_context_close): Likewise.
29721 (grub_env_insert): Likewise.
29722 (grub_env_remove): Likewise.
29723 (grub_env_export): Likewise.
29724 (grub_env_set): Changed to use helper functions to avoid code
29725 duplication.
29726 (grub_env_iterate): Rewritten so both the current context and the
29727 global context are being used.
29728
29729 * normal/command.c (export_command): New function.
29730 (grub_command_init): Register the `export' function.
29731
29732 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29733
29734 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29735 explicitly to suppress gcc's warnings.
29736 * fs/fat.c (grub_fat_find_dir): Likewise.
29737 (grub_fat_label): Likewise.
29738 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29739 (grub_xfs_mount): Likewise.
29740 (grub_xfs_label): Likewise.
29741 * fs/affs.c (grub_affs_mount): Likewise.
29742 (grub_affs_label): Likewise.
29743 (grub_affs_iterate_dir): Likewise.
29744 * fs/sfs.c (grub_sfs_mount): Likewise.
29745 (grub_sfs_iterate_dir): Likewise.
29746 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29747 * fs/hfs.c (grub_hfs_mount): Likewise.
29748 (grub_hfs_cmp_catkeys): Likewise.
29749 (grub_hfs_find_dir): Likewise.
29750 (grub_hfs_dir): Likewise.
29751 (grub_hfs_label): Likewise.
29752 * fs/jfs.c (grub_jfs_mount): Likewise.
29753 (grub_jfs_opendir): Likewise.
29754 (grub_jfs_getent): Likewise.
29755 (grub_jfs_lookup_symlink): Likewise.
29756 (grub_jfs_label): Likewise.
29757 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29758 (grub_hfsplus_iterate_dir): Likewise.
29759 (grub_hfsplus_btree_iterate_node): Made static.
29760
29761 * util/grub-emu.c (prefix): New variable.
29762 (grub_machine_set_prefix): New function.
29763 (main): Do not set the environment variable "prefix" here. Only
29764 set PREFIX, which is used later by grub_machine_set_prefix.
29765
29766 * include/grub/video.h: Do not include grub/symbol.h.
29767 (grub_video_register): Not exported. This symbol is not defined in
29768 the kernel.
29769 (grub_video_unregister): Likewise.
29770 (grub_video_iterate): Likewise.
29771 (grub_video_setup): Likewise.
29772 (grub_video_restore): Likewise.
29773 (grub_video_get_info): Likewise.
29774 (grub_video_get_blit_format): Likewise.
29775 (grub_video_set_palette): Likewise.
29776 (grub_video_get_palette): Likewise.
29777 (grub_video_set_viewport): Likewise.
29778 (grub_video_get_viewport): Likewise.
29779 (grub_video_map_color): Likewise.
29780 (grub_video_map_rgb): Likewise.
29781 (grub_video_map_rgba): Likewise.
29782 (grub_video_fill_rect): Likewise.
29783 (grub_video_blit_glyph): Likewise.
29784 (grub_video_blit_bitmap): Likewise.
29785 (grub_video_blit_render_target): Likewise.
29786 (grub_video_scroll): Likewise.
29787 (grub_video_swap_buffers): Likewise.
29788 (grub_video_create_render_target): Likewise.
29789 (grub_video_delete_render_target): Likewise.
29790 (grub_video_set_active_render_target): Likewise.
29791
29792 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29793 Undefined.
29794 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29795
29796 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29797 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29798 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29799 instead of $(srcdir)/genkernsyms.sh.
29800
29801 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29802 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29803 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29804 instead of $(srcdir)/genkernsyms.sh.
29805
29806 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29807 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29808 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29809 instead of $(srcdir)/genkernsyms.sh.
29810
29811 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29812 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29813 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29814 instead of $(srcdir)/genkernsyms.sh.
29815
29816 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29817 genkernsyms.sh.
29818
29819 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29820 genkernsyms.sh.
29821 (gensymlist.sh): New target.
29822 (genkernsyms.sh): Likewise.
29823
29824 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29825 genkernsyms.sh.in and gensymlist.sh.in.
29826
29827 * genkernsyms.sh: Removed.
29828 * gensymlist.sh: Likewise.
29829
29830 * genkernsyms.sh.in: New file.
29831 * gensymlist.sh.in: Likewise.
29832
29833 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29834
29835 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29836 clobber "prefix", since we may have already set it manually.
29837
29838 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29839
29840 * kern/misc.c (abort): New alias for grub_abort.
29841
29842 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29843
29844 A new machine-specific function "grub_machine_set_prefix" is
29845 defined. This is called after loading modules, so that a prefix
29846 initialization can use modules. Also, this change adds an
29847 intensive debugging feature for the memory manager via the
29848 configure option "--enable-mm-debug".
29849
29850 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29851 PART.LEN.
29852
29853 * kern/sparc64/ieee1275/init.c (abort): Removed.
29854 (grub_stop): Likewise.
29855 (grub_exit): New function.
29856 (grub_set_prefix): Renamed to ...
29857 (grub_machine_set_prefix): ... this.
29858 (grub_machine_init): Do not call grub_set_prefix.
29859
29860 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29861 (grub_machine_set_prefix): ... this.
29862 (grub_machine_init): Do not call grub_set_prefix.
29863
29864 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29865 (grub_machine_init): Do not set the prefix here.
29866
29867 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29868
29869 * kern/efi/init.c: Include grub/mm.h.
29870 (grub_efi_set_prefix): New function.
29871
29872 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29873 (grub_efi_get_filename): New function.
29874 (grub_print_device_path): Renamed to ...
29875 (grub_efi_print_device_path): ... this.
29876
29877 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29878 [MM_DEBUG] (grub_realloc): Likewise.
29879 [MM_DEBUG] (grub_free): Likewise.
29880 [MM_DEBUG] (grub_memalign): Likewise.
29881 [MM_DEBUG] (grub_mm_debug): New variable.
29882 [MM_DEBUG] (grub_debug_malloc): New function.
29883 [MM_DEBUG] (grub_debug_free): New function.
29884 [MM_DEBUG] (grub_debug_realloc): New function.
29885 [MM_DEBUG] (grub_debug_memalign): New function.
29886
29887 * kern/misc.c (grub_abort): Print a newline to distinguish
29888 the message.
29889
29890 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29891 grub_set_root_dev after loading modules. This is necessary when
29892 setting a prefix depends on modules.
29893
29894 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29895 (grub_efi_print_device_path): ... this.
29896 (grub_efi_get_filename): New prototype.
29897 (grub_efi_set_prefix): Likewise.
29898
29899 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29900 and grub/disk.h.
29901 (grub_efidisk_get_device_handle): New prototype.
29902 (grub_efidisk_get_device_name): Likewise.
29903
29904 * include/grub/mm.h: Include config.h.
29905 (MM_DEBUG): Removed.
29906 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29907 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29908 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29909 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29910 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29911 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29912 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29913 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29914 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29915
29916 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29917
29918 * disk/efi/efidisk.c: Include grub/partition.h.
29919 (iterate_child_devices): New function.
29920 (add_device): First, compare only last device path nodes, so that
29921 devices are sorted by the types.
29922 (grub_efidisk_get_device_handle): New function.
29923 (grub_efidisk_get_device_name): Likewise.
29924
29925 * configure.ac (--enable-mm-debug): New option to enable the
29926 memory manager debugging feature. This makes the binary much
29927 bigger, so is disabled by default.
29928
29929 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29930
29931 Use grub_abort instead of grub_stop, and grub_exit must be
29932 define in each architecture now. Also, this change adds support
29933 for EFI disks.
29934
29935 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29936 (grub_getkey): New function.
29937 (grub_term_get_current): Likewise.
29938
29939 * util/i386/pc/grub-setup.c: Include grub/term.h.
29940 (grub_getkey): New function.
29941 (grub_term_get_current): Likewise.
29942
29943 * util/misc.c (grub_stop): Renamed to ...
29944 (grub_exit): ... this.
29945
29946 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29947 (grub_exit): ... this.
29948 (grub_machine_init): Use grub_abort instead of abort.
29949 (grub_stop): Removed.
29950
29951 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29952 abort.
29953
29954 * kern/i386/pc/startup.S (grub_exit): New function.
29955 (cold_reboot): New label.
29956
29957 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29958 (grub_efi_init): Call grub_efidisk_init.
29959 (grub_efi_fini): Call grub_efidisk_fini.
29960
29961 * kern/efi/efi.c: Include grub/mm.h.
29962 (grub_efi_console_control_guid): Renamed to ...
29963 (console_control_guid): ... this.
29964 (grub_efi_loaded_image_guid): Renamed to ...
29965 (loaded_image_guid): ... this.
29966 (grub_efi_locate_handle): New function.
29967 (grub_efi_open_protocol): Likewise.
29968 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29969 GRUB_EFI_CONSOLE_CONTROL_GUID.
29970 (grub_efi_exit): Removed.
29971 (grub_stop): Likewise.
29972 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29973 (grub_exit): New function.
29974 (grub_print_device_path): Likewise.
29975
29976 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29977 (grub_enter_rescue_mode): Register "exit".
29978
29979 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29980 (grub_abort): New function.
29981
29982 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29983
29984 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29985
29986 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29987
29988 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29989 (grub_print_device_path): New prototype.
29990 (grub_efi_locate_handle): Likewise.
29991 (grub_efi_open_protocol): Likewise.
29992
29993 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29994 * disk/efi/efidisk.c: Likewise.
29995
29996 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29997
29998 * include/grub/efi/console_control.h
29999 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30000
30001 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30002 last 8 bytes as an array.
30003 (GRUB_EFI_DISK_IO_GUID): New macro.
30004 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30005 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30006 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30007 grub_uint8_t.
30008 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30009 (struct grub_efi_device_path): Rename the member "sub_type" to
30010 "subtype".
30011 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30012 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30013 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30014 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30015 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30016 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30017 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30018 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30019 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30020 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30021 (struct grub_efi_pci_device_path): New structure.
30022 (grub_efi_pci_device_path_t): New type.
30023 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30024 (struct grub_efi_pccard_device_path): New structure.
30025 (grub_efi_pccard_device_path_t): New type.
30026 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30027 (struct grub_efi_memory_mapped_device_path): New structure.
30028 (grub_efi_memory_mapped_device_path_t): New type.
30029 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30030 (struct grub_efi_vendor_device_path): New structure.
30031 (grub_efi_vendor_device_path_t): New type.
30032 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30033 (struct grub_efi_controller_device_path): New structure.
30034 (grub_efi_controller_device_path_t): New type.
30035 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30036 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30037 (struct grub_efi_acpi_device_path): New structure.
30038 (grub_efi_acpi_device_path_t): New type.
30039 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30040 (struct grub_efi_expanded_acpi_device_path): New structure.
30041 (grub_efi_expanded_acpi_device_path_t): New type.
30042 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30043 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30044 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30045 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30046 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30047 (struct grub_efi_atapi_device_path): New structure.
30048 (grub_efi_atapi_device_path_t): New type.
30049 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30050 (struct grub_efi_fibre_channel_device_path): New structure.
30051 (grub_efi_fibre_channel_device_path_t): New type.
30052 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30053 (struct grub_efi_1394_device_path): New structure.
30054 (grub_efi_1394_device_path_t): New type.
30055 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30056 (struct grub_efi_usb_device_path): New structure.
30057 (grub_efi_usb_device_path_t): New type.
30058 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30059 (struct grub_efi_usb_class_device_path): New structure.
30060 (grub_efi_usb_class_device_path_t): New type.
30061 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30062 (struct grub_efi_i2o_device_path): New structure.
30063 (grub_efi_i2o_device_path_t): New type.
30064 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30065 (struct grub_efi_mac_address_device_path): New structure.
30066 (grub_efi_mac_address_device_path_t): New type.
30067 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30068 (struct grub_efi_ipv4_device_path): New structure.
30069 (grub_efi_ipv4_device_path_t): New type.
30070 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30071 (struct grub_efi_ipv6_device_path): New structure.
30072 (grub_efi_ipv6_device_path_t): New type.
30073 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30074 (struct grub_efi_infiniband_device_path): New structure.
30075 (grub_efi_infiniband_device_path_t): New type.
30076 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30077 (struct grub_efi_uart_device_path): New structure.
30078 (grub_efi_uart_device_path_t): New type.
30079 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30080 (struct grub_efi_vendor_messaging_device_path): New structure.
30081 (grub_efi_vendor_messaging_device_path_t): New type.
30082 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30083 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30084 (struct grub_efi_hard_drive_device_path): New structure.
30085 (grub_efi_hard_drive_device_path_t): New type.
30086 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30087 (struct grub_efi_cdrom_device_path): New structure.
30088 (grub_efi_cdrom_device_path_t): New type.
30089 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30090 (struct grub_efi_vendor_media_device_path): New structure.
30091 (grub_efi_vendor_media_device_path_t): New type.
30092 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30093 (struct grub_efi_file_path_device_path): New structure.
30094 (grub_efi_file_path_device_path_t): New type.
30095 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30096 (struct grub_efi_protocol_device_path): New structure.
30097 (grub_efi_protocol_device_path_t): New type.
30098 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30099 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30100 (struct grub_efi_bios_device_path): New structure.
30101 (grub_efi_bios_device_path_t): New type.
30102 (struct grub_efi_disk_io): New structure.
30103 (grub_efi_disk_io_t): New type.
30104 (struct grub_efi_block_io_media): New structure.
30105 (grub_efi_block_io_media_t): New type.
30106 (struct grub_efi_block_io): New structure.
30107 (grub_efi_block_io_t): New type.
30108
30109 * include/grub/misc.h (grub_stop): Removed.
30110 (grub_exit): New prototype.
30111 (grub_abort): Likewise.
30112
30113 * include/grub/disk.h (enum grub_disk_dev_id): Added
30114 GRUB_DISK_DEVICE_EFIDISK_ID.
30115
30116 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30117 disk/efi/efidisk.c.
30118 (kernel_syms.lst): Remove the target if an error occurs.
30119
30120 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30121
30122 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30123 as it was simply too buggy.
30124
30125 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30126
30127 * kern/misc.c (grub_lltoa): New function.
30128 (grub_vsprintf): Added support for the long long suffix,
30129 i.e. "ll".
30130
30131 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30132
30133 * Makefile.in (LDFLAGS): Add variable.
30134 (LD): Remove variable.
30135 * configure.ac: Add -m32 to LDFLAGS.
30136 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30137 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30138 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30139 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30140 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30141 variables.
30142 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30143 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30144 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30145
30146 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30147
30148 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30149 length for unknown glyph.
30150
30151 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30152
30153 Add support for pre-loaded modules into the EFI port.
30154
30155 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30156 completely. Accept one more argument DIR. The caller has changed.
30157
30158 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30159
30160 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30161 (grub_efi_loaded_image_guid): New variable.
30162 (grub_efi_get_loaded_image): New function.
30163 (grub_arch_modules_addr): Likewise.
30164
30165 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30166 prototype.
30167
30168 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30169 (struct grub_efi_loaded_image): New structure.
30170 (grub_efi_loaded_image_t): New type.
30171
30172 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30173
30174 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30175 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30176 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30177
30178 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30179
30180 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30181
30182 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30183
30184 * DISTLIST: Added include/grub/efi/console.h,
30185 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30186 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30187
30188 * include/grub/efi/console.h: New file.
30189 * include/grub/efi/time.h: Likewise.
30190 * include/grub/i386/efi/kernel.h: Likewise.
30191 * kern/efi/init.c: Likewise.
30192 * kern/efi/mm.c: Likewise.
30193 * term/efi/console.c: Likewise.
30194
30195 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30196 (grub_stop): Removed.
30197 (grub_get_rtc): Likewise.
30198 (grub_machine_init): Simply call grub_efi_init.
30199 (grub_machine_fini): Call grub_efi_fini.
30200
30201 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30202 (grub_efi_output_string): Removed.
30203 (grub_efi_stall): New function.
30204 (grub_stop): Likewise.
30205 (grub_get_rtc): Likewise.
30206
30207 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30208 (grub_efi_stall): New prototype.
30209 (grub_efi_allocate_pages): Likewise.
30210 (grub_efi_free_pages): Likewise.
30211 (grub_efi_get_memory_map): Likewise.
30212 (grub_efi_mm_init): Likewise.
30213 (grub_efi_mm_fini): Likewise.
30214 (grub_efi_init): Likewise.
30215 (grub_efi_fini): Likewise.
30216
30217 * include/grub/i386/efi/time.h: Do not include
30218 grub/symbol.h. Include grub/efi/time.h.
30219 (GRUB_TICKS_PER_SECOND): Removed.
30220 (grub_get_rtc): Likewise.
30221
30222 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30223 Added padding. The EFI spec is buggy.
30224 (GRUB_EFI_BLACK): New macro.
30225 (GRUB_EFI_BLUE): Likewise.
30226 (GRUB_EFI_GREEN): Likewise.
30227 (GRUB_EFI_CYAN): Likewise.
30228 (GRUB_EFI_RED): Likewise.
30229 (GRUB_EFI_MAGENTA): Likewise.
30230 (GRUB_EFI_BROWN): Likewise.
30231 (GRUB_EFI_LIGHTGRAY): Likewise.
30232 (GRUB_EFI_BRIGHT): Likewise.
30233 (GRUB_EFI_DARKGRAY): Likewise.
30234 (GRUB_EFI_LIGHTBLUE): Likewise.
30235 (GRUB_EFI_LIGHTGREEN): Likewise.
30236 (GRUB_EFI_LIGHTCYAN): Likewise.
30237 (GRUB_EFI_LIGHTRED): Likewise.
30238 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30239 (GRUB_EFI_YELLOW): Likewise.
30240 (GRUB_EFI_WHITE): Likewise.
30241 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30242 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30243 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30244 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30245 (GRUB_EFI_BACKGROUND_RED): Likewise.
30246 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30247 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30248 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30249 (GRUB_EFI_TEXT_ATTR): Likewise.
30250
30251 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30252 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30253 (kernel_mod_HEADERS): Added efi/time.h.
30254
30255 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30256
30257 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30258 include/grub/efi/api.h, include/grub/efi/console_control.h,
30259 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30260 include/grub/i386/efi/time.h, kern/efi/efi.c,
30261 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30262 and util/i386/efi/grub-mkimage.c.
30263
30264 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30265
30266 * genmk.rb (PModule#rule): Do not export symbols if
30267 #{prefix}_EXPORTS is set to "no".
30268
30269 * conf/i386-efi.mk: New file.
30270 * conf/i386-efi.rmk: Likewise.
30271 * include/grub/efi/api.h: Likewise.
30272 * include/grub/efi/console_control.h: Likewise.
30273 * include/grub/efi/efi.h: Likewise.
30274 * include/grub/efi/pe32.h: Likewise.
30275 * include/grub/i386/efi/time.h: Likewise.
30276 * kern/efi/efi.c: Likewise.
30277 * kern/i386/efi/init.c: Likewise.
30278 * kern/i386/efi/startup.S: Likewise.
30279 * util/i386/efi/grub-mkimage.c: Likewise.
30280
30281 2006-04-17 Marco Gerards <marco@gnu.org>
30282
30283 * include/grub/script.h: Include <grub/parser.h> and
30284 "grub_script.tab.h".
30285 (struct grub_lexer_param): New struct.
30286 (struct grub_parser_param): Likewise.
30287 (grub_script_create_arglist): Pass the state in an argument.
30288 (grub_script_add_arglist): Likewise.
30289 (grub_script_create_cmdline): Likewise.
30290 (grub_script_create_cmdblock): Likewise.
30291 (grub_script_create_cmdif): Likewise.
30292 (grub_script_create_cmdmenu): Likewise.
30293 (grub_script_add_cmd): Likewise.
30294 (grub_script_arg_add): Likewise.
30295 (grub_script_lexer_ref): Likewise.
30296 (grub_script_lexer_deref): Likewise.
30297 (grub_script_lexer_record_start): Likewise.
30298 (grub_script_lexer_record_stop): Likewise.
30299 (grub_script_mem_record): Likewise.
30300 (grub_script_mem_record_stop): Likewise.
30301 (grub_script_malloc): Likewise.
30302 (grub_script_yylex): Likewise.
30303 (grub_script_yyparse): Likewise.
30304 (grub_script_yyerror): Likewise.
30305 (grub_script_yylex): Likewise.
30306 (grub_script_lexer_init): Return the state.
30307
30308 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30309 (grub_script_lexer_done): Likewise.
30310 (grub_script_lexer_getline): Likewise.
30311 (grub_script_lexer_refs): Likewise.
30312 (script): Likewise.
30313 (newscript): Likewise.
30314 (record): Likewise.
30315 (recording): Likewise.
30316 (recordpos): Likewise.
30317 (recordlen): Likewise.
30318 (grub_script_lexer_init): Return the state instead of setting
30319 global variables.
30320 (grub_script_lexer_ref): Use the newly added argument for state
30321 instead of globals.
30322 (grub_script_lexer_deref): Likewise.
30323 (grub_script_lexer_record_start): Likewise.
30324 (grub_script_lexer_record_stop): Likewise.
30325 (recordchar): Likewise.
30326 (nextchar): Likewise.
30327 (grub_script_yylex2): Likewise.
30328 (grub_script_yylex): Likewise.
30329 (grub_script_yyerror): Likewise.
30330
30331 * normal/parser.y (func_mem): Removed variable.
30332 (menu_entry): Likewise.
30333 (err): Likewise.
30334 (%lex-param): New parser option.
30335 (%parse-param): Likewise.
30336 (script): Always return the AST.
30337 (argument): Pass the state around.
30338 (arguments): Likewise.
30339 (grubcmd): Likewise.
30340 (commands): Likewise.
30341 (function): Likewise.
30342 (menuentry): Likewise.
30343 (if_statement): Likewise.
30344 (if): Likewise.
30345
30346 * normal/script.c (grub_script_memused): Removed variable.
30347 (grub_script_parsed): Likewise.
30348 (grub_script_malloc): Added a state argument. Use that instead of
30349 global variables.
30350 (grub_script_mem_record): Likewise.
30351 (grub_script_mem_record_stop): Likewise.
30352 (grub_script_arg_add): Likewise.
30353 (grub_script_add_arglist): Likewise.
30354 (grub_script_create_cmdline): Likewise.
30355 (grub_script_create_cmdif): Likewise.
30356 (grub_script_create_cmdmenu): Likewise.
30357 (grub_script_add_cmd): Likewise.
30358 (grub_script_parse): Setup the state before calling the parser.
30359
30360 2006-04-16 Marco Gerards <marco@gnu.org>
30361
30362 * normal/command.c (grub_command_init): Remove the title command.
30363
30364 * normal/lexer.c (grub_script_yylex): Renamed from this...
30365 (grub_script_yylex2): ... to this.
30366 (grub_script_yylex): New function. Temporary
30367 introduced to filter some tokens.
30368 (grub_script_yyerror): Print a newline.
30369
30370 * normal/main.c (read_config_file): Output information about the
30371 lines that contain errors. Wait for a key after all lines have
30372 been processed. Don't return an empty menu.
30373
30374 * normal/parser.y (func_mem): Don't initialize.
30375 (menu_entry): Likewise.
30376 (err): New variable.
30377 (script): Don't return anything when an error was encountered.
30378 (ws, returns): Removed rules.
30379 (argument): Disabled concatenated variable support.
30380 (arguments): Remove explicit separators.
30381 (grubcmd): Likewise.
30382 (function): Likewise.
30383 (menuentry): Likewise.
30384 (if): Likewise.
30385 (commands): Likewise. Add error handling.
30386
30387 * normal/script.c (grub_script_create_cmdline): If
30388 `grub_script_parsed' is 0, assume the parser encountered an error.
30389
30390 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30391
30392 * configure.ac: Add support for EFI. Fix the typo
30393 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30394
30395 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30396
30397 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30398 foreign multibyte characters should be shown correctly.
30399
30400 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30401
30402 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30403 calculation.
30404 (read_config_file): Made it to close file before returning.
30405
30406 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30407
30408 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30409 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30410 video/i386/pc/vbefill.c.
30411
30412 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30413 video/i386/pc/vbefill.c.
30414
30415 * include/grub/video.h (grub_video_blit_format): New enum.
30416 (grub_video_mode_info): Added new member blit_format.
30417 (grub_video_get_blit_format): New function prototype.
30418
30419 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30420 function prototype.
30421 (grub_video_vbe_map_rgb): Likewise.
30422 (grub_video_vbe_unmap_color): Likewise.
30423
30424 * include/grub/i386/pc/vbeblit.h: New file.
30425
30426 * include/grub/i386/pc/vbefill.h: New file.
30427
30428 * video/video.c (grub_video_get_blit_format): New function.
30429 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30430 (grub_video_vbe_map_rgb): Likewise.
30431 (grub_video_vbe_unmap_color): Likewise.
30432
30433 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30434 optimized fills.
30435 (grub_video_vbe_blit_render_target): Changed to use more optimized
30436 blits.
30437 (grub_video_vbe_setup): Added detection for optimized settings.
30438 (grub_video_vbe_create_render_target): Likewise.
30439
30440 * video/i386/pc/vbeblit.c: New file.
30441
30442 * video/i386/pc/vbefill.c: New file.
30443
30444 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30445
30446 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30447 here...
30448
30449 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30450 parsing to support both hex and dec ranges. If filename was missing
30451 show usage information.
30452
30453 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30454
30455 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30456 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30457
30458 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30459 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30460 (video_mod_SOURCES): Added.
30461 (video_mod_CFLAGS): Likewise.
30462 (video_mod_LDFLAGS): Likewise.
30463 (gfxterm_mod_SOURCES): Likewise.
30464 (gfxterm_mod_CFLAGS): Likewise.
30465 (gfxterm_mod_LDFLAGS): Likewise.
30466 (videotest_mod_SOURCES): Likewise.
30467 (videotest_mod_CFLAGS): Likewise.
30468 (videotest_mod_LDFLAGS): Likewise.
30469 (vesafb_mod_SOURCES): Removed.
30470 (vesafb_mod_CFLAGS): Likewise.
30471 (vesafb_mod_LDFLAGS): Likewise.
30472 (vga_mod_SOURCES): Likewise.
30473 (vga_mod_CFLAGS): Likewise.
30474 (vga_mod_LDFLAGS): Likewise.
30475
30476 * commands/videotest.c: New file.
30477
30478 * font/manager.c (fill_with_default_glyph): Modified to use
30479 grub_font_glyph.
30480 (grub_font_get_glyph): Likewise.
30481 (fontmanager): Renamed from this...
30482 (font_manager): ... to this.
30483
30484 * include/grub/font.h (grub_font_glyph): Added new structure.
30485 (grub_font_get_glyph): Modified to use grub_font_glyph.
30486
30487 * include/grub/misc.h (grub_abs): Added as inline function.
30488
30489 * include/grub/video.h: New file.
30490
30491 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30492 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30493 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30494 (grub_vbe_get_controller_info): Renamed from this...
30495 (grub_vbe_bios_get_controller_info): ... to this.
30496 (grub_vbe_get_mode_info): Renamed from this...
30497 (grub_vbe_bios_get_mode_info): ... to this.
30498 (grub_vbe_set_mode): Renamed from this...
30499 (grub_vbe_bios_set_mode): ... to this.
30500 (grub_vbe_get_mode): Renamed from this...
30501 (grub_vbe_bios_get_mode): ... to this.
30502 (grub_vbe_set_memory_window): Renamed from this...
30503 (grub_vbe_bios_set_memory_window): ... to this.
30504 (grub_vbe_get_memory_window): Renamed from this...
30505 (grub_vbe_bios_get_memory_window): ... to this.
30506 (grub_vbe_set_scanline_length): Renamed from this...
30507 (grub_vbe_set_scanline_length): ... to this.
30508 (grub_vbe_get_scanline_length): Renamed from this...
30509 (grub_vbe_bios_get_scanline_length): ... to this.
30510 (grub_vbe_set_display_start): Renamed from this...
30511 (grub_vbe_bios_set_display_start): ... to this.
30512 (grub_vbe_get_display_start): Renamed from this...
30513 (grub_vbe_bios_get_display_start): ... to this.
30514 (grub_vbe_set_palette_data): Renamed from this...
30515 (grub_vbe_bios_set_palette_data): ... to this.
30516 (grub_vbe_set_pixel_rgb): Removed.
30517 (grub_vbe_set_pixel_index): Likewise.
30518
30519 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30520 from this...
30521 (grub_vbe_bios_get_controller_info): ... to this.
30522 (grub_vbe_get_mode_info): Renamed from this...
30523 (grub_vbe_bios_get_mode_info): ... to this.
30524 (grub_vbe_set_mode): Renamed from this...
30525 (grub_vbe_bios_set_mode): ... to this.
30526 (grub_vbe_get_mode): Renamed from this...
30527 (grub_vbe_bios_get_mode): ... to this.
30528 (grub_vbe_set_memory_window): Renamed from this...
30529 (grub_vbe_bios_set_memory_window): ... to this.
30530 (grub_vbe_get_memory_window): Renamed from this...
30531 (grub_vbe_bios_get_memory_window): ... to this.
30532 (grub_vbe_set_scanline_length): Renamed from this...
30533 (grub_vbe_set_scanline_length): ... to this.
30534 (grub_vbe_get_scanline_length): Renamed from this...
30535 (grub_vbe_bios_get_scanline_length): ... to this.
30536 (grub_vbe_set_display_start): Renamed from this...
30537 (grub_vbe_bios_set_display_start): ... to this.
30538 (grub_vbe_get_display_start): Renamed from this...
30539 (grub_vbe_bios_get_display_start): ... to this.
30540 (grub_vbe_set_palette_data): Renamed from this...
30541 (grub_vbe_bios_set_palette_data): ... to this.
30542 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30543 getting corrupted after calling it. Added more pushes and pops.
30544 (grub_vbe_bios_set_mode): Likewise.
30545 (grub_vbe_bios_get_mode): Likewise.
30546 (grub_vbe_bios_get_memory_window): Likewise.
30547 (grub_vbe_bios_set_scanline_length): Likewise.
30548 (grub_vbe_bios_get_scanline_length): Likewise.
30549 (grub_vbe_bios_get_display_start): Likewise.
30550 (grub_vbe_bios_set_palette_data): Likewise.
30551
30552 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30553 (cl_insert): Likewise.
30554 (cl_delete): Likewise.
30555
30556 * term/gfxterm.c: New file.
30557
30558 * term/i386/pc/vesafb.c: Removed file.
30559
30560 * video/video.c: New file.
30561
30562 * video/i386/pc/vbe.c (real2pm): Added new function.
30563 (grub_video_vbe_draw_pixel): Likewise.
30564 (grub_video_vbe_get_video_ptr): Likewise.
30565 (grub_video_vbe_get_pixel): Likewise
30566 (grub_video_vbe_init): Likewise.
30567 (grub_video_vbe_fini): Likewise.
30568 (grub_video_vbe_setup): Likewise.
30569 (grub_video_vbe_get_info): Likewise.
30570 (grub_video_vbe_set_palette): Likewise.
30571 (grub_video_vbe_get_palette): Likewise.
30572 (grub_video_vbe_set_viewport): Likewise.
30573 (grub_video_vbe_get_viewport): Likewise.
30574 (grub_video_vbe_map_color): Likewise.
30575 (grub_video_vbe_map_rgb): Likewise.
30576 (grub_video_vbe_map_rgba): Likewise.
30577 (grub_video_vbe_unmap_color): Likewise.
30578 (grub_video_vbe_fill_rect): Likewise.
30579 (grub_video_vbe_blit_glyph): Likewise.
30580 (grub_video_vbe_blit_bitmap): Likewise.
30581 (grub_video_vbe_blit_render_target): Likewise.
30582 (grub_video_vbe_scroll): Likewise.
30583 (grub_video_vbe_swap_buffers): Likewise.
30584 (grub_video_vbe_create_render_target): Likewise.
30585 (grub_video_vbe_delete_render_target): Likewise.
30586 (grub_video_vbe_set_active_render_target): Likewise.
30587 (grub_vbe_set_pixel_rgb): Remove function.
30588 (grub_vbe_set_pixel_index): Likewise.
30589 (index_color_mode): Remove static variable.
30590 (active_mode): Likewise.
30591 (framebuffer): Likewise.
30592 (bytes_per_scan_line): Likewise.
30593 (grub_video_vbe_adapter): Added new static variable.
30594 (framebuffer): Likewise.
30595 (render_target): Likewise.
30596 (initial_mode): Likewise.
30597 (mode_in_use): Likewise.
30598 (mode_list): Likewise.
30599
30600 2006-03-10 Marco Gerards <marco@gnu.org>
30601
30602 * configure.ac (AC_INIT): Bumped to 1.93.
30603
30604 * DISTLIST: Added `include/grub/hfs.h'.
30605
30606 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30607
30608 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30609 18H, which might help the BIOS falling back to next boot media.
30610
30611 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30612
30613 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30614 Poe Chen <poe.poechen@gmail.com>.
30615
30616 2006-01-17 Marco Gerards <marco@gnu.org>
30617
30618 * include/grub/normal.h: Include <grub/script.h>.
30619 (grub_command_list): Removed struct.
30620 (grub_command_list_t): Removed type.
30621 (grub_menu_entry): Remove members `num' and `command_list'. Add
30622 members `commands' and `sourcecode'.
30623 * include/grub/script.h: Add inclusion guards.
30624 (grub_script_cmd_menuentry): New struct.
30625 (grub_script_execute_menuentry): New prototype.
30626 (grub_script_lexer_record_start): Likewise.
30627 (grub_script_lexer_record_stop): Likewise.
30628 * normal/execute.c (grub_script_execute_menuentry): New function.
30629 * normal/lexer.c (record, recording, recordpos, recordlen): New
30630 variables.
30631 (grub_script_lexer_record_start): New function.
30632 (grub_script_lexer_record_stop): Likewise.
30633 (recordchar): Likewise.
30634 (nextchar): Likewise.
30635 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30636 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30637 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30638 (current_menu): New variable.
30639 (free_menu): Mainly rewritten.
30640 (grub_normal_menu_addentry): New function.
30641 (read_config_file): Rewritten.
30642 * normal/menu.c (run_menu_entry): Mainly rewritten.
30643 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30644 the menu entry.
30645 (run): Mainly rewritten.
30646 * normal/parser.y (menu_entry): New variable.
30647 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30648 (menuentry): New rule.
30649 (command): Add `menuentry'.
30650 (if_statement): Allow additional returns before `fi'.
30651 * normal/script.c (grub_script_create_cmdmenu): New function.
30652
30653 2006-01-03 Marco Gerards <marco@gnu.org>
30654
30655 * INSTALL: GNU Bison is required.
30656 * configure.ac: Rewritten the test to detect Bison.
30657 * Makefile.in (YACC): New variable. Reported by Xun Sun
30658 <xun.sun.cn@gmail.com>.
30659
30660 2006-01-03 Marco Gerards <marco@gnu.org>
30661
30662 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30663 the HFS+ filesystem to filesystem blocks.
30664 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30665 GCC warning is silenced.
30666
30667 2006-01-03 Marco Gerards <marco@gnu.org>
30668
30669 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30670 read from disk from big endian to host byte order.
30671
30672 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30673
30674 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30675 documentation.
30676 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30677 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30678 embedded HFS+ filesystem.
30679 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30680 (grub_hfs_sblock): Move from here...
30681 * include/grub/hfs.h: To here... New file.
30682 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30683 documentation.
30684 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30685 New macros.
30686 (grub_hfsplus_volheader): Change type of member `magic' to
30687 `grub_uint16_t'.
30688 (grub_hfsplus_data): Add new member `embedded_offset'.
30689 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30690 returned block.
30691 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30692 Calculate the offset.
30693
30694 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30695
30696 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30697 Removed.
30698 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30699
30700 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30701
30702 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30703 ENV->NAME is NULL after allocating ENV->VALUE.
30704
30705 2005-12-25 Marco Gerards <marco@gnu.org>
30706
30707 * kern/env.c (grub_env_set): Rewritten the error handling code.
30708
30709 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30710
30711 * geninit.sh: Made more robust, and more portable.
30712
30713 2005-12-25 Marco Gerards <marco@gnu.org>
30714
30715 Add support for Apple HFS+ filesystems.
30716
30717 * fs/hfsplus.c: New file.
30718
30719 * DISTLIST: Added `fs/hfsplus.c'.
30720
30721 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30722 (hfsplus_mod_SOURCES): New variable.
30723 (hfsplus_mod_CFLAGS): Likewise.
30724 (hfsplus_mod_LDFLAGS): Likewise.
30725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30726 (grub_setup_SOURCES): Likewise.
30727 (grub_mkdevicemap_SOURCES): Likewise.
30728 (grub_emu_SOURCES): Likewise.
30729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30730
30731 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30732
30733 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30734
30735 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30736
30737 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30738 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30739 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30740 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30741 normal/lexer.c, normal/parser.y, normal/script.c, and
30742 partmap/gpt.c.
30743 Removed kern/sparc64/cache.c.
30744
30745 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30746 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30747 grub_emu_init.c.
30748
30749 * configure.ac (AC_INIT): Bumped to 1.92.
30750
30751 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30752
30753 * kern/err.c (grub_error_push): Added new function to support error
30754 stacks.
30755 (grub_error_pop): Likewise.
30756 (grub_error_stack_items): New local variable to support error stacks.
30757 (grub_error_stack_pos): Likewise.
30758 (grub_error_stack_assert): Likewise.
30759 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30760 stack depth.
30761 (grub_print_error): Added support to print errors from error stack.
30762
30763 * include/grub/err.h (grub_error_push): Added function prototype.
30764 (grub_error_pop): Likewise.
30765
30766 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30767
30768 * configure.ac: Accept `powerpc64' as host_cpu.
30769 (amd64): Rename to `biarch32'.
30770
30771 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30772 non-cacheline-aligned addresses.
30773
30774 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30775 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30776 if `size' is non-zero.
30777
30778 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
30779
30780 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30781 and `cd' to make sure the filename is not prefixed with a
30782 directory name.
30783 (pkgdata_MODULES): Add `gpt.mod'.
30784 (gpt_mod_SOURCES): New variable.
30785 (gpt_mod_CFLAGS): Likewise.
30786 (gpt_mod_LDFLAGS): Likewise.
30787
30788 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30789
30790 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30791 New macro.
30792
30793 * partmap/gpt.c: New file.
30794
30795 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30796 GPT partition map is detected.
30797
30798 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30799
30800 * commands/i386/pc/play.c: New file.
30801 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30802 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30803 macros.
30804
30805 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
30806
30807 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30808 ((unused))' to silence gcc warning.
30809
30810 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30811
30812 * configure.ac: Correct `AC_PROG_YACC' test.
30813
30814 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30815
30816 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30817 check before installing files.
30818
30819 2005-11-22 Mike Small <smallm@panix.com>
30820
30821 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30822 number regex so multidigit numbers are recognized correctly.
30823
30824 2005-11-22 Mike Small <smallm@panix.com>
30825
30826 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30827 debugging message before attempting to claim memory.
30828 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30829 multiple addresses in case of failure.
30830
30831 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30832
30833 * term/tparm.c (get_space): Remove empty `if' statement.
30834
30835 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30836
30837 * kern/parser.c (check_varstate): Rename `state' to 's'.
30838
30839 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30840
30841 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30842 variable definitions to the beginning of each function. Sort stack
30843 variables by size.
30844 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30845 `buf' argument to `char *'.
30846
30847 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30848
30849 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30850 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30851 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30852 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30853 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30854 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30855 configfile.mod, search.mod, gzio.mod and test.mod.
30856 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30857 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30858 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30859 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30860 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30861 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30862 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30863 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30864 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30865 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30866 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30867 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30868 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30869 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30870 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30871 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30872 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30873 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30874 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30875 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30876 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30877 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30878 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30879
30880 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30881 `grep --include'.
30882 (pkgdata_MODULES): Add test.mod.
30883
30884 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30885
30886 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30887 appending to variables with "+=".
30888 (PModule): Use full pathname to generate *.lst filenames.
30889
30890 * Makefile.in: Fixed list rules moved from genmk.rb.
30891 (.DELETE_ON_ERROR): New special target.
30892 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30893
30894 * conf/i386-pc.rmk: Include conf/common.mk.
30895 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30896 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30897 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30898 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30899 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30900 configfile.mod, search.mod, gzio.mod and test.mod.
30901 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30902 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30903 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30904 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30905 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30906 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30907 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30908 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30909 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30910 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30911 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30912 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30913 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30914 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30915 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30916 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30917 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30918 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30919 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30920 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30921 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30922 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30923 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30924 here...
30925 * conf/common.rmk: ... to here. New file.
30926
30927 * conf/common.mk: New file.
30928
30929 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30930
30931 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30932 (grub_script.tab.c): ... here.
30933
30934 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30935 (grub_script.tab.c): ... here.
30936
30937 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30938 (grub_script.tab.c): ... here.
30939
30940 * normal/command.c (grub_command_find): Fixed a memory leak of
30941 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30942
30943 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30944
30945 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30946 "@" which marks the start of a comment on ARM.
30947 (VARIABLE): Likewise.
30948
30949 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30950
30951 Add support for Linux/ADFS partition tables.
30952
30953 * partmap/acorn.c: New file.
30954
30955 * include/grub/acorn_filecore.h: Likewise.
30956
30957 * DISTLIST: Added `partmap/acorn.c' and
30958 `include/grub/acorn_filecore.h'.
30959
30960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30961 `partmap/acorn.c'.
30962 (pkgdata_MODULES): Add `acorn.mod'.
30963 (acorn_mod_SOURCES): New variable.
30964 (acorn_mod_CFLAGS): Likewise.
30965
30966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30967 `partmap/acorn.c'.
30968 (pkgdata_MODULES): Add `acorn.mod'.
30969 (acorn_mod_SOURCES): New variable.
30970 (acorn_mod_CFLAGS): Likewise.
30971
30972 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30973 (pkgdata_MODULES): Add `acorn.mod'.
30974 (acorn_mod_SOURCES): New variable.
30975 (acorn_mod_CFLAGS): Likewise.
30976 (acorn_mod_LDFLAGS): Likewise.
30977
30978 * include/types.h (grub_disk_addr_t): New typedef.
30979
30980 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
30981
30982 * geninit.sh: New file.
30983
30984 * geninitheader.sh: Likewise.
30985
30986 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30987 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30988 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30989 * commands/configfile.c (grub_configfile_init)
30990 (grub_configfile_fini): Likewise.
30991 * commands/default.c (grub_default_init, grub_default_fini):
30992 Likewise.
30993 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30994 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30995 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30996 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30997 Likewise.
30998 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30999 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31000 Likewise.
31001 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31002 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31003 Likewise.
31004 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31005 Likewise.
31006 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31007 Likewise.
31008 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31009 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31010 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31011 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31012 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31013 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31014 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31015 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31016 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31017 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31018 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31019 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31020 * partmap/amiga.c (grub_amiga_partition_map_init)
31021 (grub_amiga_partition_map_fini): Likewise.
31022 * partmap/apple.c (grub_apple_partition_map_init)
31023 (grub_apple_partition_map_fini): Likewise.
31024 * partmap/pc.c (grub_pc_partition_map_init)
31025 (grub_pc_partition_map_fini): Likewise.
31026 * partmap/sun.c (grub_sun_partition_map_init,
31027 grub_sun_partition_map_fini): Likewise.
31028 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31029 Likewise.
31030
31031 * util/grub-emu.c: Include <grub_modules_init.h>.
31032 (main): Don't initialize and de-initialize any modules directly,
31033 use `grub_init_all' and `grub_fini_all' instead.
31034
31035 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31036 `grub_vesafb_mod_init'.
31037 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31038 all users.
31039 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31040 `grub_vga_mod_init'. Updated all users.
31041 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31042
31043 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31044 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31045 rules.
31046
31047 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31048 Generate a function to initialize the module in utilities.
31049 Updated all callers.
31050 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31051 initialize the module in utilities. Updated all callers.
31052
31053 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31054
31055 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31056 escape sequence and a literal ^L to clear the screen.
31057
31058 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31059 when returning from Open Firmware.
31060
31061 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31062
31063 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31064 (grub_ofconsole_height): Likewise.
31065 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31066 manually insert a '\n'.
31067 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31068 `grub_ofconsole_height'. Return early if these are already set.
31069
31070 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31071
31072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31073 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31074 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31075 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31076 and `normal/script.c'.
31077 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31078 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31079 (test_mod_SOURCES): New variable.
31080 (test_mod_CFLAGS): Likewise.
31081 (test_mod_LDFLAGS): Likewise.
31082 (pkgdata_MODULES): Add `test.mod'.
31083 (grub_script.tab.c): New rule.
31084 (grub_script.tab.h): Likewise.
31085
31086 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31087
31088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31089 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31090 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31091 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31092 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31093 (test_mod_SOURCES): New variable.
31094 (test_mod_CFLAGS): Likewise.
31095 (pkgdata_MODULES): Add `test.mod'.
31096 (grub_script.tab.c): New rule.
31097 (grub_script.tab.h): Likewise.
31098
31099 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31100
31101 Add initial scripting support.
31102
31103 * commands/test.c: New file.
31104 * include/grub/script.h: Likewise.
31105 * normal/execute.c: Likewise.
31106 * normal/function.c: Likewise.
31107 * normal/lexer.c: Likewise.
31108 * normal/parser.y: Likewise.
31109 * normal/script.c: Likewise.
31110
31111 * configure.ac: Add `AC_PROG_YACC' test.
31112
31113 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31114 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31115 `normal/function.c' and `normal/script.c'.
31116 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31117 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31118 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31119 variables.
31120 (pkgdata_MODULES): Add `test.mod'.
31121 (grub_script.tab.c): New rule.
31122 (grub_script.tab.h): Likewise.
31123
31124 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31125
31126 * include/grub/normal.h (grub_test_init): New prototype.
31127 (grub_test_fini): Likewise.
31128
31129 * normal/command.c: Include <grub/script.h>.
31130 (grub_command_execute): Rewritten.
31131
31132 * util/grub-emu.c (main): Call `grub_test_init' and
31133 `grub_test_fini'.
31134
31135 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31136
31137 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31138 to 0.
31139 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31140 there are no pending characters.
31141
31142 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31143
31144 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31145 `grub_strndup' to drop device arguments. Replace unnecessary
31146 `grub_strndup' with `grub_strdup'.
31147
31148 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31149
31150 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31151 `debug' environment variable has been set.
31152
31153 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31154
31155 * Makefile.in (install-local): Use $(DATA).
31156 (uninstall): Likewise.
31157 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31158 (sbin_UTILITIES): ... to here.
31159 (sbin_SCRIPTS): New variable.
31160 (grub_install_SOURCES): New variable.
31161 * util/powerpc/ieee1275/grub-install.in: New file.
31162 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31163 variable.
31164 (add_segments): Call `grub_util_get_path'.
31165
31166 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31167
31168 From Timothy Baldwin:
31169 * commands/ls.c (grub_ls_list_files): Close FILE with
31170 grub_file_close.
31171 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31172
31173 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31174
31175 * include/grub/parser.h: New file.
31176
31177 * kern/parser.c: Likewise.
31178
31179 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31180 (grub_setup_SOURCES): Likewise.
31181 (grub_probefs_SOURCES): Likewise.
31182 (grub_emu_SOURCES): Likewise.
31183 (kernel_img_HEADERS): Add `parser.h'.
31184
31185 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31186 (grub_emu_SOURCES): Add `kern/parser.c'.
31187 (grubof_SOURCES): Likewise.
31188
31189 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31190 (grubof_SOURCES): Add `kern/parser.c'.
31191
31192 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31193
31194 * kern/misc.c (grub_split_cmdline): Removed function.
31195
31196 * kern/rescue.c: Include <grub/parser.h>.
31197 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31198 of `grub_split_cmdline'.
31199
31200 * normal/command.c: Include <grub/parser.h>.
31201 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31202 of `grub_split_cmdline'.
31203
31204 * normal/completion.c: Include <grub/parser.h>.
31205 (cmdline_state): New variable.
31206 (iterate_dir): End the filename with a quote depending on the
31207 command line state.
31208 (get_state): new function.
31209 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31210 split the arguments and determine the current argument. When the
31211 argument string is not quoted, escape all spaces.
31212
31213 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31214
31215 * normal/sparc64/setjmp.S: New file.
31216
31217 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31218
31219 * include/grub/sparc64/libgcc.h: New file.
31220 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31221 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31222 normal/sparc64/setjmp.c.
31223
31224 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31225
31226 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31227 * kern/sparc64/cache.S: New file.
31228 * kern/sparc64/cache.c: Removed.
31229 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31230 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31231 -mtune=ultrasparc.
31232 (COMMON_LDFLAGS): Add -melf64_sparc.
31233 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31234 (grubof_SOURCES): Use cache.S instead of cache.c.
31235 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31236 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31237 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31238 commented though.
31239 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31240 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31241 (linux_mod_CFLAGS): Commented out.
31242 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31243 out because module isn't built.
31244 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31245 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31246 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31247 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31248 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31249 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31250 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31251 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31252 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31253 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31254 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31255 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31256 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31257 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31258
31259 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31260
31261 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31262 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31263 longer, because HFS should not be used on PC.
31264
31265 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31266
31267 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31268 consistently within the loop.
31269
31270 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31271
31272 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31273 directory can not be read.
31274
31275 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31276
31277 * configure.ac (AC_INIT): Increase the version number to 1.91.
31278
31279 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31280 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31281 term/i386/pc/serial.c.
31282
31283 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31284
31285 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31286 file size must be permitted.
31287
31288 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31289 between %ah and %al.
31290
31291 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31292
31293 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31294 grub_uint64_t.
31295 Call the hook with a NUL-terminated filename.
31296 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31297 grub_cpu_to_be32.
31298
31299 * kern/term.c (cursor_state): New variable.
31300 (grub_term_set_current): Reset the cursor state on a new
31301 terminal.
31302 (grub_setcursor): Rewritten to use CURSOR_STATE.
31303 (grub_getcursor): New function.
31304
31305 * include/grub/term.h (grub_getcursor): New prototype.
31306
31307 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31308 integers on ARM. Reported by Timothy Baldwin
31309 <T.E.Baldwin99@members.leeds.ac.uk>.
31310
31311 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31312
31313 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31314 allocated.
31315 (grub_sfs_dir): Likewise.
31316
31317 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31318
31319 Add support for the SFS filesystem.
31320
31321 * fs/sfs.c: New file.
31322
31323 * DISTLIST: Added `fs/sfs.c'.
31324
31325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31326 (grub_probefs_SOURCES): Likewise.
31327 (grub_emu_SOURCES): Likewise.
31328 (pkgdata_MODULES): Add `sfs.mod'.
31329 (sfs_mod_SOURCES): New variable.
31330 (sfs_mod_CFLAGS): Likewise.
31331 (sfs_mod_LDFLAGS): Likewise.
31332
31333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31334 (pkgdata_MODULES): Add `sfs.mod'.
31335 (sfs_mod_SOURCES): New variable.
31336 (sfs_mod_CFLAGS): Likewise.
31337
31338 * util/grub-emu.c (main): Call `grub_sfs_init' and
31339 `grub_sfs_fini'.
31340
31341 * include/grub/fs.h (grub_sfs_init): New prototype.
31342 (grub_sfs_fini): Likewise.
31343
31344 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31345
31346 Add support for the AFFS filesystem.
31347
31348 * fs/affs.c: New file.
31349
31350 * DISTLIST: Added `fs/affs.c'.
31351
31352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31353 (grub_probefs_SOURCES): Likewise.
31354 (grub_emu_SOURCES): Likewise.
31355 (pkgdata_MODULES): Add `affs.mod'.
31356 (affs_mod_SOURCES): New variable.
31357 (affs_mod_CFLAGS): Likewise.
31358 (affs_mod_LDFLAGS): Likewise.
31359
31360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31361 (pkgdata_MODULES): Add `affs.mod'.
31362 (affs_mod_SOURCES): New variable.
31363 (affs_mod_CFLAGS): Likewise.
31364
31365 * util/grub-emu.c (main): Call `grub_affs_init' and
31366 `grub_affs_fini'.
31367
31368 * include/grub/fs.h (grub_affs_init): New prototype.
31369 (grub_affs_fini): Likewise.
31370
31371 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31372
31373 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31374
31375 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31376
31377 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31378 `-m32' to CFLAGS.
31379
31380 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31381 linking.
31382
31383 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31384 (COMMON_LDFLAGS): New variable.
31385 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31386 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31387 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31388 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31389 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31390 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31391 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31392 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31393 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31394 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31395 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31396 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31397 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31398 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31399 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31400 variables.
31401 (normal_mod_ASFLAGS): Add `-m32'.
31402
31403 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31404 (grub_host_size_t, grub_host_ssize_t): New types.
31405 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31406 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31407 `GRUB_HOST_SIZEOF_VOID_P'.
31408
31409 * include/grub/kernel.h (struct grub_module_header): Type of
31410 member offset changed to `grub_host_off_t'. Type of member size
31411 changed to `grub_host_size_t'.
31412 (struct grub_module_info): Type of member offset changed to
31413 `grub_host_off_t'. Type of member size changed to
31414 `grub_host_size_t'.
31415
31416 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31417
31418 Make GRUB's kernel compliant to Multiboot Specification.
31419
31420 * kern/i386/pc/startup.S (multiboot_header): New label.
31421 (multiboot_entry): Likewise.
31422 (multiboot_trampoline): Likewise.
31423
31424 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31425 Increased to 0x4A0.
31426
31427 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31428 put parentheses after a question mark.
31429 [!GRUB_UTIL] (my_mod): New variable.
31430
31431 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31432
31433 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31434
31435 Adds support for the XFS filesystem. Btrees are not supported
31436 yet.
31437
31438 * fs/xfs.c: New file.
31439
31440 * DISTLIST: Added `fs/xfs.c'.
31441
31442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31443 (grub_probefs_SOURCES): Likewise.
31444 (grub_emu_SOURCES): Likewise.
31445 (pkgdata_MODULES): Add `xfs.mod'.
31446 (xfs_mod_SOURCES): New variable.
31447 (xfs_mod_CFLAGS): Likewise.
31448
31449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31450 (pkgdata_MODULES): Add `xfs.mod'.
31451 (xfs_mod_SOURCES): New variable.
31452 (xfs_mod_CFLAGS): Likewise.
31453
31454 * util/grub-emu.c (main): Call `grub_xfs_init' and
31455 `grub_xfs_fini'.
31456
31457 * include/grub/fs.h (grub_xfs_init): New prototype.
31458 (grub_xfs_fini): Likewise.
31459
31460
31461 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31462
31463 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31464 color modes, allow greater than 16 colors to be configured as
31465 a default palette.
31466
31467 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31468
31469 * normal/completion.c (complete_arguments): Add the qualifier
31470 const into OPTIONS.
31471
31472 From Omniflux <omniflux+lists@omniflux.com>:
31473 * include/grub/terminfo.h: New file.
31474 * include/grub/tparm.h: Likewise.
31475 * include/grub/i386/pc/serial.h: Likewise.
31476 * term/terminfo.c: Likewise.
31477 * term/tparm.c: Likewise.
31478 * term/i386/pc/serial.c: Likewise.
31479 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31480 serial.mod.
31481 (terminfo_mod_SOURCES): New variable.
31482 (terminfo_mod_CFLAGS): Likewise.
31483 (serial_mod_SOURCES): Likewise.
31484 (serial_mod_CFLAGS): Likewise.
31485
31486 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31487
31488 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31489 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31490 and kern/powerpc/ieee1275/cmain.c, respectively.
31491
31492 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31493 * kern/powerpc/ieee1275/crt0.S: ... here.
31494
31495 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31496 * kern/powerpc/ieee1275/cmain.c: ... here.
31497
31498 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31499 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31500 instead of boot/powerpc/ieee1275/crt0.S and
31501 boot/powerpc/ieee1275/cmain.c, respectively.
31502
31503 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31504 sectors. It was not used anyway.
31505
31506 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31507
31508 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31509 `unused parameter' warning.
31510
31511 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31512
31513 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31514 function.
31515 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31516 getcharwidth.
31517
31518 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31519
31520 * include/grub/normal.h (enum grub_completion_type): Added
31521 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31522
31523 * normal/cmdline.c (print_completion): Handle
31524 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31525 * normal/menu_entry.c (store_completion): Likewise.
31526
31527 * normal/completion.c (complete_arguments): New function.
31528 (grub_normal_do_completion): Call `complete_arguments' when the
31529 current words start with a dash.
31530
31531 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31532
31533 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31534 `gzio.mod' instead of `io.mod').
31535
31536 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31537
31538 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31539 (DISTDIRS): Added io and video.
31540 Rewrite the search routine to make an output consistently.
31541
31542 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31543 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31544 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31545 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31546 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31547 util/powerpc/ieee1275/misc.c.
31548
31549 * include/grub/gzio.h: New file.
31550 * io/gzio.c: Likewise.
31551
31552 * kern/file.c (grub_file_close): Call grub_device_close only if
31553 FILE->DEVICE is not NULL.
31554
31555 * include/grub/mm.h [!NULL] (NULL): New macro.
31556
31557 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31558
31559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31560 (pkgdata_MODULES): Added gzio.mod.
31561 (gzio_mod_SOURCES): New variable.
31562 (gzio_mod_CFLAGS): Likewise.
31563
31564 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31565 (pkgdata_MODULES): Added gzio.mod.
31566 (gzio_mod_SOURCES): New variable.
31567 (gzio_mod_CFLAGS): Likewise.
31568
31569 * commands/cat.c: Include grub/gzio.h.
31570 (grub_cmd_cat): Use grub_gzfile_open instead of
31571 grub_file_open.
31572
31573 * commands/cmp.c: Include grub/gzio.h.
31574 (grub_cmd_cmp): Use grub_gzfile_open instead of
31575 grub_file_open.
31576
31577 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31578 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31579 grub_file_open.
31580 (grub_rescue_cmd_module): Likewise.
31581
31582 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31583
31584 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31585 kern/sparc64/ieee1275/init.c because it contains _start.
31586 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31587
31588 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31589
31590 * configure.ac: Add support for sparc64 host with ieee1275
31591 firmware.
31592 * configure: Generated from configure.ac.
31593 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31594 instead of int.
31595 (grub_ofdisk_read): Likewise.
31596 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31597 pointers as (void *) to remove a warning.
31598 (grub_ofdisk_close): Likewise.
31599 (grub_ofdisk_read): Likewise.
31600 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31601 returns, so make it return void to remove a warning.
31602 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31603 Corresponding prototype change.
31604 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31605 values, and cast the pointers as (void *) to remove a warning.
31606 (grub_mm_dump): Likewise.
31607 * conf/sparc64-ieee1275.mk: New file.
31608 * conf/sparc64-ieee1275.rmk: Likewise.
31609 * include/grub/sparc64/setjmp.h: Likewise.
31610 * include/grub/sparc64/types.h: Likewise.
31611 * include/grub/sparc64/ieee1275/console.h: Likewise.
31612 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31613 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31614 * include/grub/sparc64/ieee1275/time.h: Likewise.
31615 * kern/sparc64/cache.c: Likewise.
31616 * kern/sparc64/dl.c: Likewise.
31617 * kern/sparc64/ieee1275/init.c: Likewise.
31618 * kern/sparc64/ieee1275/openfw.c: Likewise.
31619
31620 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31621
31622 * util/console.c (grub_ncurses_putchar): If C is greater than
31623 0x7f, set C to a question mark.
31624 (grub_ncurses_getcharwidth): New function.
31625 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31626 getcharwidth.
31627
31628 * normal/menu.c (print_entry): Made aware of Unicode. First,
31629 convert TITLE to UCS-4, and predict the cursor position by
31630 grub_getcharwidth.
31631
31632 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31633 const to SRC.
31634 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31635
31636 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31637
31638 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31639 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31640 grub_strcat.
31641
31642 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31643 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31644 grub_strcpy and grub_strlen. Take it into account that a space
31645 character is inserted as a delimiter.
31646
31647 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31648
31649 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31650 invalid magic in the error.
31651
31652 * commands/search.c: New file.
31653
31654 * util/grub-emu.c (main): Call grub_search_init and
31655 grub_search_fini.
31656
31657 * kern/rescue.c (grub_rescue_print_disks): Removed.
31658 (grub_rescue_print_devices): New function.
31659 (grub_rescue_cmd_ls): Use grub_device_iterate with
31660 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31661 grub_rescue_print_disks.
31662
31663 * kern/partition.c (grub_partition_iterate): Return the result of
31664 PARTMAP->ITERATE instead of GRUB_ERRNO.
31665
31666 * kern/device.c: Include grub/partition.h.
31667 (grub_device_iterate): New function.
31668
31669 * include/grub/partition.h (grub_partition_iterate): Return int
31670 instead of grub_err_t.
31671
31672 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31673 prototype.
31674 [GRUB_UTIL] (grub_search_fini): Likewise.
31675
31676 * include/grub/device.h (grub_device_iterate): New prototype.
31677
31678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31679 commands/search.c.
31680 (pkgdata_MODULES): Added search.mod.
31681 (search_mod_SOURCES): New variable.
31682 (search_mod_CFLAGS): Likewise.
31683
31684 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31685 (pkgdata_MODULES): Added search.mod.
31686 (search_mod_SOURCES): New variable.
31687 (search_mod_CFLAGS): Likewise.
31688
31689 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31690 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31691 All callers changed.
31692
31693 * DISTLIST: Added commands/search.c.
31694
31695 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31696
31697 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31698 conversion.
31699 (grub_getcharwidth): New function.
31700
31701 * kern/misc.c (grub_utf8_to_ucs4): New function.
31702
31703 * include/grub/term.h (struct grub_term): Added a new member
31704 "getcharwidth".
31705 (grub_getcharwidth): New prototype.
31706
31707 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31708
31709 * term/i386/pc/console.c (map_char): New function. Segregated from
31710 grub_console_putchar.
31711 (grub_console_putchar): Use map_char.
31712 (grub_console_getcharwidth): New function.
31713 (grub_console_term): Specified grub_console_getcharwidth as
31714 getcharwidth.
31715
31716 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31717 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31718
31719 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31720 GRUB_ERRNO.
31721 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31722 on grub_strtoul completely.
31723 (write_char): Declare local variables in the beginning of the
31724 function.
31725 (grub_vesafb_getcharwidth): New function.
31726 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31727 getcharwidth.
31728
31729 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31730
31731 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31732 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31733 commands/i386/pc/vbetest.c.
31734
31735 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31736 call grub_vbe_get_controller_info again, because the returned
31737 information is volatile.
31738 (grub_vbe_set_video_mode): Mostly rewritten.
31739 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31740 grub_vbe_status_t correctly.
31741 (grub_vbe_get_video_mode_info): Likewise.
31742 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31743 several if statements.
31744
31745 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31746 * commands/i386/pc/vbeinfo.c: ... this.
31747
31748 * commands/i386/pc/vbe_test.c: Renamed to ...
31749 * commands/i386/pc/vbetest.c: ... this.
31750
31751 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31752 ...
31753 (grub_cmd_vbeinfo): ... this. Save video modes before
31754 iterating. Skip a video mode, if it is not available, not enough
31755 information is given or it is monochrome. Show the memory
31756 model. Leave the interpretation of MODEVAR to grub_strtoul
31757 completely.
31758 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31759 (GRUB_MOD_FINI): Likewise.
31760
31761 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31762 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31763 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31764 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31765 grub_strtoul completely.
31766 (real2pm): Removed.
31767 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31768 (GRUB_MOD_FINI): Likewise.
31769
31770 * normal/misc.c: Include grub/mm.h.
31771
31772 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31773 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31774 (vbe_list_modes_mod_SOURCES): Removed.
31775 (vbe_list_modes_mod_CFLAGS): Likewise.
31776 (vbe_test_mod_SOURCES): Likewise.
31777 (vbe_test_mod_CFLAGS): Likewise.
31778 (vbeinfo_mod_SOURCES): New variable.
31779 (vbeinfo_mod_CFLAGS): Likewise.
31780 (vbetest_mod_SOURCES): Likewise.
31781 (vbetest_mod_CFLAGS): Likewise.
31782
31783 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31784
31785 * normal/misc.c: New file.
31786
31787 * DISTLIST: Added normal/misc.c.
31788
31789 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31790 DISK to HOOK. Call HOOK with DISK.
31791 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31792 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31793 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31794
31795 * normal/menu_entry.c (struct screen): Added a new member
31796 "completion_shown".
31797 (completion_buffer): New global variable.
31798 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31799 (store_completion): New function.
31800 (complete): Likewise.
31801 (clear_completions): Likewise.
31802 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31803 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31804 a tab, call complete.
31805
31806 * normal/completion.c (disk_dev): Removed.
31807 (print_simple_completion): Likewise.
31808 (print_partition_completion): Likewise.
31809 (print_func): New global variable.
31810 (add_completion): Do not take the arguments WHAT or PRINT any
31811 longer. Added a new argument TYPE. Instead of printing directly,
31812 call PRINT_FUNC if not NULL.
31813 All callers changed.
31814 (complete_device): Use a local variable DEV instead of
31815 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31816 (grub_normal_do_completion): Take a new argument HOOK. Do not
31817 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31818 empty string, return NULL instead.
31819 All callers changed.
31820
31821 * normal/cmdline.c (print_completion): New function.
31822
31823 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31824 to HOOK.
31825 All callers changed.
31826
31827 * kern/disk.c (grub_print_partinfo): Removed.
31828
31829 * include/grub/partition.h (struct grub_partition_map): Add a new
31830 argument DISK into HOOK of ITERATE.
31831 (grub_partition_iterate): Add a new argument DISK to HOOK.
31832
31833 * include/grub/normal.h (enum grub_completion_type): New enum.
31834 (grub_completion_type_t): New type.
31835 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31836 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31837 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31838 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31839 (grub_normal_do_completion): Added a new argument HOOK.
31840 (grub_normal_print_device_info): New prototype.
31841
31842 * include/grub/disk.h (grub_print_partinfo): Removed.
31843
31844 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31845 (normal_mod_SOURCES): Likewise.
31846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31847 (normal_mod_SOURCES): Likewise.
31848
31849 * commands/ls.c (grub_ls_list_disks): Use
31850 grub_normal_print_device_info instead of grub_print_partinfo. Free
31851 PNAME.
31852 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31853 duplicating the code.
31854
31855 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31856
31857 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
31858 follow GCS more precisely.
31859 * commands/i386/pc/vbe_test.c: Likewise.
31860 * include/grub/i386/pc/vbe.h: Likewise.
31861 * term/i386/pc/vesafb.c: Likewise.
31862 * video/i386/pc/vbe.c: Likewise.
31863
31864 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31865
31866 * DISTLIST: Added term/i386/pc/vesafb.c
31867 DISTLIST: Added video/i386/pc/vbe.c
31868 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31869 DISTLIST: Added commands/i386/pc/vbe_test.c.
31870 * commands/i386/pc/vbe_list_modes.c: New file.
31871 * commands/i386/pc/vbe_test.c: Likewise.
31872 * term/i386/pc/vesafb.c: Likewise.
31873 * video/i386/pc/vbe.c: Likewise.
31874 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31875 (grub_vbe_probe) Added prototype.
31876 (grub_vbe_set_video_mode) Likewise.
31877 (grub_vbe_get_video_mode) Likewise.
31878 (grub_vbe_get_video_mode_info) Likewise.
31879 (grub_vbe_set_pixel_rgb) Likewise.
31880 (grub_vbe_set_pixel_index) Likewise.
31881 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31882 (pkgdata_MODULES): Added vesafb.mod.
31883 (pkgdata_MODULES): Added vbe_list_modes.mod.
31884 (pkgdata_MODULES): Added vbe_test.mod.
31885 (vbe_mod_SOURCES): Added.
31886 (vbe_mod_CFLAGS): Likewise.
31887 (vesafb_mod_SOURCES): Likewise.
31888 (vesafb_mod_CFLAGS): Likewise.
31889 (vbe_list_modes_mod_SOURCES): Likewise.
31890 (vbe_list_modes_mod_CFLAGS): Likewise.
31891 (vbe_test_mod_SOURCES): Likewise.
31892 (vbe_test_mod_CFLAGS): Likewise.
31893
31894 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31895
31896 * normal/command.c (grub_command_execute): If INTERACTIVE is
31897 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31898 CMDLINE. Disable the pager if INTERACTIVE is true.
31899 All callers are changed.
31900
31901 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31902 before reading a config file.
31903 * normal/main.c (read_config_file): Even if a command is not
31904 found, register it if it is within an entry.
31905
31906 * util/grub-emu.c: Include sys/types.h and unistd.h.
31907 (options): Added --hold.
31908 (struct arguments): Added a new member "hold".
31909 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31910 missing.
31911 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31912 cleared by a debugger, if it is not zero.
31913
31914 * include/grub/normal.h (grub_command_execute): Add an argument
31915 INTERACTIVE.
31916
31917 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31918
31919 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31920
31921 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31922
31923 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31924 program with another one, because the old one didn't detect a bug
31925 in gcc-3.4. Always use regparm 2, because the new test is still
31926 not enough for gcc-4.0. Someone must investigate a simple test
31927 case which detects a bug in gcc-4.0.
31928
31929 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31930
31931 * DISTLIST: Added normal/completion.c.
31932
31933 * normal/completion.c: New file.
31934
31935 * term/i386/pc/console.c (grub_console_getwh): New function.
31936 (grub_console_term): Assign grub_console_getwh to getwh.
31937
31938 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31939 function is defined in normal/completion.c as
31940 grub_normal_do_completion.
31941 (grub_cmdline_get): Use grub_normal_do_completion instead of
31942 grub_tab_complete.
31943
31944 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31945 returns non-zero, otherwise return 0.
31946 (grub_partition_iterate): First, probe the partition map. Then,
31947 call ITERATE only for this partition map.
31948
31949 * kern/misc.c (grub_strncmp): Rewritten.
31950
31951 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31952 returns non-zero. Otherwise return 0.
31953
31954 * include/grub/partition.h (grub_partition_map_iterate): Return
31955 int instead of void.
31956
31957 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31958
31959 * include/grub/misc.h (grub_strncmp): Change the type of N to
31960 grub_size_t.
31961
31962 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31963 of void.
31964
31965 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
31966 unsigned explicitly before comparing it with I.
31967
31968 * kern/main.c (grub_env_write_root): Add the attribute unused into
31969 VAR.
31970
31971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31972 normal/completion.c.
31973 (normal_mod_SOURCES): Likewise.
31974 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31975 (normal_mod_SOURCES): Likewise.
31976
31977 * normal/command.c (grub_iterate_commands): If ITERATE returns
31978 non-zero, return one immediately.
31979
31980 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31981
31982 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31983 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31984 descriptions.
31985 (grub_vbe_get_controller_info): New function.
31986 (grub_vbe_get_mode_info): Likewise.
31987 (grub_vbe_set_mode): Likewise.
31988 (grub_vbe_get_mode): Likewise.
31989 (grub_vbe_set_memory_window): Likewise.
31990 (grub_vbe_get_memory_window): Likewise.
31991 (grub_vbe_set_scanline_length): Likewise.
31992 (grub_vbe_get_scanline_length): Likewise.
31993 (grub_vbe_set_display_start): Likewise.
31994 (grub_vbe_get_display_start): Likewise.
31995 (grub_vbe_set_palette_data): Likewise.
31996 * include/grub/i386/pc/vbe.h: New file.
31997
31998 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31999
32000 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32001 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32002 * DISTLIST: Likewise.
32003 * kern/ieee1275/of.c: Moved to ...
32004 * kern/ieee1275/ieee1275.c: ... here.
32005
32006 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32007
32008 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32009 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32010 Pass 0 as `end' parameter to grub_strtoul().
32011
32012 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32013
32014 * include/grub/powerpc/ieee1275/console.h: Do not include
32015 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32016 ifdef.
32017 (grub_console_cur_color): Remove i386-specific prototype.
32018 (grub_console_real_putchar): Likewise.
32019 (grub_console_checkkey): Likewise.
32020 (grub_console_getkey): Likewise.
32021 (grub_console_getxy): Likewise.
32022 (grub_console_gotoxy): Likewise.
32023 (grub_console_cls): Likewise.
32024 (grub_console_setcursor): Likewise.
32025 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32026 Include <grub/machine/console.h>.
32027 * term/ieee1275/ofconsole.c: Likewise.
32028
32029 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32030
32031 * Makefile.in (LIBLZO): New variable.
32032
32033 * configure.ac: Check for LZO version 2.
32034
32035 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32036 lzo/lzo1x.h instead of lzo1x.h.
32037
32038 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32039 of -llzo.
32040
32041 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32042 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32043
32044 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32045 copying the data from PARTITION to P.
32046
32047 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32048
32049 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32050 negative, unload the module.
32051
32052 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32053 map is "pc_partition_map" but not "pc".
32054 (usage): Fix the description. The options are --boot-image and
32055 --core-image but not --boot-file or --core-file.
32056 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32057 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32058 DEFAULT_DIRECTORY.
32059
32060 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32061 --core-file. Specify INSTALL_DEVICE as an argument.
32062
32063 * util/console.c: Include config.h.
32064 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32065 [HAVE_NCURSES_H]: Include ncurses.h.
32066 [HAVE_CURSES_H]: Include curses.h.
32067 [!A_NORMAL] (A_NORMAL): Defined as zero.
32068 [!A_STANDOUT] (A_STANDOUT): Likewise.
32069
32070 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32071 -lncurses.
32072 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32073
32074 * configure.ac: Check for curses libraries and headers.
32075
32076 * Makefile.in (LIBCURSES): New variable.
32077
32078 * genmk.rb (Script::rule): Set the executable bits.
32079
32080 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32081 name of the PC partition map is "pc_partition_map" but not "pc".
32082
32083 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32084
32085 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32086 (modules): Likewise.
32087 (usage): Added descriptions for --modules and --grub-probefs.
32088 Handle --modules and --grub-probefs. Save the arguments in MODULES
32089 and GRUB_PROBEFS, respectively.
32090 Auto-detect a filesystem module against GRUBDIR. If the result is
32091 empty and modules are not specified explicitly, abort the
32092 installation. Add the result to MODULES.
32093
32094 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32095 disk/powerpc/ieee1275/ofdisk.c,
32096 include/grub/powerpc/ieee1275/init.h and
32097 term/powerpc/ieee1275/ofconsole.c.
32098 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32099 term/ieee1275/ofconsole.c.
32100
32101 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32102
32103 * COPYING: Upgraded to the latest version. Only the address of the
32104 FSF office has changed.
32105
32106 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32107
32108 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32109 kern/ieee1275.c with kern/ieee1275/of.c.
32110
32111 * kern/ieee1275.c: Moved to ...
32112 * kern/ieee1275/of.c: ... here.
32113
32114 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32115
32116 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32117 readability.
32118
32119 * config.guess: Updated to the latest version from gnulib.
32120 * config.sub: Likewise.
32121 * install.sh: Likewise.
32122 * mkinstalldirs: Likewise.
32123
32124 * include/grub/console.h: Removed. This file is arch-specific. Do
32125 not put this in include/grub.
32126
32127 * include/grub/i386/pc/console.h: Resurrected.
32128
32129 * util/console.c: Include grub/machine/console.h instead of
32130 grub/console.h.
32131 * util/grub-emu.c: Likewise.
32132
32133 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32134
32135 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32136 hardcoded value.
32137
32138 From Vincent Pelletier <subdino2004@yahoo.fr>
32139 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32140 Redefined to use grub_getwh.
32141 (grub_term): New member named getwh.
32142 (grub_getwh): New prototype.
32143 * kern/term.c (grub_getwh): New function.
32144 * term/i386/pc/console.c (grub_console_getwh): New function.
32145 (grub_console_term): New member `getwh'.
32146 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32147 (grub_vga_term): New member `getwh'.
32148 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32149 grub_ssize_t.
32150 (grub_ofconsole_getw): New function.
32151 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32152 (grub_ofconsole_term): New field named getwh and new initial
32153 value.
32154
32155 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32156
32157 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32158 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32159 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32160 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32161 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32162 of <grub/machine/ieee1275.h>.
32163 * commands/ieee1275/reboot.c: Likewise.
32164 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32165 * kern/ieee1275.c: ... to here. All users updated. Change all
32166 parameter structs to use new type `grub_ieee1275_cell_t'.
32167 * term/powerpc/ieee1275/ofconsole.c: Move ...
32168 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32169 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32170 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32171 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32172 to return int.
32173 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32174 Remove unused prototypes. All users updated.
32175 * include/grub/powerpc/ieee1275/console.h: Removed.
32176 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32177 `grub_ieee1275_cell_t'.
32178 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32179 Cast comparisons with -1 to the correct type.
32180 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32181 type to match `grub_ieee1275_entry_fn'.
32182
32183 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32184
32185 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32186
32187 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32188 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32189 partmap/sun.c.
32190 (grub_probefs_SOURCES): New variable.
32191
32192 * util/i386/pc/grub-probefs.c: New file.
32193
32194 * util/i386/pc/grub-setup.c (main): Call
32195 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32196 grub_hfs_init and grub_jfs_init to initialize the system. Call
32197 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32198 grub_pc_partition_map_fini to finish the system.
32199
32200 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32201
32202 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32203 function.
32204 (grub_multiboot_load_elf32): Likewise.
32205 (grub_multiboot_is_elf64): Likewise.
32206 (grub_multiboot_load_elf64): Likewise.
32207 (grub_multiboot_load_elf): Likewise.
32208 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32209 an ELF32 or ELF64 file.
32210 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32211
32212 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32213 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32214 NULL before calling FS->LABEL.
32215 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32216 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32217 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32218 before calling FS->LABEL.
32219
32220 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32221
32222 * util/i386/pc/grub-install.in (datadir): New variable.
32223 (libdir): Removed.
32224 (pkgdatadir): New variable.
32225 (pkglibdir): Removed.
32226
32227 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32228
32229 * DISTLIST: Added util/i386/pc/grub-install.in.
32230
32231 * util/i386/pc/grub-install.in: New file.
32232
32233 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32234 (grub_install_SOURCES): Likewise.
32235
32236 * genmk.rb: Added support for scripts.
32237 (Script): New class.
32238 (scripts): New variable.
32239
32240 * Makefile.in (install-local): Install sbin_SCRIPTS by
32241 INSTALL_SCRIPT.
32242 (uninstall): Remove sbin_SCRIPTS.
32243
32244 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32245 device, try to get a GRUB device by
32246 grub_util_biosdisk_get_grub_dev.
32247 Free DEST_DEV.
32248
32249 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32250 description for --device-map.
32251
32252 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32253
32254 Change the semantics of variable hooks. They now return strings
32255 instead of error values.
32256
32257 * util/i386/pc/grub-setup.c: Include grub/env.h.
32258 (setup): Use grub_device_set_root instead of grub_env_set.
32259
32260 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32261 grub_env_get instead of grub_device_set_root and
32262 grub_device_get_root, respectively.
32263
32264 * kern/main.c (grub_env_write_root): New function.
32265 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32266 grub_env_set instead of grub_device_set_root.
32267
32268 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32269 many variables.
32270 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32271 rather than calling ENV->WRITE_HOOK afterwards.
32272 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32273 passing a pointer of a pointer.
32274 (grub_register_variable_hook): Change the types of "read_hook" and
32275 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32276 respectively.
32277 Allocate the default empty string on the heap, because this string
32278 may be freed later.
32279
32280 * kern/device.c: Include grub/env.h.
32281 (grub_device_set_root): Removed.
32282 (grub_device_get_root): Likewise.
32283 (grub_device_open): Use grub_env_get instead of
32284 grub_device_get_root.
32285
32286 * include/grub/env.h (grub_env_read_hook_t): New type.
32287 (grub_env_write_hook_t): Likewise.
32288 (grub_env_var): Change the types of "read_hook" and "write_hook"
32289 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32290 (grub_register_variable_hook): Likewise.
32291
32292 * include/grub/device.h (grub_device_set_root): Removed.
32293 (grub_device_set_root): Likewise.
32294
32295 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32296 make sure that DIRNAME terminates with '/', so that
32297 grub_fat_find_dir will fail if PATH is not a directory.
32298
32299 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32300 from DIRNAME.
32301 Use the qualifier auto for print_files and print_files_long.
32302 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32303 as a regular file.
32304 Put a newline only if there is no error.
32305 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32306 used.
32307
32308 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32309
32310 * kern/partition.c (grub_partition_probe): Initialize PART to
32311 NULL. Otherwise, when no partition map is registered, this returns
32312 a garbage.
32313
32314 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32315
32316 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32317 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32318 valid.
32319
32320 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32321
32322 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32323 information on each device, if it does not have partitions. Print
32324 "Device" instead of "Disk", because this function is not specific
32325 to disk devices.
32326
32327 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32328 static to ensure that it is put on the memory rather than a
32329 register.
32330
32331 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32332
32333 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32334 (grub_cat_init): Likewise.
32335 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32336 (options): Likewise.
32337 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32338 (grub_configfile_init): Likewise.
32339 * font/manager.c (GRUB_MOD_INIT): Likewise.
32340 * commands/help.c (GRUB_MOD_INIT): Likewise.
32341 (grub_help_init): Likewise.
32342 * normal/command.c (grub_command_init): Likewise.
32343 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32344 * disk/loopback.c (grub_loop_init): Likewise.
32345 (GRUB_MOD_INIT): Likewise.
32346 * commands/ls.c (grub_ls_init): Likewise.
32347 (GRUB_MOD_INIT): Likewise.
32348 (options): Likewise.
32349 * commands/boot.c (grub_boot_init): Likewise.
32350 (GRUB_MOD_INIT): Likewise.
32351 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32352 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32353 (GRUB_MOD_INIT): Likewise.
32354 * commands/cmp.c (grub_cmp_init): Likewise.
32355 (GRUB_MOD_INIT): Likewise.
32356
32357 * normal/arg.c: Use <> instead of "" to include header files.
32358 (SHORT_ARG_HELP): New macro.
32359 (SHORT_ARG_USAGE): Likewise.
32360 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32361 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32362 descriptions.
32363 (find_short): Check if C is 'h' or 'u' explicitly.
32364 (grub_arg_show_help): Use space characters instead of tabs. Treat
32365 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32366 are shown with --help and --usage only if they are not used for
32367 the command itself.
32368 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32369 'h' and 'u'.
32370
32371 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32372 const into "longarg". Change the type of "shortarg" to int.
32373
32374 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32375
32376 * boot/i386/pc/boot.S (boot_drive_check): New label.
32377
32378 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32379 macro.
32380
32381 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32382 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32383
32384 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32385
32386 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32387 When turning off Gate A20, skip the check and return immediately,
32388 because this is not fatal usually.
32389
32390 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32391
32392 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32393 be 0x7C00 instead of 0x8000.
32394
32395 * boot/i386/pc/pxeboot.S: Rewritten.
32396
32397 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32398 EXT_C.
32399 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32400 result.
32401
32402 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32403
32404 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32405 robustness. This routine now supports a BIOS call and System
32406 Control Port A to modify the gate A20.
32407
32408 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32409 Increased to 0x440.
32410
32411 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32412
32413 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32414 device path and resulting ihandle.
32415 (grub_ofdisk_close): dprintf the ihandle being closed.
32416 (grub_ofdisk_read): dprintf function parameters.
32417 * kern/mm.c (grub_mm_init_region): Likewise.
32418 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32419 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32420 size, and boot arguments.
32421 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32422 before loading into memory.
32423 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32424 before loading into memory.
32425
32426 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32427
32428 * kern/mm.c: Added much documentation.
32429 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32430 8, set to 5 instead of 8.
32431
32432 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32433
32434 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32435
32436 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32437 (grub_mkdevicemap_SOURCES): New variable.
32438
32439 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32440 lib/device.c of GRUB Legacy.
32441
32442 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32443
32444 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32445 instead of PATH is NULL.
32446
32447 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32448
32449 * commands/cmp.c (BUFFER_SIZE): New macro.
32450 (grub_cmd_cmp): Close the right file at the right time. Compare
32451 only data just read. Don't report files of different size as
32452 identical. Dynamically allocate buffers. Move variable
32453 declarations at the beginning of function.
32454
32455 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32456
32457 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32458 reverse.
32459
32460 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32461
32462 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32463 when backspace is pressed at beginning of line.
32464
32465 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32466
32467 * DISTLIST: Added genfslist.sh.
32468
32469 * normal/main.c (fs_module_list): New variable.
32470 (autoload_fs_module): New function.
32471 (read_fs_list): Likewise.
32472 (grub_normal_execute): Call read_fs_list.
32473
32474 * kern/fs.c (grub_fs_autoload_hook): New variable.
32475 (grub_fs_probe): Added support for auto-loading.
32476
32477 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32478 (grub_fs_module_list_t): New type.
32479
32480 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32481 (grub_fs_autoload_hook): New prototype.
32482
32483 * genfslist.sh: New file.
32484
32485 * genmk.rb: Added a rule to generate a filesystem list.
32486
32487 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32488
32489 * configure.ac: Fix the test for cross-compiling.
32490
32491 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32492 define GRUB_UTIL anymore.
32493
32494 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32495 so this function works on other systems than just big endian.
32496 (load_modules): Likewise.
32497 (add_segments): Likewise.
32498
32499 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32500
32501 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32502 contains `l' modifier, get a long from va_arg().
32503
32504 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32505
32506 * kern/mm.c (grub_free): If the next free block which is being
32507 merged is the first free block, set the first block to the block
32508 being freed.
32509 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32510
32511 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32512
32513 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32514 `grub_ieee1275_chosen'.
32515
32516 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32517
32518 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32519 (grub_ieee1275_chosen): New variable.
32520 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32521 `chosen'.
32522 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32523 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32524 Rename first argument to `phandle' for consistency.
32525 (grub_ieee1275_get_property_length): Likewise.
32526 (grub_ieee1275_next_property): Likewise. Change type of first argument
32527 to grub_ieee1275_phandle_t.
32528 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32529 Move export next to declaration.
32530 (grub_ieee1275_chosen): New variable.
32531 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32532 Correct cosmetic typo.
32533 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32534 `grub_ieee1275_chosen'.
32535 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32536 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32537 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32538 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32539 `grub_ieee1275_chosen'.
32540
32541 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32542
32543 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32544 /chosen/bootargs.
32545 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32546 /chosen/bootargs as "variable=value" pairs.
32547
32548 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32549
32550 * include/grub/misc.h (grub_dprintf): New macro.
32551 (grub_real_dprintf): New prototype.
32552 (grub_strword): Likewise.
32553 (grub_iswordseparator): Likewise.
32554 * kern/misc.c (grub_real_dprintf): New function.
32555 (grub_strword): Likewise.
32556 (grub_iswordseparator): Likewise.
32557
32558 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32559
32560 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32561 (roundup): Remove macro.
32562 (grub_ieee1275_flags): Make static.
32563 (grub_ieee1275_realmode): Remove.
32564 (grub_ieee1275_test_flag): New function.
32565 (grub_ieee1275_set_flag): Likewise.
32566 (find_options): Rename to `grub_ieee1275_find_options'; update
32567 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32568 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32569 (cmain): New prototype.
32570 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32571 `grub_ieee1275_flags' directly.
32572 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32573 machine/biosdisk.h.
32574 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32575 Don't include grub/machine/init.h.
32576 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32577 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32578 Remove prototype.
32579 (grub_ieee1275_realmode): Likewise.
32580 (grub_ieee1275_flag): New enum.
32581 (grub_ieee1275_test_flag): New prototype.
32582 (grub_ieee1275_set_flag): New prototype.
32583 * include/grub/powerpc/ieee1275/init.h: Remove file.
32584 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32585 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32586 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32587 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32588 comment.
32589 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32590 `grub_ieee1275_test_flag'.
32591 (grub_ieee1275_encode_devname): Likewise.
32592
32593 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32594
32595 * include/grub/powerpc/ieee1275/ieee1275.h
32596 (grub_ieee1275_encode_devname): New prototype.
32597 (grub_ieee1275_get_filename): Likewise.
32598 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32599 function.
32600 (grub_set_prefix): Likewise.
32601 (grub_machine_init): Call grub_set_prefix.
32602 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32603 (grub_parse_type): New enum.
32604 (grub_ieee1275_get_devargs): New function.
32605 (grub_ieee1275_get_devname): Likewise.
32606 (grub_ieee1275_parse_args): Likewise.
32607 (grub_ieee1275_get_filename): Likewise.
32608 (grub_ieee1275_encode_devname): Likewise.
32609
32610 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32611
32612 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32613 `grub_loader_unset'.
32614
32615 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32616
32617 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32618 instead of grub_ieee1275_interpret.
32619 (grub_halt_init): New function.
32620 (grub_halt_fini): Likewise.
32621 (GRUB_MOD_INIT): Correct message grammar.
32622 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32623 instead of grub_ieee1275_interpret.
32624 (grub_reboot_init): New function.
32625 (grub_reboot_fini): Likewise.
32626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32627 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32628 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32629 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32630 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32631 function.
32632 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32633 Add prototype.
32634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32635 prototype.
32636 (grub_halt): Likewise.
32637 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32638 (cmain): Remove __attribute__((unused)).
32639 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32640 (grub_heap_len): Likewise.
32641 (grub_machine_fini): New function.
32642 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32643 (grub_halt): Likewise.
32644 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32645 function.
32646 * util/powerpc/ieee1275/misc.c: New file.
32647
32648 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32649
32650 * DISTLIST: New file.
32651 * gendistlist.sh: Likewise.
32652
32653 * Makefile.in (COMMON_DISTFILES): Removed.
32654 (BOOT_DISTFILES): Likewise.
32655 (CONF_DISTFILES): Likewise.
32656 (DISK_DISTFILES): Likewise.
32657 (FS_DISTFILES): Likewise.
32658 (INCLUDE_DISTFILES): Likewise.
32659 (KERN_DISTFILES): Likewise.
32660 (LOADER_DISTFILES): Likewise.
32661 (TERM_DISTFILES): Likewise.
32662 (UTIL_DISTFILES): Likewise.
32663 (DISTFILES): Likewise.
32664 (uninstall): Uninstall files in $(pkgdata_DATA).
32665 (DISTLIST): New target.
32666 (distdir): Use the contents of the file DISTLIST to get a list of
32667 distributed files.
32668
32669 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32670
32671 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32672 descriptor. This is ported from GRUB Legacy.
32673
32674 * gencmdlist.sh: Added an extra semicolon to make it work with
32675 old sed versions. Reported by Robert Bihlmeyer
32676 <robbe@orcus.priv.at>.
32677
32678 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32679
32680 Automatic loading of commands is supported.
32681
32682 * normal/main.c (read_command_list): New function.
32683 (grub_normal_execute): Call read_command_list.
32684
32685 * normal/command.c (grub_register_command): Return zero or CMD.
32686 Allocate CMD->NAME from the heap.
32687 Initialize CMD->MODULE_NAME to zero.
32688 Find the same name as well. If the same command is found and it is
32689 a dummy command, overwrite members. If it is not a dummy command,
32690 return zero.
32691 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32692 (grub_command_find): If a dummy command is found, load a module
32693 and retry to find a command only once.
32694
32695 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32696 make sure that each command is loaded.
32697
32698 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32699 macro.
32700 (struct grub_command): Remove const from the member `name'.
32701 Add a new member `module_name'.
32702 (grub_register_command): Return grub_command_t.
32703
32704 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32705 sure that each command is loaded.
32706
32707 * genmk.rb (PModule::rule): Specify a module name without the
32708 suffix ".mod" to gencmdlist.sh.
32709
32710 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32711
32712 * gencmdlist.sh: New file.
32713
32714 * genmk.rb (PModule::rule): Generate a rule for a command list.
32715 Clean command.lst.
32716 Generate command.lst from $(COMMANDFILES).
32717
32718 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32719 (DATA): Added $(pkgdata_DATA).
32720 (install-local): Install files in $(pkgdata_DATA).
32721
32722 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32723
32724 * term/i386/pc/vga.c (debug_command): Removed.
32725 (GRUB_MOD_INIT): Do not register the command "debug".
32726
32727 From Hollis Blanchard:
32728 * commands/configfile.c: New file.
32729 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32730 commands/configfile.c.
32731 (pkgdata_MODULES): Added configfile.mod.
32732 (configfile_mod_SOURCES): New variable.
32733 (configfile_mod_CFLAGS): Likewise.
32734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32735 commands/configfile.c.
32736 (pkgdata_MODULES): Added configfile.mod.
32737 (configfile_mod_SOURCES): New variable.
32738 (configfile_mod_CFLAGS): Likewise.
32739 * util/grub-emu.c (main): Call grub_configfile_init and
32740 grub_configfile_fini.
32741 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32742 prototype.
32743 [GRUB_UTIL] (grub_configfile_fini): Likewise.
32744
32745 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32746
32747 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32748 address.
32749
32750 * commands/help.c (grub_cmd_help): Do not print newlines after
32751 the last command in print_command_help.
32752
32753 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32754
32755 * commands/default.h: New file.
32756 * commands/timeout.h: Likewise.
32757 * normal/context.c: Likewise.
32758
32759 * util/misc.c: Do not include sys/times.h.
32760 Include sys/time.h and grub/machine/time.h.
32761 (grub_get_rtc): Rewritten with gettimeofday.
32762
32763 * util/grub-emu.c (main): Call grub_default_init and
32764 grub_timeout_init before grub_normal_init, and call
32765 grub_timeout_fini and grub_default_fini after grub_main.
32766
32767 * util/console.c (grub_ncurses_checkkey): Return the read
32768 character or -1.
32769
32770 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32771 timeouts.
32772
32773 * normal/main.c (read_config_file): Push MENU. If this fails,
32774 print an error and wait for a user input.
32775 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32776 If a menu is empty or an error occurs, pop MENU.
32777 (grub_normal_execute): Pop and free MENU after grub_menu_run
32778 returns.
32779
32780 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32781
32782 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32783 include time.h.
32784 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32785 without GRUB_UTIL.
32786 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32787 time.h.
32788 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32789 without GRUB_UTIL.
32790
32791 * include/grub/normal.h (struct grub_menu_list): New struct.
32792 (grub_menu_list_t): New type.
32793 (struct grub_context): New struct.
32794 (grub_context_t): New type.
32795 (grub_register_command): Got rid of EXPORT_FUNC.
32796 (grub_unregister_command): Likewise.
32797 (grub_context_get): New prototype.
32798 (grub_context_get_current_menu): Likewise.
32799 (grub_context_push_menu): Likewise.
32800 (grub_context_pop_menu): Likewise.
32801 [GRUB_UTIL] (grub_default_init): Likewise.
32802 [GRUB_UTIL] (grub_default_fini): Likewise.
32803 [GRUB_UTIL] (grub_timeout_init): Likewise.
32804 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32805
32806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32807 commands/timeout.c and normal/context.c.
32808 (pkgdata_MODULES): Added default.mod and timeout.mod.
32809 (normal_mod_SOURCES): Added normal/context.c.
32810 (default_mod_SOURCES): New variable.
32811 (default_mod_CFLAGS): Likewise.
32812 (timeout_mod_SOURCES): Likewise.
32813 (timeout_mod_CFLAGS): Likewise.
32814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32815 conf/i386-pc.rmk.
32816 (pkgdata_MODULES): Added default.mod and timeout.mod.
32817 (normal_mod_SOURCES): Added normal/context.c.
32818 (default_mod_SOURCES): New variable.
32819 (default_mod_CFLAGS): Likewise.
32820 (timeout_mod_SOURCES): Likewise.
32821 (timeout_mod_CFLAGS): Likewise.
32822
32823 * Makefile.in (all-local): Added $(MKFILES).
32824
32825 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32826
32827 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32828 (grub_emu_SOURCES): Likewise.
32829 (pkgdata_MODULES): Add `sun.mod'.
32830 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32832 `partmap/sun.c'.
32833 (pkgdata_MODULES): Add `sun.mod'.
32834 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32835 * include/grub/partition.h (grub_sun_partition_map_init): New
32836 prototype.
32837 (grub_sun_partition_map_fini): Likewise.
32838 * partmap/sun.c: New file.
32839 * util/grub-emu.c (main): Initialize and de-initialize the sun
32840 partitionmap support.
32841
32842 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32843
32844 This implements an Emacs-like menu entry editor.
32845
32846 * normal/menu_entry.c: New file.
32847
32848 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32849 characters to ASCII.
32850 (saved_char): New variable.
32851 (grub_ncurses_checkkey): Rewritten completely.
32852 (grub_ncurses_getkey): Likewise.
32853 (grub_ncurses_init): Call raw instead of cbreak.
32854
32855 * normal/menu.c (print_entry): Do not put a space.
32856 (init_page): Renamed to ...
32857 (grub_menu_init_page): ... this. All callers changed.
32858 (edit_menu_entry): Removed.
32859 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32860
32861 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32862
32863 * kern/misc.c (grub_vprintf): Call grub_refresh.
32864
32865 * normal/menu.c (DISP_LEFT): Renamed to ...
32866 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32867 * normal/menu.c (DISP_UP): Renamed to ...
32868 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32869 * normal/menu.c (DISP_RIGHT): Renamed to ...
32870 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32871 * normal/menu.c (DISP_DOWN): Renamed to ...
32872 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32873 * normal/menu.c (DISP_HLINE): Renamed to ...
32874 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32875 * normal/menu.c (DISP_VLINE): Renamed to ...
32876 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32877 * normal/menu.c (DISP_UL): Renamed to ...
32878 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32879 * normal/menu.c (DISP_UR): Renamed to ...
32880 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32881 * normal/menu.c (DISP_LL): Renamed to ...
32882 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32883 * normal/menu.c (DISP_LR): Renamed to ...
32884 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32885 * normal/menu.c (TERM_WIDTH): Renamed to ...
32886 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32887 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32888 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32889 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32890 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32891 * normal/menu.c (TERM_MARGIN): Renamed to ...
32892 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32893 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32894 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32895 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32896 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32897 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32898 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32899 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32900 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32901 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32902 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32903 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32904 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32905 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32906 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32907 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32908 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32909 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32910 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32911 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32912 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32913 All callers changed.
32914
32915 * include/grub/normal.h: New prototype.
32916
32917 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32918 normal/menu_entry.c.
32919 (normal_mod_SOURCES): Likewise.
32920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32921 (normal_mod_SOURCES): Likewise.
32922
32923 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32924
32925 * include/grub/normal.h (grub_halt_init): New prototype.
32926 (grub_halt_fini): Likewise.
32927 (grub_reboot_init): Likewise.
32928 (grub_reboot_fini): Likewise.
32929
32930 * util/grub-emu.c: Include signal.h.
32931 (main_env): New global variable.
32932 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32933 catch C-c.
32934 (grub_machine_fini): New function.
32935 (main): Call grub_halt_init and grub_reboot_init before
32936 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32937 Call setjmp with MAIN_ENV to go back afterwards.
32938 Call grub_machine_fini right before return.
32939
32940 * include/grub/util/misc.h: Include setjmp.h.
32941 (main_env): New prototype.
32942
32943 * include/grub/kernel.h (grub_machine_fini): New prototype.
32944 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32945 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32946
32947 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32948 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32949 * term/i386/pc/console.c (grub_console_fini): Likewise.
32950
32951 * util/i386/pc/misc.c: New file.
32952
32953 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32954 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32955 commands/i386/pc/reboot.c.
32956
32957 2005-02-14 Guillem Jover <guillem@hadrons.org>
32958
32959 * include/grub/dl.h (grub_dl_check_header): New prototype.
32960 (grub_arch_dl_check_header): Change return type to grub_err_t,
32961 remove size parameter and export function. Update all callers.
32962 * kern/dl.c (grub_dl_check_header): New function.
32963 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32964 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32965 are inside the core.
32966 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32967 independent ELF header checks.
32968 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32969 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32970 `grub_dl_check_header' instead of explicit checks. Check for the
32971 ELF type.
32972 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32973 `grub_dl_check_header' instead of explicit checks. Remove arch
32974 specific ELF header checks.
32975
32976 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32977 argument SIZE.
32978
32979 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32980
32981 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32982 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32983
32984 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32985
32986 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
32987 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
32988 (part_map_iterate): Clear `grub_errno' and return 0 if
32989 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
32990 * partmap/amiga.c (amiga_partition_map_iterate): Return
32991 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32992 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32993
32994 2005-02-01 Guillem Jover <guillem@hadrons.org>
32995
32996 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32997 help info.
32998
32999 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33000
33001 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33002 Removed prototype.
33003 (grub_rescue_cmd_linux): New prototype.
33004 (grub_rescue_cmd_initrd): Likewise.
33005 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33006 `bi_rec'.
33007 (grub_linux_release_mem): Release the memory for the initrd.
33008 (grub_load_linux): Renamed from this...
33009 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33010 Changed `entry' not to be static. Loop over memory regions to
33011 find another one when the default fails.
33012 (grub_rescue_cmd_initrd): New function.
33013 (grub_linux_init): Remove function.
33014 (grub_linux_fini): Likewise.
33015 (GRUB_MOD_INIT): Register `initrd'.
33016 (GRUB_MOD_FINI): Unregister `initrd'.
33017 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33018 Function removed.
33019 (grub_linux_normal_fini): Likewise.
33020 (GRUB_MOD_INIT): Register `initrd'.
33021 (GRUB_MOD_FINI): Unregister `initrd'.
33022
33023 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33024
33025 * commands/help.c: New file.
33026 * normal/arg.c (show_help): Renamed to...
33027 (grub_arg_show_help): ... this.
33028 * commands/i386/pc/halt.c: New file.
33029 * commands/i386/pc/reboot.c: Likewise.
33030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33031 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33032 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33033 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33034 variables.
33035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33036 `commands/help.c'.
33037 (pkgdata_MODULES): Add `help.mod'.
33038 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33039 * grub/i386/pc/init.h (grub_reboot): New prototype.
33040 (grub_halt): Likewise.
33041 * include/grub/normal.h (grub_arg_show_help): New prototype.
33042 (grub_help_init): Likewise.
33043 (grub_help_fini): Likewise.
33044 * util/grub-emu.c (main): Initialize and deinitialize the help
33045 command.
33046
33047 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33048
33049 * normal/command.c (grub_command_init): Fixed the description of
33050 the `set' and `unset' commands.
33051
33052 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33053
33054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33055 function.
33056 * commands/ieee1275/halt.c: New file.
33057 * commands/ieee1275/reboot.c: Likewise.
33058 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33059 `__attribute__ ((unused))'. Some GCS related fixed.
33060 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33061 (grub_suspend_fini): Likewise.
33062 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33063 and `halt.mod'.
33064 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33065 (halt_mod_CFLAGS): New variables.
33066 * include/grub/powerpc/ieee1275/ieee1275.h
33067 (grub_ieee1275_interpret): New prototype.
33068
33069 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33070
33071 * include/grub/misc.h (memmove): New prototype.
33072 (memcpy): Likewise.
33073
33074 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33075
33076 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33077 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33078
33079 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33080
33081 * kern/misc.c (grub_strndup): Function rewritten.
33082
33083 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33084
33085 * normal/menu.c (TERM_WIDTH): Macro redefined.
33086 (TERM_TOP_BORDER_Y): Likewise.
33087 (draw_border): Replaced while-loop by a for-loop. Make the number
33088 of lines consistent with the number of lines displayed in
33089 print_entries. Added a margin below the rectangle.
33090 (print_entry): Make the entry fit in the rectangle.
33091 (print_entries): Display the scroll arrows next to the right
33092 border.
33093
33094 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33095
33096 * fs/minix.c (grub_minix_find_file): Reserve more space for
33097 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33098 `grub_strncpy' to copy `path' into it.
33099
33100 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33101
33102 Add the loopback device, a device via which files can be accessed
33103 as devices.
33104
33105 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33106 (pkgdata_MODULES): Add loopback.mod.
33107 (loopback_mod_SOURCES): New variable.
33108 (loopback_mod_CFLAGS): Likewise.
33109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33110 `disk/loopback.c'.
33111 (pkgdata_MODULES): Add loopback.mod.
33112 (loopback_mod_SOURCES): New variable.
33113 (loopback_mod_CFLAGS): Likewise.
33114 * disk/loopback.c: new file.
33115 * include/grub/normal.h (grub_loop_init): New prototype.
33116 (grub_loop_fini): New prototype.
33117 * util/grub-emu.c (main): Initialize and de-initialize loopback
33118 support.
33119 * include/grub/disk.h (grub_disk_dev_id): Add
33120 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33121
33122 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33123
33124 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33125 function.
33126 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33127 (suspend_mod_SOURCES): New variable.
33128 (suspend_mod_CFLAGS): Likewise.
33129 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33130 New prototype.
33131 * commands/ieee1275/suspend.c: New file.
33132
33133 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33134
33135 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33136 ((unused))' to `__attribute__ ((used))'.
33137 (GRUB_MOD_FINI): Likewise.
33138 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33139 * genmk.rb (PModule): Assign space to common symbols when linking
33140 modules.
33141
33142 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33143
33144 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33145 `unsigned' arguments to `grub_size_t'.
33146 (grub_malloc): Likewise.
33147 (grub_realloc): Likewise.
33148 (grub_memalign): Likewise.
33149 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33150 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33151 * util/misc.c (grub_malloc): Likewise.
33152 (grub_realloc): Likewise.
33153 * kern/mm.c (get_header_from_pointer): Change the casts to
33154 `unsigned' into a cast to `grub_size_t'.
33155
33156 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33157 point to `currnode' when `currnode' is changed.
33158
33159 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33160 Schottelius <nico-linux@schottelius.org>.
33161
33162 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33163
33164 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33165 (note_path): Remove variable.
33166 (GRUB_IEEE1275_NOTE_NAME): New macro.
33167 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33168 (grub_ieee1275_note_hdr): New structure.
33169 (grub_ieee1275_note_desc): Likewise.
33170 (grub_ieee1275_note): Likewise.
33171 (load_note): Remove `dir' argument. All callers updated. Remove
33172 `note_img' and `path'. Do not load a file from `note_path'.
33173 Initialize a struct grub_ieee1275_note and write that to `out'.
33174 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33175
33176 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33177
33178 * util/misc.c (grub_util_read_image): Revert last change. It
33179 called `grub_util_read_at', which seeks from the beginning of the
33180 file.
33181
33182 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33183
33184 * TODO: Add note about endianness in grub-mkimage.
33185 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33186 section.
33187 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33188 (grub_mkimage_SOURCES): New target.
33189 * include/grub/kernel.h (grub_start_addr): Remove variable.
33190 (grub_end_addr): Likewise.
33191 (grub_total_module_size): Likewise.
33192 (grub_kernel_image_size): Likewise.
33193 (GRUB_MODULE_MAGIC): New constant.
33194 (grub_module_info): New structure.
33195 (grub_arch_modules_addr): New prototype.
33196 (grub_get_end_addr): Remove prototype.
33197 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33198 * include/grub/powerpc/ieee1275/kernel.h: New file.
33199 * include/grub/util/misc.h (grub_util_get_fp_size): New
33200 prototype.
33201 (grub_util_read_at): Likewise.
33202 (grub_util_write_image_at): Likewise.
33203 * kern/main.c (grub_get_end_addr): Remove function.
33204 (grub_load_modules): Call grub_arch_modules_addr instead of using
33205 grub_end_addr. Look for a grub_module_info struct in memory. Use
33206 the grub_module_info fields instead of calling grub_get_end_addr
33207 as loop conditions. Move grub_add_unused_region code here.
33208 (grub_add_unused_region): Remove function.
33209 * kern/i386/pc/init.c: Include grub/cache.h.
33210 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33211 one call to add_mem_region.
33212 (grub_arch_modules_addr): New function.
33213 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33214 (grub_total_module_size): Likewise.
33215 Include grub/machine/kernel.h.
33216 (grub_arch_modules_addr): New function.
33217 * util/grub-emu.c (grub_end_addr): Remove variable.
33218 (grub_total_module_size): Likewise.
33219 (grub_arch_modules_addr): New function.
33220 * util/misc.c: Include unistd.h.
33221 (grub_util_get_fp_size): New function.
33222 (grub_util_read_at): Likewise.
33223 (grub_util_write_image_at): Likewise.
33224 (grub_util_read_image): Call grub_util_read_at.
33225 (grub_util_write_image): Call grub_util_write_image_at.
33226 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33227 additional memory in kernel_img for a struct grub_module_info.
33228 Fill in that grub_module_info.
33229 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33230
33231 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33232
33233 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33234 New function.
33235 * include/grub/powerpc/ieee1275/ieee1275.h
33236 (grub_ieee1275_milliseconds): New prototype.
33237 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33238 Change to 1000.
33239 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33240 grub_ieee1275_milliseconds.
33241
33242 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33243
33244 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33245 variable.
33246 (find_options): New function.
33247 (cmain): Call find_options.
33248 * include/grub/powerpc/ieee1275/ieee1275.h
33249 (grub_ieee1275_realmode): New extern variable.
33250 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33251 grub_map if grub_ieee1275_realmode is false.
33252
33253 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33254
33255 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33256 lines are inserted and make it work like readline. Reported by
33257 Vincent Pelletier <subdino2004@yahoo.fr>.
33258
33259 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33260
33261 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33262
33263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33264 `kern/powerpc/cache.S'.
33265
33266 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33267
33268 * genmk.rb: Handle the `Program' class in the main loop. Written
33269 by Johan Rydberg <jrydberg@gnu.org>.
33270 (Program): New class.
33271 (programs): New variable.
33272 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33273 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33274 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33275 (help_arch): Function removed.
33276 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33277 `powerpc/libgcc.h' and `loader.h'.
33278 (pkgdata_PROGRAMS): New variable.
33279 (sbin_UTILITIES): Variable removed.
33280 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33281 (grubof_SOURCES): Variable re-defined so it only includes the
33282 core functionality.
33283 (grubof_CFLAGS): Remove `-DGRUBOF'.
33284 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33285 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33286 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33287 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33288 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33289 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33290 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33291 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33292 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33293 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33294 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33295 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33296 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33297 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33298 (pc_mod_CFLAGS): New variables.
33299 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33300 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33301 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33302 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33303 Moved from here...
33304 * include/grub/i386/pc/init.h (grub_os_area_addr)
33305 (rub_os_area_size): ... to here.
33306 * include/grub/powerpc/ieee1275/ieee1275.h
33307 (grub_ieee1275_entry_fn): Export symbol.
33308 * include/grub/powerpc/ieee1275/init.h: New file.
33309 * include/grub/powerpc/libgcc.h: Likewise.
33310 * include/grub/cache.h: Likewise.
33311 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33312 <hollis@penguinppc.org>.
33313 * kern/dl.c: Include <grub/cache.h>.
33314 (grub_dl_flush_cache): New function.
33315 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33316 for this module.
33317 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33318 (grub_console_init): Removed prototypes.
33319 (grub_machine_init): Don't initialize the modules anymore.
33320 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33321 static.
33322 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33323 Macro undef removed.
33324 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33325 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33326 relocation `R_PPC_REL32'. Return an error when the relocation is
33327 unknown.
33328 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33329 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33330 * util/misc.c (grub_arch_sync_caches): Likewise.
33331
33332 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33333
33334 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33335 `symlist.c', add `grubof_symlist.c'.
33336 (symlist.c): Variable removed.
33337 (grubof_HEADERS): Variable added.
33338 (grubof_symlist.c): New target.
33339 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33340 `kernel_img_HEADERS'.
33341 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33342 * kern/powerpc/dl.c: New file.
33343 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33344 Function removed.
33345 (grub_arch_dl_relocate_symbols): Likewise.
33346 (grub_register_exported_symbols): Likewise.
33347
33348 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33349
33350 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33351 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33352 to fail instead. Reported by Vincent Pelletier
33353 <subdino2004@yahoo.fr>.
33354
33355 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33356 it is not allocated. Reported by Vincent Pelletier
33357 <subdino2004@yahoo.fr>.
33358
33359 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33360 output so the output looks better.
33361
33362 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33363
33364 Modulize the partition map support and add support for the amiga
33365 partition map.
33366
33367 * commands/ls.c: Include <grub/partition.h> instead of
33368 <grub/machine/partition.h>.
33369 * kern/disk.c: Likewise.
33370 * kern/rescue.c: Likewise.
33371 * loader/i386/pc/chainloader.c: Likewise.
33372 * normal/cmdline.c: Likewise.
33373 * kern/powerpc/ieee1275/init.c: Likewise.
33374 (grub_machine_init): Call `grub_pc_partition_map_init',
33375 `grub_amiga_partition_map_init' and
33376 `grub_apple_partition_map_init'.
33377 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33378 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33379 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33380 `partition.h' and `pc_partition.h'.
33381 (grub_setup_SOURCES): Remove
33382 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33383 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33384 (grub_emu_SOURCES): Likewise.
33385 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33386 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33387 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33389 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33390 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33391 (grubof_SOURCES): Likewise.
33392 * disk/i386/pc/partition.c: File removed.
33393 * disk/powerpc/ieee1275/partition.c: Likewise.
33394 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33395 * include/grub/i386/pc/partition.h: Likewise.
33396 * kern/partition.c: New file.
33397 * partmap/amiga.c: Likewise.
33398 * partmap/apple.c: Likewise.
33399 * partmap/pc.c: Likewise.
33400 * include/grub/partition.h: Likewise..
33401 * include/grub/pc_partition.h: Likewise.
33402 * util/grub-emu.c: Include <grub/partition.h> instead of
33403 <grub/machine/partition.h>.
33404 (main): Call `grub_pc_partition_map_init',
33405 `grub_amiga_partition_map_init' and
33406 `grub_apple_partition_map_init' and deinitialize afterwards.
33407 * util/i386/pc/biosdisk.c: Include `#include
33408 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33409 `<grub/machine/partition.h>'.
33410 * util/i386/pc/grub-setup.c: Likewise.
33411 * util/i386/pc/biosdisk.c: Likewise.
33412 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33413 partition information in case of a PC partition.
33414 * util/i386/pc/grub-setup.c: Include `#include
33415 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33416 `<grub/machine/partition.h>'.
33417 (setup): Only access the PC specific partition information in case
33418 of a PC partition.
33419
33420 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33421
33422 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33423 (grub_longjmp): Likewise.
33424 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33425 20.
33426 * normal/powerpc/setjmp.S: New file.
33427 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33428 `normal/powerpc/setjmp.S'.
33429 (grubof_CFLAGS): Add `-DGRUBOF'.
33430 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33431 [GRUB_UTIL && !GRUBOF].
33432
33433 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33434
33435 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33436 property named `name'. Correctly handle the error returned by
33437 `grub_ieee1275_finddevice' if a device can not be opened.
33438
33439 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33440
33441 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33442 `actual' for negativity.
33443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33444 kern/fshelp.c.
33445
33446 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33447
33448 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33449 (PAGE_OFFSET): New macro.
33450 (CRTC_ADDR_PORT): Likewise.
33451 (CRTC_DATA_PORT): Likewise.
33452 (START_ADDR_HIGH_REGISTER): Likewise.
33453 (START_ADDR_LOW_REGISTER): Likewise.
33454 (GRAPHICS_ADDR_PORT): Likewise.
33455 (GRAPHICS_DATA_PORT): Likewise.
33456 (READ_MAP_REGISTER): Likewise.
33457 (INPUT_STATUS1_REGISTER): Likewise.
33458 (INPUT_STATUS1_VERTR_BIT): Likewise.
33459 (page): New variable.
33460 (wait_vretrace): New function.
33461 (set_read_map): Likewise.
33462 (set_start_address): Likewise.
33463 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33464 the right page.
33465 (check_vga_mem): Take the page into account.
33466 (write_char): Likewise.
33467 (write_cursor): Likewise.
33468 (scroll_up): Likewise. Copy the page to the page that is not
33469 shown and switch between both pages.
33470 (grub_vga_putchar): Fix off by one error.
33471 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33472 account.
33473
33474 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33475
33476 Add support for iso9660 (including rockridge).
33477
33478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33479 (iso9660_mod_SOURCES): New variable.
33480 (iso9660_mod_CFLAGS): Likewise.
33481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33482 * include/grub/fs.h (grub_iso9660_init): New prototype.
33483 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33484 * fs/iso9660.c: New file.
33485
33486 * include/grub/misc.h (grub_strncat): New prototype.
33487 * kern/misc.c (grub_strncat): New function.
33488
33489 * fs/hfs.c (grub_hfs_mount): Translate the error
33490 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33491 * fs/jfs.c (grub_jfs_mount): Likewise.
33492 * fs/ufs.c (grub_ufs_mount): Likewise.
33493
33494 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33495
33496 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33497 which initialized BAT registers.
33498 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33499 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33500 Move from here...
33501 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33502 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33503 ... to here.
33504 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33505 (grub_mapclaim): Likewise.
33506 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33507 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33508 hand.
33509
33510 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33511
33512 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33513 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33514 -ffreestanding and -msoft-float.
33515
33516 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33517
33518 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33519 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33520 set in grub_ieee1275_flags.
33521
33522 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33523
33524 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33525 prototype.
33526 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33527 grub_console_init first.
33528 Change the memory range used for grub_ieee1275_claim and
33529 grub_mm_init_region.
33530 Print an error message if the claim fails.
33531 Include <grub/misc.h>.
33532
33533 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33534
33535 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33536 Call grub_children_iterate for device nodes of type `scsi',
33537 `ide', or `ata'.
33538 (grub_ofdisk_open): Remove manual device alias resolution.
33539 Fix memory leak when device cannot be opened.
33540 * include/grub/powerpc/ieee1275/ieee1275.h
33541 (grub_children_iterate): New prototype.
33542 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33543 New function.
33544 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33545 Return -1 if args.size was -1.
33546
33547 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33548
33549 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33550 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33551 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33552 Open Firmware's memory for it; claim memory from _start to _end.
33553 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33554 (_end): New extern.
33555 (_start): Zero BSS from __bss_start to _end.
33556 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33557 New extern.
33558 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33559
33560 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33561
33562 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33563 -1 if args.base was -1.
33564
33565 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33566
33567 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33568 escape sequence instead of a literal ^L. Also call
33569 grub_ofconsole_gotoxy.
33570
33571 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33572
33573 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33574 void * arguments to grub_addr_t. All callers updated. Also make
33575 the `result' argument optional.
33576 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33577 All callers updated.
33578
33579 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33580
33581 * commands/ls.c (grub_ls_list_files): Use the string following the
33582 initial ')', if present, as the filesystem path.
33583 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33584
33585 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33586
33587 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33588
33589 Make the source code of the menu interface more readable.
33590
33591 * normal/menu.c: Include grub/mm.h.
33592 (TERM_WIDTH): New macro.
33593 (TERM_HEIGHT): Likewise.
33594 (TERM_INFO_HEIGHT): Likewise.
33595 (TERM_MARGIN): Likewise.
33596 (TERM_SCROLL_WIDTH): Likewise.
33597 (TERM_TOP_BORDER_Y): Likewise.
33598 (TERM_LEFT_BORDER_X): Likewise.
33599 (TERM_BORDER_WIDTH): Likewise.
33600 (TERM_MESSAGE_HEIGHT): Likewise.
33601 (TERM_BORDER_HEIGHT): Likewise.
33602 (TERM_NUM_ENTRIES): Likewise.
33603 (TERM_FIRST_ENTRY_Y): Likewise.
33604 (TERM_ENTRY_WIDTH): Likewise.
33605 (TERM_CURSOR_X): Likewise.
33606 (draw_border): Use macros instead of magic numbers.
33607 (print_entry): Likewise.
33608 (print_entries): Likewise.
33609 (run_menu): Likewise. Also, handle the key 'e'.
33610 (run_menu_entry): Ignore empty command lines.
33611 (print_message): Added a new argument EDIT. If EDIT is true,
33612 print a different message.
33613 (init_page): Likewise.
33614 (edit_menu_entry): New function. Not implemented yet.
33615
33616 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33617
33618 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33619 can be loaded from normal mode.
33620
33621 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33622 `multiboot.mod'.
33623 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33624 (multiboot_mod_CFLAGS): New variables.
33625 * loader/i386/pc/linux_normal.c: New file.
33626 * loader/i386/pc/multiboot_normal.c: Likewise.
33627
33628 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33629 attribute `unused'.
33630
33631 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33632 `fdiro' to read the mode information from instead of `diro'.
33633
33634 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33635 looking up a symlink.
33636
33637 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33638 macro.
33639 * normal/command.c (grub_command_execute): Don't parse the
33640 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33641 flags of the command.
33642
33643 * normal/menu.c (grub_menu_run): Fix typo.
33644
33645 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33646
33647 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33648
33649 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33650 `y + 1' instead of `y - 1'.
33651
33652 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33653
33654 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33655
33656 From Hollis Blanchard <hollis@penguinppc.org>:
33657 * kern/misc.c (memmove): New alias for grub_memmove.
33658 (memcmp): New alias for grub_memcmp.
33659 (memset): New alias for grub_memset.
33660 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33661 Change "int handle" to "grub_ieee1275_phandle_t handle".
33662 * include/grub/powerpc/ieee1275/ieee1275.h
33663 (grub_ieee1275_get_property): Likewise.
33664
33665 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33666
33667 Added normal mode command `chainloader' as module chain.mod, which
33668 depends on normal.mod and _chain.mod.
33669
33670 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33671 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33672 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33673 Deleted prototype.
33674 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33675 but arguments parsing moved to ...
33676 (grub_chainloader_cmd): ... here. New function.
33677 * include/grub/i386/pc/chainloader.h: New file.
33678 * loader/i386/pc/chainloader_normal.c: Likewise.
33679
33680 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33681
33682 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33683 (grub_mkimage_LDFLAGS): Likewise.
33684 (grub_emu_SOURCES): Likewise.
33685 (kernel_img_HEADERS): Added fshelp.h.
33686 * fs/ext2.c: Include <grub/fshelp.h>.
33687 (FILETYPE_REG): New macro.
33688 (FILETYPE_INO_REG): Likewise.
33689 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33690 Changed all users.
33691 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33692 all users.
33693 (grub_fshelp_node): New struct.
33694 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33695 to a pointer.
33696 (grub_ext2_get_file_block): Removed function.
33697 (grub_ext2_read_block): New function.
33698 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33699 This function was written.
33700 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33701 (grub_ext2_find_file): Removed function.
33702 (grub_ext2_read_symlink): New function.
33703 (grub_ext2_iterate_dir): Likewise.
33704 (grub_ext2_open): Rewritten.
33705 (grub_ext2_dir): Rewritten.
33706 * include/grub/fshelp.h: New file.
33707 * fs/fshelp.c: Likewise.
33708
33709 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33710
33711 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33712 (print_message): Add a missing newline.
33713 (run_menu): Added timeout support.
33714 (run_menu_entry): New local function.
33715 (grub_menu_run): Added support for booting.
33716
33717 * kern/loader.c (grub_loader_is_loaded): New function.
33718
33719 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33720 (grub_get_rtc): Exported.
33721
33722 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33723 (grub_get_rtc): Exported.
33724
33725 * include/grub/normal.h (struct grub_command_list): Remove
33726 constant from the member `command'.
33727
33728 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33729
33730 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33731
33732 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33733
33734 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33735
33736 Add support for the JFS filesystem.
33737
33738 * fs/jfs.c: New file.
33739 * include/grub/fs.h (grub_jfs_init): New prototype.
33740 (grub_jfs_fini): New prototype.
33741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33742 (grub_emu_SOURCES): Likewise.
33743 (pkgdata_MODULES): Add jfs.mod.
33744 (jfs_mod_SOURCES): New variable.
33745 (jfs_mod_CFLAGS): Likewise.
33746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33747 (grubof_SOURCES): Likewise.
33748 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33749
33750 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33751 endian to the host endian.
33752 (grub_fat_utf16_to_utf8): Move function from there...
33753 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
33754 the endianness of the source string anymore.
33755 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33756
33757 2004-08-24 Marco Gerards <metgerards@student.han.nl>
33758
33759 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33760 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33761 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33762 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
33763
33764 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33765 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33766 for `node_found' and `it_dir'.
33767 (grub_hfs_dir): Add prototype for `dir_hook'.
33768
33769 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33770 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33771 and `indir32' to silence a gcc warning.
33772
33773 * include/grub/fs.h (grub_hfs_init): New prototype.
33774 (grub_hfs_fini): Likewise.
33775
33776
33777 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33778
33779 Each disk device has its own id now. This is useful to make use
33780 of multiple disk devices.
33781
33782 * include/grub/disk.h (grub_disk_dev_id): New enum.
33783 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33784 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33785
33786 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33787 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33788
33789 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33790 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33791
33792 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33793 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33794
33795 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33796 "id" which is used by the cache manager.
33797
33798 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33799 of just "GRUB".
33800
33801 2004-08-18 Marco Gerards <metgerards@student.han.nl>
33802
33803 * fs/hfs.c: New file.
33804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33805 (grub_emu_SOURCES): Likewise.
33806 (pkgdata_MODULES): Add hfs.mod.
33807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33808 (grubof_SOURCES): Likewise.
33809 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33810
33811 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33812 * kern/misc.c (grub_strncasecmp): Add function.
33813
33814 2004-08-14 Marco Gerards <metgerards@student.han.nl>
33815
33816 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33817 with parentheses.
33818
33819 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33820 (grub_ext2_dir): In case the directory entry type is unknown, read
33821 it from the inode.
33822
33823 2004-08-02 Peter Bruin <pjbruin@dds.nl>
33824
33825 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33826 grub_load_linux instead of grub_rescue_cmd_linux as second
33827 argument of grub_rescue_register_command.
33828
33829 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33830
33831 2004-07-27 Marco Gerards <metgerards@student.han.nl>
33832
33833 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33834 function.
33835 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33836 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33837 `loader/powerpc/ieee1275/linux.c',
33838 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33839 * include/grub/powerpc/ieee1275/ieee1275.h
33840 (grub_ieee1275_release): New prototype.
33841 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33842 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33843 normal, boot, linux and linux_normal.
33844 * loader/powerpc/ieee1275/linux.c: New file.
33845 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33846
33847 2004-07-12 Marco Gerards <metgerards@student.han.nl>
33848
33849 * normal/arg.c (grub_arg_parse): Correct error handling after
33850 reallocating the argumentlist (check if `argl' is not null instead
33851 of checking if `args' is not null).
33852 * kern/mm.c (grub_realloc): Return the same pointer when using the
33853 same region, instead of returning the header address.
33854
33855 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33856
33857 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33858 one block instead of two when looking for the initial partition.
33859 (grub_partition_probe): Initialize the local variable `p' with 0.
33860 Use base 10 for the grub_strtoul call.
33861 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33862 need for one local variable.
33863 (grub_strtoul): Don't add the new value to `num', instead of that
33864 just assign it.
33865
33866 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33867
33868 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33869 (pxeboot_img_SOURCES): New variable.
33870 (pxeboot_img_ASFLAGS): Likewise.
33871 (pxeboot_img_LDFLAGS): Likewise.
33872 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33873 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33874 <lode_leroy@hotmail.com>.
33875
33876 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33877
33878 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33879 there was no input.
33880
33881 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33882
33883 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33884 the history buffer logic.
33885
33886 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33887
33888 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33889 (FILETYPE_INO_SYMLINK): New macros.
33890 (grub_ext2_find_file): Check if the node is a directory using the
33891 inode stat information instead of using the filetype in the
33892 dirent. Exclude the first character of an absolute symlink.
33893 (grub_ext2_dir): Mask out the filetype part of the mode member of
33894 the inode.
33895
33896 2004-05-24 Marco Gerards <metgerards@student.han.nl>
33897
33898 Add support for UFS version 1 and 2. Add support for the minix
33899 filesystem version 1 and 2, both the variants with 14 and 30 long
33900 filenames.
33901
33902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33903 fs/minix.c.
33904 (grub_emu_SOURCES): Likewise.
33905 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33906 (ufs_mod_SOURCES): New variable.
33907 (ufs_mod_CFLAGS): Likewise.
33908 (minix_mod_SOURCES): Likewise.
33909 (minix_mod_CFLAGS): Likewise.
33910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33911 fs/minix.c.
33912 (grubof_SOURCES): Likewise.
33913 * fs/ufs.c: New file.
33914 * fs/minix.c: New file.
33915 * include/grub/fs.h (grub_ufs_init): New prototype.
33916 (grub_ufs_fini): Likewise.
33917 (grub_minix_init): Likewise.
33918 (grub_minix_fini): Likewise.
33919 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33920 minix fs.
33921
33922 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33923
33924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33925 commands/ls.c, commands/terminal.c, commands/boot.c,
33926 commands/cmp.c and commands/cat.c.
33927 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33928
33929 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33930 "env.h"
33931
33932 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33933
33934 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33935 and grub_, respectively. Because the conversion is trivial and
33936 mechanical, I omit the details here. Please refer to the CVS
33937 if you need more information.
33938
33939 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33940
33941 * include/pupa: Renamed to ...
33942 * include/grub: ... this.
33943 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33944 * util/i386/pc/grub-mkimage.c: ... this.
33945 * util/i386/pc/pupa-setup.c: Renamed to ...
33946 * util/i386/pc/grub-setup.c: ... this.
33947 * util/pupa-emu.c: Renamed to ...
33948 * util/grub-emu.c: ... this.
33949
33950 2004-03-29 Marco Gerards <metgerards@student.han.nl>
33951
33952 Add support for the newworld apple macintosh (PPC). This has been
33953 tested on the powerbook 2000 only. It only adds support for
33954 generic ieee1275 functions, console and disk support. This should
33955 be easy to port to other architectures with support for Open
33956 Firmware.
33957
33958 * configure.ac: Accept the powerpc as host_cpu. In the case of
33959 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33960 specific tests are only executed while building for the i386.
33961 Inverse test for crosscompile.
33962 * genmk.rb (Utility): Allow assembler files.
33963 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33964 * conf/powerpc-ieee1275.rmk: New file.
33965 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33966 * disk/powerpc/ieee1275/partition.c: Likewise.
33967 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33968 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33969 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33970 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33971 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33972 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33973 * include/pupa/powerpc/ieee1275/loader.h
33974 * include/pupa/powerpc/setjmp.h: Likewise.
33975 * include/pupa/powerpc/types.h: Likewise.
33976 * kern/powerpc/ieee1275/init.c: Likewise.
33977 * kern/powerpc/ieee1275/openfw.c: Likewise.
33978 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33979
33980 These files were written by Johan Rydberg
33981 (jrydberg@night.trouble.net) and I only modified them slightly.
33982
33983 * boot/powerpc/ieee1275/cmain.c: New file.
33984 * boot/powerpc/ieee1275/crt0.S: Likewise.
33985 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33986 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33987
33988 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33989
33990 * Makefile.in: Update copyright.
33991 * genmodsrc.sh: Likewise.
33992 * gensymlist.sh: Likewise.
33993 * term/i386/pc/vga.c: Indent correctly.
33994
33995 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33996 bugreporting address.
33997 * util/i386/pc/pupa-setup.c (usage): Likewise,
33998 (main): Call pupa_ext2_init and pupa_ext2_fini.
33999
34000 * fs/fat.c (log2): Renamed to ...
34001 (fat_log2): ... this.
34002 All callers changed.
34003 * kern/misc.c (memcpy): Alias to pupa_memmove.
34004 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34005 lvalue cast.
34006 * util/console.c (pupa_ncurses_fini): Return 0.
34007
34008 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34009 Move fail label here.
34010 [__GNU__]: Don't warn when using stat.
34011 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34012 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34013 long int. Use strtol instead of strtoul.
34014
34015 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34016
34017 * commands/boot.c: New file.
34018 * commands/cat.c: Likewise.
34019 * commands/cmp.c: Likewise.
34020 * commands/ls.c: Likewise.
34021 * commands/terminal.c: Likewise.
34022 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34023 (pupa_register_command): Changed interface to match the new
34024 argument parser.
34025 (pupa_command_execute): Changed (almost rewritten) so it uses
34026 pupa_split_command. Added support for setting variables using the
34027 syntax `foo=bar'.
34028 (rescue_command): Changed to work with the new argument parser.
34029 (terminal_command): Moved from here to commands/terminal.c.
34030 (set_command): New function.
34031 (unset_command): New function.
34032 (insmod_command): New function.
34033 (rmmod_command): New function.
34034 (lsmod_command): New function.
34035 (pupa_command_init): Don't initialize the command terminal
34036 anymore. Initialize the commands set, unset, insmod, rmmod and
34037 lsmod.
34038 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34039 (kernel_img_HEADERS): Add arg.h and env.h.
34040 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34041 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34042 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34043 normal/arg.c.
34044 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34045 terminal.mod.
34046 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34047 (boot_mod_SOURCES): New variable.
34048 (terminal_mod_SOURCES): Likewise.
34049 (ls_mod_SOURCES): Likewise.
34050 (cmp_mod_SOURCES): Likewise.
34051 (cat_mod_SOURCES): Likewise.
34052
34053 * normal/arg.c: New file.
34054 * kern/env.c: Likewise.
34055 * include/pupa/arg.h: Likewise.
34056 * include/pupa/env.h: Likewise.
34057 * font/manager.c (font_command): Changed to match argument parsing
34058 interface changes.
34059 (PUPA_MOD_INIT): Likewise.
34060 * hello/hello.c (pupa_cmd_hello): Likewise.
34061 (PUPA_MOD_INIT): Likewise.
34062 * include/pupa/disk.h: Include <pupa/device.h>.
34063 (pupa_print_partinfo): New prototype.
34064 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34065 (pupa_dl_get_prefix): Likewise.
34066 * include/pupa/misc.h: Include <pupa/err.h>.
34067 (pupa_isgraph): New prototype.
34068 (pupa_isdigit): Likewise.
34069 (pupa_split_cmdline): Likewise.
34070 * include/pupa/normal.h: Include <pupa/arg.h>.
34071 (pupa_command): Changed the prototype of the member `func' to
34072 match the argument parsing interface. Added member `options'.
34073 (pupa_register_command): Updated to match function.
34074 (pupa_arg_parse): New prototype.
34075 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34076 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34077 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34078 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34079 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34080 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34081 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34082 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34083 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34084 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34085 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34086 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34087 * kern/disk.c: Include <pupa/file.h>.
34088 (pupa_print_partinfo): New function.
34089 * kern/dl.c: Include <pupa/env.h>.
34090 (pupa_dl_dir): Variable removed.
34091 (pupa_dl_load): Use the environment variable `prefix' instead of
34092 the variable pupa_dl_dir.
34093 (pupa_dl_set_prefix): Function removed.
34094 (pupa_dl_get_prefix): Likewise.
34095 * kern/i386/pc/init.c: Include <pupa/env.h>.
34096 (pupa_machine_init): Use the environment variable `prefix' instead of
34097 using pupa_dl_set_prefix to set the prefix.
34098 * kern/main.c: Include <pupa/env.h>.
34099 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34100 using pupa_dl_get_prefix to get the prefix.
34101 * kern/misc.c: Include <pupa/env.h>.
34102 (pupa_isdigit): New function.
34103 (pupa_isgraph): Likewise.
34104 (pupa_ftoa): Likewise.
34105 (pupa_vsprintf): Added support for printing values of the type
34106 `double'. Make it possible to format variable output when using
34107 formatting like `%1.2%f'.
34108 (pupa_split_cmdline): New function.
34109 * kern/rescue.c: Include <pupa/env.h>.
34110 (next_word): Removed function.
34111 (pupa_rescue_cmd_prefix): Likewise.
34112 (pupa_rescue_cmd_set): New function.
34113 (pupa_rescue_cmd_unset): New function.
34114 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34115 split the command line instead of splitting it here. Added
34116 support for setting variables using the syntax `foo=bar'. Don't
34117 initialize the prefix command anymore. Initialized the set and
34118 unset commands.
34119 * normal/cmdline.c: Include <pupa/env.h>.
34120 (pupa_tab_complete): Added prototypes for print_simple_completion,
34121 print_partition_completion, add_completion, iterate_commands,
34122 iterate_dev, iterate_part and iterate_dir. Moved code to print
34123 partition information from here to kern/disk.c.
34124 (pupa_cmdline_run): Don't check if the function exists anymore.
34125 * normal/main.c: Include <pupa/env.h>.
34126 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34127 instead of using pupa_dl_get_prefix to get the prefix.
34128 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34129 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34130 warning.
34131 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34132 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34133 ((unused))' to silence a gcc warning.
34134 (pupa_vga_setcolor): Likewise.
34135 (debug_command): Changed to match argument parsing
34136 interface changes.
34137 * util/pupa-emu.c: Include <pupa/env.h>.
34138 (options): Added 0's for unused fields to silence a gcc warning.
34139 (argp): Likewise.
34140 (main): Use the environment variable `prefix' instead of using
34141 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34142 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34143 and terminal.
34144
34145 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34146 * util/misc.c: Include <malloc.h>.
34147 (pupa_malloc): Rewritten so errors are correctly reported.
34148 (pupa_realloc): Likewise.
34149 (pupa_memalign): Likewise.
34150 (pupa_mm_init_region): Declare unused variables with
34151 `__attribute__ ((unused))' to silence a gcc warning.
34152 * normal/i386/setjmp.S: Remove tab at the end of the file to
34153 silence a gcc warning.
34154 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34155 variables with `__attribute__ ((unused))' to silence a gcc
34156 warning.
34157 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34158 local variable i unsigned to silence a gcc warning.
34159
34160 * kern/term.c: Include <pupa/misc.h>.
34161 (pupa_more_lines): New variable.
34162 (pupa_more): Likewise.
34163 (pupa_putcode): When the pager is active pause at the end of every
34164 screen.
34165 (pupa_set_more): New function.
34166 * include/pupa/term.h (pupa_set_more): New prototype.
34167
34168
34169 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34170
34171 Now this project is GRUB 2 rather than PUPA. The location of
34172 the CVS repository was moved to GRUB's.
34173
34174 * configure.ac: Use bug-grub as the reporting address.
34175 Use GRUB instead of PUPA.
34176 Change the version number to 1.90.
34177
34178 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34179
34180 * genkernsyms.sh: Updated copyright information.
34181 * genmk.rb: Likewise.
34182 * genmodsrc.sh: Likewise.
34183 * gensymlist.sh: Likewise.
34184 * boot/i386/pc/boot.S: Likewise.
34185 * boot/i386/pc/diskboot.S: Likewise.
34186 * disk/i386/pc/biosdisk.c: Likewise.
34187 * disk/i386/pc/partition.c: Likewise.
34188 * font/manager.c: Likewise.
34189 * fs/ext2.c: Likewise.
34190 * fs/fat.c: Likewise.
34191 * include/pupa/boot.h: Likewise.
34192 * include/pupa/device.h: Likewise.
34193 * include/pupa/disk.h: Likewise.
34194 * include/pupa/dl.h: Likewise.
34195 * include/pupa/elf.h: Likewise.
34196 * include/pupa/err.h: Likewise.
34197 * include/pupa/file.h: Likewise.
34198 * include/pupa/font.h: Likewise.
34199 * include/pupa/fs.h: Likewise.
34200 * include/pupa/kernel.h: Likewise.
34201 * include/pupa/loader.h: Likewise.
34202 * include/pupa/misc.h: Likewise.
34203 * include/pupa/mm.h: Likewise.
34204 * include/pupa/net.h: Likewise.
34205 * include/pupa/normal.h: Likewise.
34206 * include/pupa/rescue.h: Likewise.
34207 * include/pupa/setjmp.h: Likewise.
34208 * include/pupa/symbol.h: Likewise.
34209 * include/pupa/term.h: Likewise.
34210 * include/pupa/types.h: Likewise.
34211 * include/pupa/i386/setjmp.h: Likewise.
34212 * include/pupa/i386/types.h: Likewise.
34213 * include/pupa/i386/pc/biosdisk.h: Likewise.
34214 * include/pupa/i386/pc/boot.h: Likewise.
34215 * include/pupa/i386/pc/console.h: Likewise.
34216 * include/pupa/i386/pc/init.h: Likewise.
34217 * include/pupa/i386/pc/kernel.h: Likewise.
34218 * include/pupa/i386/pc/linux.h: Likewise.
34219 * include/pupa/i386/pc/loader.h: Likewise.
34220 * include/pupa/i386/pc/memory.h: Likewise.
34221 * include/pupa/i386/pc/multiboot.h: Likewise.
34222 * include/pupa/i386/pc/partition.h: Likewise.
34223 * include/pupa/i386/pc/time.h: Likewise.
34224 * include/pupa/i386/pc/vga.h: Likewise.
34225 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34226 * include/pupa/util/getroot.h: Likewise.
34227 * include/pupa/util/misc.h: Likewise.
34228 * include/pupa/util/resolve.h: Likewise.
34229 * kern/device.c: Likewise.
34230 * kern/disk.c: Likewise.
34231 * kern/dl.c: Likewise.
34232 * kern/err.c: Likewise.
34233 * kern/file.c: Likewise.
34234 * kern/fs.c: Likewise.
34235 * kern/loader.c: Likewise.
34236 * kern/main.c: Likewise.
34237 * kern/misc.c: Likewise.
34238 * kern/mm.c: Likewise.
34239 * kern/rescue.c: Likewise.
34240 * kern/term.c: Likewise.
34241 * kern/i386/dl.c: Likewise.
34242 * kern/i386/pc/init.c: Likewise.
34243 * kern/i386/pc/lzo1x.S: Likewise.
34244 * kern/i386/pc/startup.S: Likewise.
34245 * loader/i386/pc/chainloader.c: Likewise.
34246 * loader/i386/pc/linux.c: Likewise.
34247 * loader/i386/pc/multiboot.c: Likewise.
34248 * normal/cmdline.c: Likewise.
34249 * normal/command.c: Likewise.
34250 * normal/main.c: Likewise.
34251 * normal/menu.c: Likewise.
34252 * normal/i386/setjmp.S: Likewise.
34253 * term/i386/pc/console.c: Likewise.
34254 * term/i386/pc/vga.c: Likewise.
34255 * util/console.c: Likewise.
34256 * util/genmoddep.c: Likewise.
34257 * util/misc.c: Likewise.
34258 * util/pupa-emu.c: Likewise.
34259 * util/resolve.c: Likewise.
34260 * util/unifont2pff.rb: Likewise.
34261 * util/i386/pc/biosdisk.c: Likewise.
34262 * util/i386/pc/getroot.c: Likewise.
34263 * util/i386/pc/pupa-mkimage.c: Likewise.
34264 * util/i386/pc/pupa-setup.c: Likewise.
34265
34266 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34267
34268 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34269 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34270 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34271 reading and reset it after reading.
34272 (pupa_ext2_close): Return PUPA_ERR_NONE.
34273
34274 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34275 Correct value.
34276 (struct linux_kernel_header): Add kernel_version and
34277 initrd_addr_max.
34278 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34279 pupa_file_read succeeds.
34280 (pupa_rescue_cmd_initrd): Implement.
34281
34282 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34283
34284 * fs/ext2.c (pupa_ext2_label): New function.
34285 (pupa_ext2_fs): Added label.
34286 * fs/fat.c (pupa_fat_label): New function.
34287 (pupa_fat_fs): Added label.
34288 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34289
34290 * kern/misc.c (pupa_strndup): New function.
34291 * include/pupa/misc.h (pupa_strndup): New prototype.
34292
34293 * include/pupa/normal.h: Include <pupa/err.h>.
34294 (pupa_set_history): New prototype.
34295 (pupa_iterate_commands): New prototype.
34296 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34297 <pupa/disk.h>, <pupa/file.h>.
34298 (hist_size): New variable.
34299 (hist_lines): Likewise.
34300 (hist_end): Likewise.
34301 (hist_used): Likewise.
34302 (pupa_set_history): New function.
34303 (pupa_history_get): Likewise.
34304 (pupa_history_add): Likewise.
34305 (pupa_history_replace): Likewise.
34306 (pupa_tab_complete): Likewise.
34307 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34308 completion shows partitionnames while completing partitions, this
34309 feature was suggested by Jeff Bailey.
34310 * normal/command.c (pupa_iterate_commands): New function.
34311 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34312 (pupa_normal_init): Initialize history buffer.
34313 (PUPA_MOD_INIT): Likewise.
34314 (pupa_normal_fini): Free the history buffer.
34315 (PUPA_MOD_FINI): Likewise.
34316
34317 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34318 key.
34319
34320 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34321 * configure.ac [i386]: Check for regparam bug.
34322 (NESTED_FUNC_ATTR) [! i386]: Defined.
34323
34324 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34325
34326 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34327 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34328 (pupa_emu_SOURCES): New variable.
34329 (pupa_emu_LDFLAGS): Likewise.
34330 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34331 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34332 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34333 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34334 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34335 (pupa_jmp_buf): New typedef.
34336 (pupa_setjmp) [PUPA_UTIL]: New macro.
34337 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34338 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34339 (pupa_refresh): New prototype.
34340 * include/pupa/util/getroot.h: New file.
34341 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34342 it.
34343 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34344 (pupa_rescue_cmd_cat): Likewise.
34345 (pupa_rescue_cmd_ls): Likewise.
34346 (pupa_rescue_cmd_testload): Likewise.
34347 (pupa_rescue_cmd_lsmod): Likewise.
34348 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34349 * normal/menu.c (run_menu): Likewise.
34350 * kern/term.c (pupa_cls): Likewise.
34351 (pupa_refresh): New function.
34352 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34353 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34354 * util/console.c: New file.
34355
34356 * util/i386/pc/getroot.c: New file.
34357 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34358 (pupa_putchar): New function.
34359 (pupa_refresh): Likewise.
34360 (xgetcwd): Function moved to ...
34361 (strip_extra_slashes): Likewise.
34362 (get_prefix): Likewise.
34363 * util/i386/pc/getroot.c: ... here.
34364 (find_root_device): Function moved and renamed to...
34365 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34366 Changed all callers.
34367 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34368 and renamed to...
34369 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34370 Changed all callers.
34371 * util/misc.c (pupa_memalign): New function.
34372 (pupa_mm_init_region): Likewise.
34373 (pupa_register_exported_symbols): Likewise.
34374 (pupa_putchar): Function removed.
34375 * util/pupa-emu.c: New file.
34376
34377 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34378
34379 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34380 (_multiboot_mod_SOURCES): New variable.
34381 (_multiboot_mod_CFLAGS): Likewise.
34382 * loader/i386/pc/multiboot.c: New file.
34383 * include/pupa/i386/pc/multiboot.h: Likewise.
34384 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34385 (pupa_multiboot_real_boot): New function.
34386 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34387 (pupa_multiboot_real_boot): New prototype.
34388 (pupa_rescue_cmd_multiboot): Likewise
34389 (pupa_rescue_cmd_module): Likewise.
34390
34391 * kern/loader.c (pupa_loader_set): Continue when
34392 pupa_loader_unload_func() fails.
34393 (pupa_loader_unset): New function.
34394 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34395
34396 * kern/misc.c (pupa_stpcpy): New function.
34397 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34398
34399 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34400
34401 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34402 for available extensions.
34403
34404 * include/pupa/i386/pc/time.h: New file.
34405 * kern/disk.c: Include <pupa/machine/time.h>.
34406 (PUPA_CACHE_TIMEOUT): New macro.
34407 (pupa_last_time): New variable.
34408 (pupa_disk_open): Flush the cache when there was a timeout.
34409 (pupa_disk_close): Reset the timer.
34410 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34411 pupa_currticks.
34412 * util/misc.c: Include <sys/times.h>
34413 (pupa_get_rtc): New function.
34414
34415 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34416
34417 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34418 as blocks.
34419 (pupa_ext2_get_file_block): Use blocks member.
34420
34421 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34422 first block. Return -1 instead of pupa_errno on error.
34423
34424 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34425
34426 * README: In the pupa-mkimage example use _chain instead of chain
34427 and ext2 instead of fat.
34428 * TODO: Replace ext2fs with jfs as an example. Add an item for
34429 adding journal playback for ext2fs.
34430 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34431 (pkgdata_MODULES): Added ext2.mod.
34432 (ext2_mod_SOURCES): New variable.
34433 (ext2_mod_CFLAGS): Likewise.
34434 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34435 * include/pupa/misc.h (pupa_strncpy): New prototype.
34436 (pupa_strcat): Likewise.
34437 (pupa_strncmp): Likewise.
34438 * kern/misc.c (pupa_strcat): Enable function.
34439 (pupa_strncpy): New function.
34440 (pupa_strncmp): Likewise.
34441 * fs/ext2.c: New file.
34442
34443 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34444 when the read failed before retrying.
34445 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34446 (_FILE_OFFSET_BITS): Likewise.
34447 * configure.ac: Added AC_SYS_LARGEFILE.
34448
34449 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34450
34451 * genmk.rb (PModule#rule): Make sure to get only symbol names
34452 from the output of nm.
34453 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34454
34455 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34456
34457 I forgot to check in these changes for a long time. This adds
34458 incomplete support for VGA console, and this is still very
34459 buggy. Also, a lot of consideration is required for I18N,
34460 UNICODE, and VGA font issues. Therefore, assume that this is
34461 such that "better than nothing".
34462
34463 * font/manager.c: New file.
34464 * include/pupa/font.h: Likewise.
34465 * include/pupa/i386/pc/vga.h: Likewise.
34466 * term/i386/pc/vga.c: Likewise.
34467 * util/unifont2pff.rb: Likewise.
34468
34469 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34470 (pkgdata_MODULES): Added vga.mod and font.mod.
34471 (vga_mod_SOURCES): New variables.
34472 (vga_mod_CFLAGS): Likewise.
34473 (font_mod_SOURCES): Likewise.
34474 (font_mod_CFLAGS): Likewise.
34475
34476 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34477
34478 * include/pupa/term.h: Include pupa/err.h.
34479 (struct pupa_term): Added init and fini.
34480 Changed the argument of putchar to pupa_uint32_t.
34481
34482 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34483 (pupa_console_real_putchar): New prototype.
34484 (pupa_console_putchar): Removed.
34485 (pupa_console_checkkey): Exported.
34486 (pupa_console_getkey): Likewise.
34487
34488 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34489 characters.
34490
34491 * kern/term.c (pupa_term_set_current): Rewritten.
34492 (pupa_putchar): Likewise.
34493 (pupa_putcode): New function.
34494
34495 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34496 (pupa_console_real_putchar): ... this.
34497 (pupa_vga_set_mode): New function.
34498 (pupa_vga_get_font): Likewise.
34499
34500 * normal/command.c: Include pupa/term.h.
34501 (terminal_command): New function.
34502 (pupa_command_init): Register the command "terminal".
34503
34504 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34505 (DISP_UP): Likewise.
34506 (DISP_RIGHT): Likewise.
34507 (DISP_DOWN): Likewise.
34508 (DISP_HLINE): Likewise.
34509 (DISP_VLINE): Likewise.
34510 (DISP_UL): Likewise.
34511 (DISP_UR): Likewise.
34512 (DISP_LL): Likewise.
34513 (DISP_LR): Likewise.
34514
34515 * term/i386/pc/console.c (pupa_console_putchar): New function.
34516
34517 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34518
34519 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34520 FIX. Reverse the path_list.
34521
34522 * include/pupa/normal.h: Export pupa_register_command and
34523 pupa_unregister_command.
34524
34525 * hello/hello.c (pupa_cmd_hello): New module.
34526 * conf/i386-pc.rmk: Added hello.mod.
34527
34528 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34529
34530 * kern/i386/pc/lzo1x.S: New file.
34531
34532 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34533 (compress_kernel): New variable.
34534 (generate_image): Heavily modified to support compressing a
34535 large part of the core image.
34536
34537 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34538 leak.
34539 (pupa_util_load_image): New function.
34540
34541 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34542 (pupa_compressed_size): New variable.
34543 (codestart): Enable Gate A20 here.
34544 Decompress the compressed part of the core image.
34545 Rearrange the code to put functions and variables which are
34546 required for initialization in the non-compressed part.
34547 Include lzo1x.S.
34548
34549 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34550 here.
34551
34552 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34553
34554 * include/pupa/i386/pc/kernel.h
34555 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34556 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34557 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34558 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34559 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34560
34561 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34562
34563 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34564 (Utility#rule): Likewise.
34565
34566 * configure.ac: Check if LZO is available.
34567
34568 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34569
34570 * include/pupa/normal.h: New file.
34571 * include/pupa/setjmp.h: Likewise.
34572 * include/pupa/i386/setjmp.h: Likewise.
34573 * normal/cmdline.c: Likewise.
34574 * normal/command.c: Likewise.
34575 * normal/main.c: Likewise.
34576 * normal/menu.c: Likewise.
34577 * normal/i386/setjmp.S: Likewise.
34578
34579 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34580 (pupa_rescue_cmd_initrd): Likewise.
34581
34582 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34583 Likewise.
34584
34585 * kern/i386/pc/startup.S (translation_table): New variable.
34586 (translate_keycode): New function.
34587 (pupa_console_getkey): Call translate_keycode.
34588
34589 * kern/rescue.c (attempt_normal_mode): New function.
34590 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34591 it failed, print a message.
34592
34593 * kern/mm.c (pupa_real_malloc): Print more information when a
34594 free magic is broken.
34595 (pupa_free): If the first free header is not free actually, set
34596 it to P.
34597
34598 * kern/main.c (pupa_load_normal_mode): Just load the module
34599 "normal".
34600 (pupa_main): Don't print the message
34601 "Entering into rescue mode..." here.
34602
34603 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34604 Declared.
34605 (pupa_rescue_cmd_initrd): Likewise.
34606 (pupa_rescue_cmd_initrd): Likewise.
34607
34608 * include/pupa/symbol.h (FUNCTION): Specify the type.
34609 (VARIABLE): Likewise.
34610
34611 * include/pupa/err.h (pupa_err_t): Added
34612 PUPA_ERR_UNKNOWN_COMMAND.
34613
34614 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34615 (pupa_dl_get_prefix): Likewise.
34616
34617 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34618 Added _chain.mod and _linux.mod instead of chain.mod and
34619 linux.mod.
34620 (chain_mod_SOURCES): Renamed to ...
34621 (_chain_mod_SOURCES): ... this.
34622 (chain_mod_CFLAGS): Renamed to ...
34623 (_chain_mod_CFLAGS): ... this.
34624 (linux_mod_SOURCES): Renamed to ...
34625 (_linux_mod_SOURCES): ... this.
34626 (linux_mod_CFLAGS): Renamed to ...
34627 (_linux_mod_CFLAGS): ... this.
34628 (normal_mod_SOURCES): New variable.
34629 (normal_mod_CFLAGS): Likewise.
34630 (normal_mod_ASFLAGS): Likewise.
34631
34632 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34633
34634 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34635 possible.
34636
34637 * kern/dl.c (pupa_dl_ref): Refer depending modules
34638 recursively.
34639 (pupa_dl_unref): Unrefer depending modules recursively.
34640 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34641 a module is unloaded before one depending on that module is
34642 unloaded.
34643 (pupa_dl_unload): Unload depending modules explicitly,
34644 if possible.
34645
34646 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34647
34648 * include/pupa/i386/pc/linux.h: New file.
34649 * loader/i386/pc/linux.c: Likewise.
34650
34651 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34652 Removed.
34653 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34654 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34655 of PUPA_CHAINLOADER_BOOT_SECTOR.
34656
34657 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34658 (pupa_linux_prot_size): New variable.
34659 (pupa_linux_tmp_addr): Likewise.
34660 (pupa_linux_real_addr): Likewise.
34661 (pupa_linux_boot_zimage): New function.
34662 (pupa_linux_boot_bzimage): Likewise.
34663
34664 * kern/i386/pc/init.c (struct mem_region): New structure.
34665 (MAX_REGIONS): New macro.
34666 (mem_regions): New variable.
34667 (num_regions): Likewise.
34668 (pupa_os_area_addr): Likewise.
34669 (pupa_os_area_size): Likewise.
34670 (pupa_lower_mem): Likewise.
34671 (pupa_upper_mem): Likewise.
34672 (add_mem_region): New function.
34673 (compact_mem_regions): Likewise.
34674 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34675 the size of the conventional memory and that of so-called upper
34676 memory (before the first memory hole).
34677 Instead of adding each found region to free memory, use
34678 add_mem_region and add them after removing overlaps.
34679 Also, add only 1/4 of the upper memory to free memory. The rest
34680 is used for loading OS images. Maybe this is ad hoc, but this
34681 makes it much easier to relocate OS images when booting.
34682
34683 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34684 (pupa_enter_rescue_mode): Don't register initrd and module.
34685
34686 * kern/mm.c: Include pupa/dl.h.
34687
34688 * kern/main.c: Include pupa/file.h and pupa/device.h.
34689
34690 * kern/loader.c (pupa_loader_load_module_func): Removed.
34691 (pupa_loader_load_module): Likewise.
34692
34693 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34694 ``.o''.
34695
34696 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34697 (pupa_linux_tmp_addr): Likewise.
34698 (pupa_linux_real_addr): Likewise.
34699 (pupa_linux_boot_zimage): Likewise.
34700 (pupa_linux_boot_bzimage): Likewise.
34701
34702 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34703 (pupa_upper_mem): Likewise.
34704 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34705 module is too dangerous.
34706
34707 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34708 (pupa_os_area_size): Likewise.
34709 (pupa_loader_set): Remove the first argument. Loader doesn't
34710 manage modules or initrd any longer.
34711 (pupa_loader_load_module): Removed.
34712
34713 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34714 (linux_mod_SOURCES): New variable.
34715 (linux_mod_CFLAGS): Likewise.
34716
34717 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34718
34719 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34720 the length of a blocklist correctly.
34721
34722 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34723 Use ioctl only if the OS file is a block device.
34724 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34725 not very useful for normal files.
34726
34727 * kern/main.c (pupa_set_root_dev): New function.
34728 (pupa_load_normal_mode): Likewise.
34729 (pupa_main): Call those above.
34730
34731 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34732 pupa_uint16_t.
34733
34734 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34735
34736 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34737
34738 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34739 (setup): Configure the installed partition information and the
34740 dl prefix.
34741
34742 * loader/i386/pc/chainloader.c (my_mod): New variable.
34743 (pupa_chainloader_unload): New function.
34744 (pupa_rescue_cmd_chainloader): Refer itself.
34745 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34746
34747 * kern/i386/pc/startup.S (install_partition): Removed.
34748 (version_string): Likewise.
34749 (config_file): Likewise.
34750 (pupa_install_dos_part): New variable.
34751 (pupa_install_bsd_part): Likewise.
34752 (pupa_prefix): Likewise.
34753 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34754
34755 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34756 and pupa/misc.h.
34757 (make_install_device): New function.
34758 (pupa_machine_init): Set the dl prefix.
34759
34760 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34761 (buf): Renamed to ...
34762 (linebuf): ... this.
34763 (pupa_rescue_cmd_prefix): New function.
34764 (pupa_rescue_cmd_insmod): Likewise.
34765 (pupa_rescue_cmd_rmmod): Likewise.
34766 (pupa_rescue_cmd_lsmod): Likewise.
34767 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34768 rmmod and lsmod.
34769
34770 * kern/mm.c (pupa_memalign): If failed even after invalidating
34771 disk caches, unload unneeded modules and retry.
34772
34773 * kern/misc.c (pupa_memmove): New function.
34774 (pupa_memcpy): Removed.
34775 (pupa_strcpy): New function.
34776 (pupa_itoa): Made static.
34777
34778 * kern/dl.c (pupa_dl_iterate): New function.
34779 (pupa_dl_ref): Likewise.
34780 (pupa_dl_unref): Likewise.
34781 (pupa_dl_unload): Return if succeeded or not.
34782 (pupa_dl_unload_unneeded): New function.
34783 (pupa_dl_unload_all): Likewise.
34784 (pupa_dl_init): Renamed to ...
34785 (pupa_dl_set_prefix): ... this.
34786 (pupa_dl_get_prefix): New function.
34787
34788 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34789 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34790 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34791 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34792 (pupa_install_dos_part): Declared.
34793 (pupa_install_bsd_part): Likewise.
34794 (pupa_prefix): Likewise.
34795 (pupa_boot_drive): Likewise.
34796
34797 * include/pupa/types.h: Fix a typo.
34798
34799 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34800 pupa_memmove.
34801 (pupa_memmove): Declared.
34802 (pupa_strcpy): Likewise.
34803
34804 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34805 pupa_mod_init takes one argument, its own module.
34806 (pupa_dl_unload_unneeded): Declared.
34807 (pupa_dl_unload_all): Likewise.
34808 (pupa_dl_ref): Likewise.
34809 (pupa_dl_unref): Likewise.
34810 (pupa_dl_iterate): Likewise.
34811 (pupa_dl_init): Renamed to ...
34812 (pupa_dl_set_prefix): ... this.
34813 (pupa_dl_get_prefix): Declared.
34814
34815 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
34816 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
34817 unloaded.
34818 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34819 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34820
34821 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34822 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34823
34824 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34825
34826 * util/i386/pc/pupa-setup.c (setup): Define the internal
34827 function find_first_partition_start at the top level, because GCC
34828 3.0.x cannot compile internal functions in deeper scopes
34829 correctly.
34830 (find_root_device): Use lstat instead of stat.
34831 Don't follow symbolic links.
34832 Fix the path-constructing code.
34833
34834 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34835 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34836 by a BLKGETSIZE ioctl first, because block devices don't fill
34837 the member st_mode of the structure stat on Linux.
34838 [__linux__] (linux_find_partition): Use a temporary buffer
34839 REAL_DEV for the working space. Copy it to DEV before returning.
34840 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34841 buffer cache consistent.
34842 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34843 strncmp. The previous value was merely wrong.
34844 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34845
34846 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34847 FAT size is 12. The previous value was merely wrong.
34848
34849 * kern/main.c (pupa_main): Don't split the starting message from
34850 newlines.
34851
34852 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34853 LF, because BIOS goes crazy about character attributes in this
34854 case.
34855
34856 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34857
34858 * include/i386/pc/util/biosdisk.h: New file.
34859 * util/i386/pc/biosdisk.c: Likewise.
34860 * util/i386/pc/pupa-setup.c: Likewise.
34861
34862 * Makefile.in (INCLUDE_DISTFILES): Added
34863 include/pupa/i386/pc/util/biosdisk.h.
34864 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34865 directory util/i386/pc.
34866 (install-local): Added a rule for sbin_UTILITIES.
34867 (uninstall): Likewise.
34868
34869 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34870
34871 * util/misc.c (xrealloc): New function.
34872 (pupa_malloc): Likewise.
34873 (pupa_free): Likewise.
34874 (pupa_realloc): Likewise.
34875 (pupa_stop): Likewise.
34876 (pupa_putchar): Likewise.
34877
34878 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34879
34880 * include/pupa/util/misc.h (xrealloc): Declared.
34881
34882 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34883 macro.
34884 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34885 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34886
34887 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34888 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34889
34890 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34891 way should be implemented.
34892 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34893
34894 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34895 the size of NAME for safety.
34896 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34897 0x88.
34898
34899 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34900 (pupa_setup_SOURCES): Likewise.
34901
34902 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34903
34904 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34905
34906 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34907 bunch of pushl's from pusha, because this destroys the return
34908 value.
34909
34910 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34911
34912 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34913 This means that any missing prototypes could be fatal. Also, you
34914 must take care when writing assembly code. See the comments at
34915 the beginning of startup.S, for more details.
34916
34917 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34918 compilation mechanism.
34919 (pupa_chainloader_real_boot): Likewise.
34920 (pupa_biosdisk_rw_int13_extensions): Likewise.
34921 (pupa_biosdisk_rw_standard): Likewise.
34922 (pupa_biosdisk_check_int13_extensions): Likewise.
34923 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34924 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34925 (pupa_get_memsize): Likewise.
34926 (pupa_get_mmap_entry): Likewise.
34927 (pupa_console_putchar): Likewise.
34928 (pupa_console_setcursor): Likewise.
34929 (pupa_getrtsecs): Use pushl instead of push.
34930
34931 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34932 memory instead of the stack for a mmap entry, because some
34933 BIOSes may ignore the maximum size and overflow.
34934
34935 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34936
34937 * genmk.rb (PModule#rule): Compile automatically generated
34938 sources with module-specific CFLAGS as well as other sources.
34939
34940 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34941
34942 * configure.ac: Check ld.
34943 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34944 respectively, before checking endianness and sizes.
34945
34946 * Makefile.in (LD): New variable.
34947
34948 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34949
34950 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34951
34952 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34953
34954 * Changelog: New file.
34955