]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
[grub2.git] / ChangeLog
1 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
4 New function.
5 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
6 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8
9 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12 bitmap.
13 (grub_gfxterm_term_init): Likewise.
14
15 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16
17 Take into account the decorations the computing menu entry width.
18
19 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20 (grub_gfxmenu_create_box): Register get_border_width.
21 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
22 if available.
23 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
24 get_border_width.
25
26 2011-04-18 Endres Puschner <code@e7p.de>
27
28 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
29 Don't skip first class.
30
31 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
34 chunks.
35 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
36
37 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
38
39 Complete 64-bit division support.
40
41 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
42 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
43 * include/grub/misc.h (grub_divmod64): Rename to ...
44 (grub_divmod64_full): ... this.
45 (grub_divmod64): New inline function.
46
47 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/grub-mkimage.c (generate_image): Add forgotten comma.
50
51 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
54 performing the necessary test.
55
56 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
59 (kfreebsd.elf): Likewise.
60 (pc-chainloader.elf): Likewise.
61 (ntldr.elf): Likewise.
62
63 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Identify RAID by its UUID rather than (guessed) name.
66
67 * grub-core/disk/raid.c (ascii2hex): New function.
68 (grub_raid_open): Accept mduuid/%s specification.
69 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
70 (get_mdadm_uuid): ... this.
71 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
72
73 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
76 to negative size.
77
78 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
79
80 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
81 btrfs subvolume.
82 * util/grub.d/20_linux_xen.in: Likewise.
83
84 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
85
86 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
87 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
88
89 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
90 Build a list of relevant visible mounts using the mnt_id and
91 parent_mnt_id fields, and then scan that list at the end.
92
93 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
94
95 * docs/grub.texi (normal): New section.
96 (normal_exit): New section.
97 (Embedded configuration): Add reference to normal.
98 (GRUB only offers a rescue shell): Likewise.
99 * docs/grub-dev.texi (Error Handling): Fix typo.
100
101 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
102
103 * NEWS: Drop obsolete entry about probe-only btrfs support.
104
105 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
106
107 * util/import_gcry.py: Fix typo.
108
109 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * NEWS: Add btrfs support.
112
113 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
114 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
115
116 BtrFS support. Written by me (Vladimir) with important bugfixes and
117 even more important testing by Colin.
118
119 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
120 * grub-core/Makefile.core.def (btrfs): Add crc.c.
121 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
122 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
123 mem_input_off and mem_input. All users updated to accept in-RAM input.
124 (gzio_seek): New function.
125 (test_zlib_header): Likewise.
126 (grub_gzio_read): Likewise.
127 (grub_zlib_decompress): Likewise.
128 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
129 Accept partial and non-virtual mounts.
130 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
131 avoid receiving /dev/dm-X as device.
132 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
133 Handle bind and partial mounts.
134 * grub-core/lib/crc.c: New file.
135 * include/grub/deflate.h: Likewise.
136 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
137 proto.
138 * include/grub/lib/crc.h: New file.
139
140 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Implement automatic module license checking according to new GNU
143 guidelines.
144
145 * grub-core/kern/dl.c (grub_dl_check_license): New function.
146 (grub_dl_load_core): Use grub_dl_check_license.
147 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
148 (GRUB_MOD_LICENSE): Likewise.
149 (GRUB_MOD_DUAL_LICENSE): Likewise.
150 All modules updated.
151
152 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
153
154 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
155 reserved_first_sector to 1. btrfs reserves plenty of space for boot
156 loaders.
157 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
158
159 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
162
163 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * util/grub-fstest.c (read_file): Report GRUB error if file opening
166 failed.
167
168 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/kern/file.c (grub_file_open): Don't take into account the
171 parenthesis in the middle of the filename.
172
173 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
176 rather than trying to put initrd way too high.
177 Reported by: Ryan Lortie <desrt@desrt.ca>
178
179 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
182 improperly removed string.
183
184 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
187 is_disk.
188 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
189 (open_device) Likewise.
190 (grub_util_biosdisk_close): Likewise.
191 Reported by: Mark Korenberger.
192
193 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
194
195 * util/grub-mkconfig_lib.in: Add missing quotes.
196
197 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
198
199 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
200 is NULL.
201
202 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Dynamically count the number of lines for the lower banner.
205
206 * grub-core/normal/menu_entry.c (per_term_screen): New member
207 num_entries.
208 (print_down): Use num_entries.
209 (update_screen): Likewise.
210 (grub_menu_entry_run): Set num_entries.
211 * grub-core/normal/menu_text.c (menu_viewer_data): New member
212 num_entries.
213 (grub_print_message_indented): Move real part to ...
214 (grub_print_message_indented_real): ... here. Additional argument
215 dry_run.
216 (draw_border): Additional argument num_entries.
217 (print_message): Additional argument dry_run.
218 (print_entries): Receive menu viewer data.
219 (grub_menu_init_page): New argment num_entries.
220 (menu_text_set_chosen_entry): Use num_entries.
221 (grub_menu_try_text): Likewise.
222 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
223 All users updated.
224 (grub_ucs4_count_lines): New function.
225 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
226 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
227 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
228 (grub_term_border_height): Likewise.
229 (grub_term_num_entries): Likewise.
230
231 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
234 Remove now unused string.
235
236 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
237
238 * docs/grub-dev.texi (Finding your way around): Update for 1.99
239 build system.
240 (Getting started): GRUB is developed in Bazaar now, not Subversion.
241
242 (Comment): Fix typo.
243 (Getting started): General copy-editing.
244 (Typical Development Experience): Likewise.
245 (Error Handling): Likewise.
246 (Video API): Likewise.
247
248 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
249
250 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
251 throughout.
252
253 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-mkimage.c (main): Handle special naming of yeeloong
256 directory.
257
258 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
259
260 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
261 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
262 "development".
263
264 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
267 grub_strcpy since the lines aren't necessarily 0-terminated.
268
269 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
272 root on legacy.
273
274 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/commands/probe.c (options): Argument to set isn't optional.
277 (GRUB_MOD_INIT): DEVICE isn't optional.
278
279 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
282 word on new line if it's too long anyway. Fixes a hang.
283
284 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
287 const.
288 * util/grub-setup.c (main): Reuse md device name if available.
289 * util/raid.c (grub_util_raid_getmembers): Receive device name and
290 not GRUB name as argument.
291 Based on patch by: Florian Wagner <fwagner>.
292
293 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
296 Place mbi on low memory for better compatibility.
297
298 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
301
302 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
303 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
304
305 * autogen.sh: Ensure that collate and ctype locale is C.
306 * conf/Makefile.common: Likewise.
307
308 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/normal/menu.c: Add missing include.
311
312 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
315
316 2011-04-08 Martin Zuther <mzuther@mzuther.de>
317
318 * util/grub-mkconfig.in: Ignore emacsen backup.
319
320 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
323 on open.
324 (grub_util_biosdisk_close): Likewise.
325
326 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
329 const attribute and use grub_isdigit.
330
331 2011-04-06 Andrey <dev_null@ukr.net>
332
333 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
334 gcc warning.
335
336 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
339 useful grub_dprintf's.
340
341 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
344
345 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
348
349 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Output errors if theme loading failed.
352
353 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
354 grub_gfxterm_fullscreen on error paths to ...
355 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
356 theme loading error.
357
358 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
361 space for older compilers.
362 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
363
364 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
367 and report them as not RAID members since they are useless for GRUB.
368 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
369
370 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Increase LVM implementation robustness in order not to crash on
373 configurations like pvmove. Previously code assumed that in some places
374 only lvs or only pvs are used whereas it seems that they are used
375 interchangeably.
376
377 * grub-core/disk/lvm.c (read_node): New function.
378 (read_lv): Use read_node.
379 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
380 Match volumes only at the end when all lvs are found. Take both
381 pvs (first) and lvs (second) into account.
382 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
383 mirror_* into node_*. All users updated.
384 (grub_lvm_stripe): Merge this ...
385 (grub_lvm_mirror): ... and this ...
386 (grub_lvm_node): ... into this. All users updated.
387
388 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
391 of function to allow further scanning for LVMs.
392
393 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
396 on failed seek as it breaks open fd reusage.
397
398 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * util/grub-install.in: Add a recommendation to use --recheck before
401 reporting bugs.
402
403 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
406 are obtained.
407
408 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
409
410 GRUB developper manual based on existing Internals section and
411 contributions by the various authors with active copyright assignment.
412
413 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
414 * docs/font_char_metrics.png: New file.
415 * docs/font_char_metrics.txt: Likewise.
416 * docs/grub-dev.texi: Likewise.
417 * docs/grub.texi (Internals): Move from here ...
418 * docs/grub-dev.texi: ... here.
419
420 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
421
422 Store the loopback device as data on loopback grub_disk structures,
423 rather than the file it points to. This fixes use of freed memory
424 if an existing loopback device is replaced.
425
426 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
427 disk->data, not dev->file.
428 (grub_loopback_read): Adjust file assignment to match.
429 Fixes Ubuntu bug #742967.
430
431 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
432
433 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
434 when replacing an existing device.
435
436 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
437
438 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
439 memory corruptions.
440
441 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
442 unsigned.
443 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
444 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
445 (grub_jfs_read_inode): Likewise.
446 (grub_jfs_opendir): Likewise. Remove now useless casts.
447 (grub_jfs_getent): Likewise.
448 Make ino a grub_uint32_t rather than int.
449 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
450 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
451 division and module with bit operations.
452 (grub_jfs_find_file): Make ino a grub_uint32_t.
453 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
454
455 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
456
457 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
458 warning. (This was in fact always initialised before use, but GCC
459 wasn't smart enough to prove that.)
460 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
461
462 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
465 stack alignment.
466 (efi_wrap_1): Likewise.
467 (efi_wrap_2): Likewise.
468 (efi_wrap_3): Likewise.
469 (efi_wrap_4): Likewise.
470 (efi_wrap_5): Likewise.
471 (efi_wrap_6): Likewise.
472 (efi_wrap_10): Likewise.
473 Based on information by: Red Hat/Peter Jones.
474
475 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
476
477 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
478 set-but-not-used variable.
479
480 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
481
482 * docs/grub.texi (Simple configuration): Be more explicit about
483 GRUB_DEFAULT, and add an example.
484 Reported by: Leslie Rhorer.
485
486 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
487
488 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
489 shell".
490
491 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
492
493 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
494 * util/grub.d/20_linux_xen.in: Likewise.
495
496 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * util/grub.d/10_linux.in: Try alternative config filenames where
499 we parse config file.
500 * util/grub.d/20_linux_xen.in: Likewise.
501
502 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
503
504 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
505 * util/grub.d/20_linux_xen.in: Likewise.
506
507 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/disk/raid.c (insert_array): Add few potentially
510 useful grub_util_info.
511 (grub_raid_register): Likewise.
512
513 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
516 Preserve partition number in mdadm code path.
517
518 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
521 few potentially useful grub_util_info.
522
523 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
526
527 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
528
529 * docs/grub.texi (default): Use @example rather than nested
530 itemized lists to avoid breaking gendocs.
531
532 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
533
534 * docs/grub.texi (Future): Update.
535
536 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
537
538 * docs/grub.texi (Environment): New chapter.
539 (Changes from GRUB Legacy): Link to "Environment block" section for
540 details of limitations.
541 (Simple configuration): Likewise. Link to documentation of gfxmode
542 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
543 respectively.
544 (Shell-like scripting): Note that normal variables are stored in the
545 environment.
546 (gettext): Link to documentation of lang and locale_dir.
547 (list_env): New section.
548 (load_env): New section.
549 (save_env): New section.
550
551 (Reporting bugs): Fix typo.
552
553 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
556 the example.
557
558 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/term/at_keyboard.c (set_scancodes)
561 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
562
563 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
564
565 * docs/grub.texi (Menu-specific commands): Remove some semantics
566 that were true in GRUB Legacy but not in GRUB 2.
567 (submenu): New section.
568 (false): New section.
569 (read): New section.
570 (true): New section.
571
572 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
573
574 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
575
576 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
577
578 * docs/grub.texi (Simple configuration): Explain some of the
579 current limitations of grub-mkconfig.
580 Reported by: Leslie Rhorer.
581
582 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
583
584 Old macs search for boot.efi rather than for bootia32.efi.
585
586 * util/grub-install.in: Copy bootia32.efi to boot.efi.
587 * util/grub-mkrescue.in: Likewise.
588 Suggested by: Peter Jones.
589
590 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
593
594 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
597 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
598 (grub_lvm_mirror): New struct.
599 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
600 (grub_lvm_iterate): Iterate only visible volumes.
601 (grub_lvm_read): Factor out to ..
602 (read_lv): ... this. Support mirrors.
603 (grub_lvm_read): New wrapper function.
604 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
605 stripped or mirrored.
606
607 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
610
611 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
612
613 * docs/grub.texi (loopback): New section.
614
615 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
616
617 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
618 removed -p option.
619
620 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
621
622 * docs/grub.texi (BIOS installation): New section, partly based on
623 previous text in other sections.
624 (Installing GRUB using grub-install): Replace BIOS discussion with a
625 cross-reference.
626 (Images): Likewise.
627
628 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/kern/emu/hostdisk.c (find_partition_start)
631 [HAVE_DIOCGDINFO]: Add safety checks.
632
633 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
636 per default compiled in kernel and prior to 8.0 isn't shipped at all.
637
638 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
639
640 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
641 real_sb->size is zero (e.g. RAID-0), get the disk size from
642 real_sb->data_size instead.
643 Fixes Ubuntu bug #743136.
644
645 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
648 printf clauses for printing size and start.
649
650 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
653 Reported and tested by: Timothy Nikkel.
654
655 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
658 (dirty_region_add_real): ... this.
659 (dirty_region_add): Don't discard margin refresh when performing
660 scheduled repaint.
661
662 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/lib/relocator.c (allocate_regstart)
665 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
666 terminals are capabple of malloc-free operation.
667 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
668 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
669
670 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
671
672 * util/grub-setup.c: Copy the partition table zone if floppy support
673 is disabled, even if no partition table is found.
674
675 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
676 during POST if an invalid partition table is contained in the PBR
677 of the active partition when GRUB is installed to a partition.
678
679 2011-03-28 Colin Watson <cjwatson@debian.org>
680
681 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
682 comment.
683
684 2011-03-28 Colin Watson <cjwatson@debian.org>
685
686 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
687 to be specific about what kind of RAID device we're scanning for.
688
689 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
690
691 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
692 return freed string.
693
694 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
697
698 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Use libgeom on FreeBSD to detect partitions.
701
702 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
703 (grub-mkrelpath): Likewise.
704 (grub-script-check): Likewise.
705 (grub-editenv): Likewise.
706 (grub-mkpasswd-pbkdf2): Likewise.
707 (grub-fstest): Likewise.
708 (grub-mkfont): Likewise.
709 (grub-mkdevicemap): Likewise.
710 (grub-probe): Likewise.
711 (grub-setup): Likewise.
712 (grub-ofpathname): Likewise.
713 (grub-mklayout): Likewise.
714 (example_unit_test): Likewise.
715 (grub-menulst2cfg): Likewise.
716 * grub-core/Makefile.core.def (grub-emu): Likewise.
717 (grub-emu-lite): Likewise.
718 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
719 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
720 define HAVE_DIOCGDINFO.
721 (follow_geom_up) [FreeBSD]: New function.
722 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
723 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
724 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
725 unconditionally of HAVE_DIOCGDINFO.
726
727 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
728
729 Fix FreeBSD compilation problem.
730
731 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
732 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
733
734 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
735
736 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
737 Switch back to page zero before loading a kernel, since some kernel
738 drivers expect that.
739 Thanks to: Felix Kuehling.
740
741 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
744 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
745 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
746
747 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
750 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
751
752 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
755 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
756 malloc is disabled.
757
758 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
761 for modules headers when counting the needed allocation size.
762
763 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
766 if no ASCII character is found to prevent crash.
767
768 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
769
770 * grub-core/video/bitmap.c (match_extension): Ignore case.
771
772 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
775
776 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/script/parser.y: Declare "time" as valid argument.
779
780 2011-03-23 Peter Jones <pjones@redhat.com>
781
782 Fix incorrect assert failure reporting.
783
784 * grub-core/tests/example_functional_test.c (example_test): Add
785 a failure comment.
786 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
787 (failure_start): ...this. Check that malloc succeeded.
788 Don't call xvasprintf. Return failure struct.
789 (failure_append_vtext): New function.
790 (failure_append_text): Likewise.
791 (add_failure): Likewise.
792 (grub_test_assert_helper): Likewise.
793 * include/grub/test.h (grub_test_assert_helper): New declaration.
794 (grub_test_assert): Macro rewritten.
795
796 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
799
800 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
803
804 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
807 into GRUB-style one.
808
809 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
812 error and not grub_errno.
813 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
814
815 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
818 GRUB_USB_SPEED_NONE in case of failure and not the error code.
819
820 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/efiemu/i386/pc/cfgtables.c
823 (grub_machine_efiemu_init_tables): Make declaration a prototype.
824 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
825 (grub_xnu_unlock): Likewise.
826 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
827
828 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
831 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
832 * grub-core/commands/hashsum.c (aliases): Likewise.
833 * grub-core/commands/setpci.c (pci_registers): Likewise.
834 * grub-core/disk/usbms.c (attach_hook): Likewise.
835 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
836 (zio_checksum_table): Likewise.
837 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
838 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
839 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
840 * grub-core/lib/relocator.c (leftovers): Likewise.
841 (extra_blocks): Likewise.
842 * grub-core/loader/i386/bsd.c (relocator): Likewise.
843 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
844 (modules_last): Likewise.
845 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
846 (devices): Likewise.
847 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
848 (modules_last): Likewise.
849 * grub-core/normal/auth.c (users): Likewise.
850 * grub-core/normal/context.c (initial_menu): Likewise.
851 (current_menu): Likewise.
852 * grub-core/normal/crypto.c (crypto_specs): Likewise.
853 * grub-core/term/serial.c (grub_serial_ports): Likewise.
854 (grub_serial_terminfo_input_template): Likewise.
855 (grub_serial_terminfo_output_template): Likewise.
856 (grub_serial_terminfo_input): Likewise.
857 (grub_serial_terminfo_output): Likewise.
858 (registered): Likewise.
859 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
860
861 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
864 grub_video_mode_type_t.
865 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
866 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
867 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
868
869 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-install.in: Correct the x86-64 name as x86_64.
872
873 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
874
875 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
876 initial chunk read from the kernel always includes GRUB's multiboot
877 header, which is now outside the first sector.
878
879 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
880
881 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
882 cached mmap_size, so that this works correctly when called multiple
883 times.
884 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
885
886 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
887
888 * docs/grub.texi (Simple configuration): Tidy up formatting.
889
890 2011-03-07 Szymon Janc <szymon@janc.net.pl>
891
892 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
893 Set-but-not-used variable removed.
894
895 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Workaround yet another IEEE1275 bug.
898
899 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
900 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
901 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
902 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
903 is set.
904 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
905 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
906
907 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
910 error.
911
912 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
913
914 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
915 empty, since in that case we can only generate either nothing or a
916 syntactically invalid configuration file.
917 Reported by: Michal Suchanek. Fixes Debian bug #612898.
918
919 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
920
921 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
922 (Making a GRUB bootable CD-ROM): Likewise.
923 (Invoking grub-mkrescue): New section.
924 Reported by: Yann Dirson. Fixes Debian bug #612585.
925
926 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
927
928 * util/grub-install.in: Remove unnecessary brackets from tr
929 arguments.
930 * util/grub.d/10_hurd.in: Likewise.
931 * util/grub.d/10_kfreebsd.in: Likewise.
932 * util/grub.d/10_linux.in: Likewise.
933 * util/grub.d/20_linux_xen.in: Likewise.
934 Reported by: Jamie Heilman. Fixes Debian bug #612564.
935
936 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
937
938 * include/grub/file.h (not_easly_seekable): Rename to ...
939 (not_easily_seekable): ... this. Update all users.
940
941 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
942
943 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
944 grub-mkrescue.
945
946 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * util/grub-mkimage.c (generate_image): Refuse to create the images
949 bigger than the actual flash (512K) in Loongson machines. 512K is also
950 the biggest chip supported by them.
951
952 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
955
956 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
957
958 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
959 super_offset field.
960
961 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * util/grub-install.in: Ignore install device on platforms
964 where it doesn't make sense. Always use UUIDs except on pc, efi and
965 sparc64.
966 Reported by: Daniel Kahn Gillmor.
967
968 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
971
972 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
975 (iterate_real): Don't rely on partition being non-NULL.
976
977 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
980 supported platforms. Put a compile time assert for this rather than
981 generate a warning with 32-bit shift.
982
983 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
986 logical expression more readable.
987
988 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
991 even if some elements have a name.
992 Reported by: Alexander GQ Gerasiov.
993
994 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
995
996 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
997 path unreadable if `grub-probe -t abstraction' fails, for example if
998 memberlist fails on an LVM volume group.
999 Reported by: Darius Jahandarie.
1000
1001 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * docs/grub.texi (Simple configuration): Document
1004 GRUB_PRELOAD_MODULES.
1005
1006 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * .bzrignore: Remove nonexistent grub-pbkdf2.
1009
1010 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * configure.ac: Bump version to 1.99~rc1.
1013
1014 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1017 for safety.
1018
1019 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1022 module.
1023
1024 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1027
1028 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1031 diskdevid.
1032
1033 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Fix compilation on cygwin.
1036
1037 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1038 -R .drectve on cygwin.
1039 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1040 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1041 (COND_CYGWIN): New condition.
1042 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1043 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1044 not @TARGET_OBJ2ELF@.
1045 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1046 type to determine whether aux is to be used.
1047
1048 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1051 realpath'ed device string.
1052 Handle floppy (somewhat).
1053 Issue error in unknown case rather than garbage.
1054 Reported by: Axel Beckert.
1055
1056 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * util/grub.d/00_header.in (load_video): Handle the case when no video
1059 drivers available.
1060 Thanks to: Axel Beckert.
1061
1062 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1065 variable. Fixes problem on big endian platforms.
1066
1067 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1070 It doesn't work well there.
1071
1072 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1075 warning.
1076 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1077 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1078 counter.
1079
1080 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Use alias->path rather than buggy "canon".
1083
1084 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1085 (ofdisk_hash_add): New argument curcan. All users updated.
1086
1087 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1088
1089 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1090
1091 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1094 loadmask before doing any calculations. Use correct type for offset.
1095 (grub_linux_load64): Likewise.
1096
1097 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
1098
1099 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1100 with NULL.
1101 (console_grub_equivalences_unshift): Likewise.
1102 Reported by: Daniel Dehennin.
1103
1104 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1107 (set_env_limn_ro): Likewise.
1108 (GRUB_MOD_INIT): Likewise.
1109 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1110 ARRAY_SIZE while on it.
1111 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1112 * grub-core/normal/context.c (grub_env_export): Move from here ...
1113 * grub-core/kern/env.c (grub_env_export): ... here.
1114 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1115 prefix.
1116 * grub-core/kern/main.c (grub_main): Export root and prefix.
1117 * include/grub/env.h (grub_env_export): Export.
1118 Reported by: Seth Goldberg.
1119
1120 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1123 Take into account space used by ELF sections and multiboot palette.
1124 Reported by: Grégoire Sutre.
1125
1126 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * BUGS: New file.
1129
1130 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Pass more appropriate video id to Linux.
1133
1134 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1135 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1136 fill have_vga.
1137 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1138 shift params->lfb_size.
1139 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1140
1141 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1144
1145 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1148 separator and pass bootpath/devid even if only one of them is available.
1149 Reported by: Seth Goldberg.
1150
1151 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1154 implementations bug on them.
1155
1156 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1157 memory.
1158 (filter_memory_map): Likewise.
1159
1160 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1163 Reported by: nebuchadnezzar.
1164
1165 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1168 Reported by: nebuchadnezzar.
1169
1170 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 Submenu default support.
1173
1174 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1175 auto_boot. All users updated.
1176 Declared static.
1177 Handle chosen and default with submenus.
1178 (grub_menu_execute_with_fallback): Declared static.
1179 Don't notify failure if autobooted. Upper level does it.
1180 (menuentry_eq): New function.
1181 (get_entry_number): Use menuentry_eq.
1182 (show_menu): New parameter "autobooted". All users updated.
1183 (grub_show_menu): Likewise.
1184 * include/grub/normal.h (grub_show_menu): Likewise.
1185 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1186 (grub_menu_execute_with_fallback): Likewise.
1187
1188 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * util/grub-mklayout.c (usage): Update help text.
1191
1192 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1195
1196 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub-menulst2cfg.c (main): Trim the line.
1199
1200 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1203 (grub_machine_init): Don't check amount of low memory as reportedly
1204 INT 12h can be broken and if low memory is too low we wouldn't have
1205 gotten into grub_machine_init anyway.
1206
1207 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1210 (grub_machine_mmap_iterate): Take low memory into account
1211
1212 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1215 badfs.
1216 Reported by: TiCPU.
1217
1218 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1221 members errors.
1222
1223 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1224
1225 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1226 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1227
1228 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1229
1230 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1231 openbsd and netbsd types being in part_bsd module.
1232
1233 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1236 (_FILE_OFFSET_BITS): Likewise.
1237 Reported by: Seth Goldberg.
1238
1239 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1240
1241 * configure.ac: Check for libdevmapper header.
1242
1243 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1246 avoid aliasing.
1247 (fzap_lookup): Likewise.
1248 (dnode_get): Likewise.
1249 (make_mdn): Likewise.
1250 (zfs_mount): Likewise.
1251 (fzap_iterate): Use temporary pointer to avoid aliasing.
1252 (grub_zfs_read): Likewise.
1253 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1254 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1255 pointers to avoid aliasing.
1256 (grub_cmd_xnu_kernel64): Likewise.
1257 (grub_xnu_load_driver): Likewise.
1258
1259 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1262 aliasing warning.
1263 (grub_cmd_terminal_output): Likewise.
1264 Reported and tested by: Grégoire Sutre.
1265
1266 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1269 warning.
1270 Reported and tested by: Grégoire Sutre.
1271
1272 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * configure.ac: Do CPU substitution even if it's specified explicitly.
1275 Reported and tested by: Alain Greppin.
1276
1277 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1280 Reported and tested by: Alain Greppin.
1281
1282 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 Satisfy some bison versions need for inttypes.h.
1285
1286 * grub-core/lib/posix_wrap/inttypes.h: New file.
1287 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1288 (int16_t): Likewise.
1289 (int32_t): Likewise.
1290 (int64_t): Likewise.
1291 Reported and tested by: Alain Greppin.
1292
1293 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1296 Silence spurious warning.
1297 Reported and tested by: Alain Greppin.
1298
1299 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1300
1301 * docs/grub.texi (Support automatic decompression): Update with xz
1302 decompression support.
1303
1304 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1305
1306 Improve loaders' kernel command line handling.
1307
1308 * grub-core/lib/cmdline.c: New file.
1309 * include/grub/lib/cmdline.h: Likewise.
1310 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1311 grub_create_loader_cmdline to create kernel command line.
1312 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1313 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1314 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1315 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1316 (linux): Add lib/cmdline.c on common.
1317
1318 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1321 inopos might be unaligned.
1322
1323 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1326 endian transformations.
1327 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1328 Based on report by: Doug Nazar.
1329
1330 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1331
1332 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1333 array->members[i].start_sector.
1334 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1335
1336 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1339 Reported and tested by: Grégoire Sutre.
1340
1341 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1342
1343 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1344 avoid causing test failures by clearing the screen.
1345
1346 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1347
1348 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1349 Fix prefix check to handle the case where dir ends with a slash
1350 (most significantly, "/" itself).
1351 Reported by: Michael Vogt.
1352
1353 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Run terminfo_cls on initing terminfo output to clear the screen and
1356 move the cursor to (0,0).
1357
1358 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1359 Call grub_terminfo_output_init.
1360 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1361 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1362 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1363
1364 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1367 only when needed.
1368
1369 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1372 CTRL.
1373
1374 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 The E820 type 5 is BADRAM, not EXEC_CODE.
1377
1378 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1379 (GRUB_E820_BADRAM): New define.
1380 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1381 into reserved. Propagate BADRAM.
1382 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1383 (GRUB_E820_BADRAM): New define.
1384
1385 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1388 Ignore the memory post-4G.
1389 (grub_relocator_firmware_alloc_region): Additional debug statement.
1390
1391 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1394 names.
1395 Reported by: David Pravec.
1396
1397 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1400 BIOSes.
1401
1402 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1405 Prevent overflow.
1406 (grub_reed_solomon_recover): Likewise.
1407
1408 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1411
1412 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1415 variable.
1416
1417 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1418
1419 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1420 descriptions of extract_legacy_entries_source and
1421 extract_legacy_entries_configfile.
1422 Reported by: Seung Soo, Ha.
1423
1424 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1425
1426 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1427 on devices that do not implement function 0.
1428
1429 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1430
1431 * grub-core/fs/hfsplus.c: Make parent unsigned.
1432 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1433 overflows.
1434 (grub_hfsplus_cmp_extkey): Likewise
1435
1436 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * util/grub-install.in: Correctly use bootloader_id and not
1439 GRUB_DISTRIBUTOR on efibootmgr line.
1440
1441 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1444
1445 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1446
1447 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1448 Xen and reorder menu item wording to make it clearer that this entry
1449 will launch Xen. Print separate messages when loading Xen and
1450 Linux.
1451
1452 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1455 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1456 loop in case of incorrect amiga partmap.
1457
1458 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1461 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1462 Reported by:EHeM.
1463
1464 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1467 spurious warning.
1468 Reported by: crocket
1469
1470 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1473 Preload EFIemu.
1474 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1475
1476 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1479 is loaded
1480 (grub_cmd_xnu_kextdir): Likewise.
1481 (grub_cmd_xnu_splash): Likewise.
1482
1483 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 Avoid using Reed-Solomon with 0 redundancy.
1486
1487 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1488 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1489 or 0 redundancy.
1490 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1491 (grub_reed_solomon_recover): Likewise.
1492
1493 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 Don't use disk subsystem in freebsd_boot.
1496
1497 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1498 (freebsd_biosdev): Likewise.
1499 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1500 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1501
1502 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Handling of files of unknown size is currently limited. They can't be
1505 used e.g. for initrd or modules. Moreover gzip handling of not
1506 easily seekable files is buggy. Disable unknown file size for now. May
1507 be inefficient but works.
1508
1509 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1510 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1511
1512 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1513
1514 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1515 floppy probe.
1516
1517 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1518
1519 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1520
1521 2010-12-25 Shea Levy <shlevy>
1522
1523 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1524
1525 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1528 Windows Server 2008.
1529 Reported by: Devin Giddings.
1530
1531 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1534 writing an error message because of async power management.
1535 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1536 (grub_reboot): Likewise.
1537
1538 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1539
1540 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1541 keep unit tests from failing when they shouldn't.
1542
1543 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1544
1545 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1546 previous patch increased the size of the RS code by 20 bytes (at
1547 least with gcc-4.4), so increase this by 20 bytes to match.
1548 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1549
1550 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1553 scratch area. Make sure to initialise chosen in standalone mode as
1554 well as non-standalone.
1555 Reported by: Robert Hooker and Andy Whitcroft.
1556 Tested by: Andy Whitcroft.
1557
1558 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1559
1560 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1561 constructing a new unescaped string and passing it to grub_xputs in
1562 one go, rather than passing characters to grub_printf one at a time.
1563
1564 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1565
1566 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1567 initialising utf16.
1568
1569 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1570
1571 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1572 comment. Add an extra layer of quotation, requiring the output of
1573 this function to be used in a printf format string.
1574 (gettext_printf): New function.
1575 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1576 Extract translatable strings from here-documents and use a temporary
1577 variable instead, so that xgettext can find them.
1578 * util/grub.d/10_kfreebsd.in: Likewise.
1579 * util/grub.d/10_linux.in: Likewise.
1580 * util/grub.d/20_linux_xen.in: Likewise.
1581
1582 * po/grub.d.sed: New file.
1583 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1584 arguments. Set c-format flags on all strings extracted from
1585 util/grub.d/ (xgettext refuses to include these itself for strings
1586 it extracted from a shell file, but these really are c-format).
1587
1588 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1591 Avoid next pointing to nowhere.
1592
1593 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1596 rather than assuming than rootblock is exactly in the middle.
1597 (grub_affs_label): Likewise.
1598
1599 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1602 reserved_first_sector to 0.
1603 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1604 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1605 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1606
1607 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Fix handling of UTF-16 UDF labels.
1610
1611 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1612 (read_string): .. here.
1613 (grub_udf_label): Use read_string.
1614
1615 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1616
1617 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1618 editor under argument scope.
1619 Reported by: Jordan Uggla
1620
1621 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1624
1625 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1626
1627 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1628 line, and other keys scroll an entire page (previous handling was
1629 for \r and \n to scroll a page and other keys to scroll two lines).
1630
1631 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1634 Set ptrdest to correct get_physical_target_address rather than
1635 incorrect get_virtual_current_address.
1636
1637 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1638
1639 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1640 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1641
1642 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * .bzrignore: Ignore grub-core/rs_decoder.S.
1645
1646 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1647
1648 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1649 .mo/.mo.gz opening sequence to ...
1650 (grub_mofile_open_lang): ... here.
1651 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1652 * util/grub.d/00_header.in (grub_lang): Include country part of
1653 locale.
1654 Reported by: Mario Limonciello.
1655
1656 2010-12-09 Robert Millan <rmh@gnu.org>
1657
1658 * NEWS: Document addition of ZFS support.
1659
1660 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1661
1662 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1663 rather than `/ 2', as the latter requires -Wa,--divide which would
1664 require bumping our minimum binutils version.
1665
1666 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1667
1668 * util/grub-script-check.c (main): Print script line number on
1669 error.
1670
1671 2010-12-01 Robert Millan <rmh@gnu.org>
1672
1673 * grub-core/fs/zfs/zfs.c: New file.
1674 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1675 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1676 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1677 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1678
1679 * include/grub/zfs/dmu.h: Likewise.
1680 * include/grub/zfs/dmu_objset.h: Likewise.
1681 * include/grub/zfs/dnode.h: Likewise.
1682 * include/grub/zfs/dsl_dataset.h: Likewise.
1683 * include/grub/zfs/dsl_dir.h: Likewise.
1684 * include/grub/zfs/sa_impl.h: Likewise.
1685 * include/grub/zfs/spa.h: Likewise.
1686 * include/grub/zfs/uberblock_impl.h: Likewise.
1687 * include/grub/zfs/vdev_impl.h: Likewise.
1688 * include/grub/zfs/zap_impl.h: Likewise.
1689 * include/grub/zfs/zap_leaf.h: Likewise.
1690 * include/grub/zfs/zfs.h: Likewise.
1691 * include/grub/zfs/zfs_acl.h: Likewise.
1692 * include/grub/zfs/zfs_znode.h: Likewise.
1693 * include/grub/zfs/zil.h: Likewise.
1694 * include/grub/zfs/zio.h: Likewise.
1695 * include/grub/zfs/zio_checksum.h: Likewise.
1696
1697 * Makefile.util.def: Build ZFS into libgrubmods.
1698 * grub-core/Makefile.core.def: Build zfs.mod.
1699
1700 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1701
1702 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1703 variable.
1704 * grub-core/commands/wildcard.c (match_files): Likewise.
1705
1706 2010-11-30 Robert Millan <rmh@gnu.org>
1707
1708 * grub-core/loader/i386/bsd.c
1709 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1710 whether kernel is loaded using grub_loader_is_loaded(), rather
1711 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1712 certain error conditions.
1713
1714 2010-11-30 Robert Millan <rmh@gnu.org>
1715
1716 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1717 (grub_cmd_echo): Call grub_refresh() after printing a message.
1718
1719 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 Avoid using tricks for initialising endian variables.
1722
1723 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1724 Make const.
1725 (GRUB_MOD_INIT): Don't byte-swap.
1726 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1727 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1728 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1729 (grub_swap_bytes32_compile_time): Likewise.
1730 (grub_cpu_to_le32_compile_time): Likewise.
1731 (grub_cpu_to_le16_compile_time): Likewise.
1732
1733 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * util/grub-setup.c (setup): Stop recommending --force. People who
1736 understand the dangers of blocklists are able to find this option
1737 anyway and the ones who don't shouldn't use it anyway.
1738
1739 2010-11-26 Robert Millan <rmh@gnu.org>
1740
1741 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1742 Update all users.
1743
1744 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1745
1746 Fix LVM-on-RAID probing.
1747
1748 * util/grub-probe.c (probe): Remember which disk was detected as
1749 RAID (perhaps an LVM physical volume). Use that disk's raidname
1750 rather than that of the top-level disk.
1751
1752 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1753
1754 Fix cmdline argument quotes for setparams command of menuentry
1755 definitions.
1756
1757 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1758 quotes for arguments.
1759 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1760 grub_strchrsub function instead.
1761
1762 * include/grub/misc.h (grub_strchrsub): New function.
1763
1764 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1765
1766 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1767 effort by skipping "." and ".." entries up-front.
1768 Suggested by: Michael Lazarev.
1769
1770 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1771
1772 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1773 ldflags to ldadd, to fix link line ordering.
1774 (none_decompress): Likewise.
1775
1776 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1777
1778 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1779 platforms.
1780 (grub-emu-lite): Remove kern/emu/cache.S.
1781
1782 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1783
1784 * util/deviceiter.c (compare_devices): If the by-id link for a
1785 device couldn't be resolved, fall back to sorting by the by-id link
1786 rather than segfaulting.
1787 Reported and tested by: Daniel Mierswa.
1788
1789 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1790
1791 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1792 ldflags, to fix link line ordering.
1793
1794 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1795
1796 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1797 linkers are picky about this.
1798
1799 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1800
1801 * grub-core/Makefile.am (command.lst): Adjust sed expression
1802 ordering so that extended and priority commands aren't treated as
1803 ordinary commands.
1804
1805 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1808 Remove byte-swapping function calls, which are not valid in
1809 structure initialisers.
1810 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1811 non-const.
1812 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1813 grub_gpt_partition_type_bios_boot.
1814
1815 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1816
1817 Fix test program build on GNU/kFreeBSD.
1818
1819 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1820 $(LIBNVPAIR)' library dependencies.
1821
1822 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1823
1824 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1825
1826 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1827
1828 * util/grub-install.in: Remove excessive quoting that broke
1829 installations to RAID devices.
1830
1831 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1834 bootloader version instead of 0.
1835
1836 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1839 warning.
1840
1841 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1844 retrieve the metadat sector if size isn't known.
1845 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1846
1847 2010-11-18 Robert Millan <rmh@gnu.org>
1848
1849 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1850 with grub_memcmp().
1851
1852 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1855 arrow.
1856 Reported by: Jordan Uggla.
1857
1858 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Make better UTF compliant.
1861
1862 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1863 sequences as incorrect.
1864 (grub_is_valid_utf8): Likewise.
1865 (grub_utf8_to_ucs4): Likewise.
1866 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1867 (grub_ucs4_to_utf8_alloc): Likewise.
1868 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1869
1870 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 Make legacy_source behave like source.
1873
1874 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1875 grub_show_menu.
1876 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1877
1878 2010-11-16 Colin Watson <cjwatson@debian.org>
1879
1880 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1881 (-Wunused implies -Wunused-parameter, but not vice versa).
1882
1883 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * configure.ac: Make error messages less confusing by testing for
1886 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1887 accepted, but produces a diagnostic if something else is wrong).
1888
1889 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1892 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1893 (now unused).
1894 (grub_keyboard_controller_init)
1895 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1896 read the initial state since controller isn't inited yet.
1897
1898 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1901 allocate_regbeg may need to create new chunk header.
1902
1903 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Fix quoting in legacy parser.
1906
1907 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1908 single quotes.
1909 (grub_legacy_parse): Likewise.
1910 Reported by: Jordan Uggla.
1911 Tested by: Jordan Uggla.
1912
1913 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 Don't add -lgcc on i386 and x86_64.
1916
1917 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1918 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1919 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1920
1921 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * configure.ac: Add -Wno-trampolines when supported.
1924
1925 2010-11-14 Modestas Vainius <modax@debian.org>
1926
1927 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1928 fakeraid.
1929
1930 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1931
1932 Add generic logical block size support for UDF.
1933
1934 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1935 (GRUB_UDF_BLKSZ): Removed.
1936 (struct grub_udf_data): New field "lbshift" to hold the logical block
1937 size of the file system in log2 format. All users updated.
1938 (sblocklist): Change type to unsigned.
1939 (grub_udf_mount): Change type of "sblklist" to unsigned.
1940 Move AVDP search before VRS recognition, because the latter requires
1941 knowledge of the logical block size, which is detected during the
1942 former.
1943 Detect and validate logical block size during AVDP search, adding
1944 support for block sizes 512, 1024 and 4096.
1945 Make VRS recognition independent of block size.
1946
1947 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1948
1949 Properly handle deleted files on UDF.
1950
1951 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1952 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1953 set.
1954
1955 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1956
1957 Support reading files larger than 2 GiB.
1958
1959 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1960 "offset" to grub_off_t.
1961 (grub_udf_read_file): Likewise for parameter "pos".
1962
1963 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1966 unavailable.
1967 (Simple configuration): Refer to Changes from GRUB Legacy about
1968 save_env availability.
1969
1970 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * util/grub-install.in: Ignore empty partition table detection
1973 instead of trying to include part_ module.
1974
1975 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1978 LVM on RAID support.
1979
1980 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 Properly define WORDS_BIGENDIAN in wrapped environments.
1983
1984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1985 definition.
1986 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1987
1988 Reported by: Manoel Rebelo Abranches.
1989 Tested by: Manoel Rebelo Abranches.
1990
1991 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * util/grub-mkconfig.in: Fix quoting.
1994
1995 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Support big ext2 files.
1998
1999 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2000 (grub_ext2_read_block): Support triple indirect blocks.
2001 (grub_ext2_read_file): Use 64-bit types and read size_high.
2002 (grub_ext2_open): Read size_high.
2003 Reported by: Ximin Luo.
2004 Tested by: Manoel Rebelo Abranches.
2005
2006 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * util/grub-install.in: Handle filenames containing spaces.
2009 Reported by: Jordan Uggla.
2010 Tested by: Jordan Uggla.
2011
2012 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * util/grub-mkconfig.in (grub_script_check): New variable.
2015 Use grub_script_check instead of grub-script-check.
2016 Reported by: Barry Jackson.
2017
2018 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * docs/grub.texi (menu): Correct the order.
2021 Reported by: D. Hugh Redelmeier.
2022
2023 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2026 jump.
2027
2028 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2029
2030 * include/grub/elfload.h (grub_elf32_size): New parameter.
2031 All users updated.
2032 Return maximum segments alignment.
2033 (grub_elf64_size): Likewise.
2034 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2035 Return maximum segments alignment.
2036 (grub_elf64_size): Likewise.
2037 * grub-core/loader/powerpc/ieee1275/linux.c:
2038 (grub_linux_claimmap_iterate): New function. Uses the
2039 "available" property in the "memory" node for memory allocation
2040 for kernel in the PowerPC loader.
2041 (grub_linux_load32): Correctly find linux entry point offset.
2042 (grub_linux_load64): Likewise.
2043
2044 2010-11-07 Robert Millan <rmh@gnu.org>
2045
2046 On mips-yeeloong, build with -march=loongson2f when this flag is
2047 available (GCC >= 4.4).
2048 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2049 `-march=mips3'.
2050 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2051 or otherwise add -march=mips3.
2052
2053 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2054
2055 Suppress shell expansion on echo '*' and echo "*" like cases.
2056 Reported by: Jordan Uggla.
2057
2058 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2059 string arguments before shell expansion.
2060 * tests/grub_cmd_echo.in: New testcases.
2061
2062 2010-11-07 Robert Millan <rmh@gnu.org>
2063
2064 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2065 transition.
2066
2067 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/kern/emu/hostdisk.c
2070 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2071
2072 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2075 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2076 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2077
2078 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2081
2082 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * util/grub-install.in: Replace useless recomendation to pass
2085 --modules with a recomendation to report a bug.
2086
2087 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Properly register serial terminfo.
2090 Reported by: Jordan Uggla
2091
2092 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2093 const.
2094 (grub_serial_terminfo_output_template): Likewise.
2095 (grub_cmd_serial): Register "serial" with terminfo.
2096 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2097 grub_serial_terminfo_output.
2098
2099 2010-11-05 Robert Millan <rmh@gnu.org>
2100
2101 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2102 needed).
2103
2104 2010-11-05 Robert Millan <rmh@gnu.org>
2105
2106 On Yeeloong, pass machine type information to Linux.
2107
2108 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2109 (LOONGSON_MACHTYPE): New macro, set to
2110 "machtype=lemote-yeeloong-2f-8.9inches".
2111 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2112 additional argument to Linux.
2113
2114 2010-11-04 Robert Millan <rmh@gnu.org>
2115
2116 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2117 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2118 (its SATA disks are detected as slaveless IDE master drives on
2119 kFreeBSD).
2120 Reported by Carsten Aulbert.
2121
2122 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
2123
2124 * util/bin2h.c (main): Fix spelling error in generated output.
2125
2126 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2127
2128 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2129
2130 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2133 vga= option is supplied.
2134
2135 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2138 * util/grub.d/10_kfreebsd.in: Likewise.
2139 * util/grub.d/10_linux.in: Likewise.
2140 * util/grub.d/20_linux_xen.in: Likewise.
2141
2142 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2145 argument as an argument to no-argument option.
2146
2147 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * util/grub.d/10_linux.in: Add missing load_video with explicit
2150 GRUB_GFXPAYLOAD_LINUX.
2151
2152 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2155
2156 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2159 elements with invlid index.
2160 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2161 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2162 members.
2163 * include/grub/raid.h (grub_raid_member): New struct.
2164 (grub_raid_array): Transform devices and start_sector into usage of
2165 grub_raid_member. All users updated
2166 (allocated_devs): New member.
2167
2168 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2171 is modified
2172
2173 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2174
2175 NetBSD build fix for getline function conflict from gnulib.
2176
2177 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2178 components that depend on gnulib headers.
2179 (libgrubmods.a): Renamed from earlier libgrub.a.
2180 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2181
2182 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2185 install rather than creating a broken install.
2186
2187 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * util/grub-setup.c (argp): Remove misleading example of installing to
2190 a partition.
2191
2192 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * util/grub-setup.c (setup): Clarify the error message.
2195
2196 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2199
2200 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/kern/emu/misc.c
2203 (grub_make_system_path_relative_to_its_root)
2204 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2205
2206 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/kern/emu/misc.c
2209 (grub_make_system_path_relative_to_its_root): Revert r2882.
2210
2211 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2214 useless field head. All users updated.
2215 (free_subchunk): Correct handling of IN_REGION subchunk.
2216
2217 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
2218
2219 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2220 (Supported kernels): Likewise.
2221
2222 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2223
2224 Make mktemp invocations portable.
2225
2226 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2227 exit if mktemp fails.
2228 * tests/grub_script_blockarg.in: Likewise.
2229 * tests/partmap_test.in: Likewise.
2230 * tests/util/grub-shell-tester.in: Likewise.
2231 * tests/util/grub-shell.in: Likewise.
2232 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2233 * Makefile.am: Likewise, and chain shell commands with `&&'
2234 instead of ';'.
2235 * util/grub-mkrescue.in: Use the same explicit template as above, and
2236 exit if mktemp fails.
2237
2238 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2239
2240 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2241 Linux kernel, reported by Dennis Schridde.
2242
2243 2010-10-17 Szymon Janc <szymon@janc.net.pl>
2244
2245 * grub-core/normal/auth.c (grub_auth_check_authentication):
2246 Set-but-not-used variable removed.
2247
2248 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2251 32-bit linux protocol.
2252
2253 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2256 cursor shape for sanity.
2257
2258 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * docs/grub.texi (Installation): Document buggy BIOS install.
2261
2262 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * docs/grub.texi (Installation): Indent.
2265
2266 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * util/grub-setup.c (setup): New parameter allow_floppy.
2269 (arguments): New member allow_floppy.
2270 (argp_parser): Handle --allow-floppy.
2271 (main): Pass allow_floppy.
2272 * util/grub-install.in: New option --allow-floppy passed though to
2273 grub-setup.
2274
2275 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * util/grub-install.in: Handle partitionless disks.
2278
2279 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * util/grub-setup.c (setup): Don't clean blocklists before readability
2282 verfification.
2283
2284 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * docs/grub.texi (Installation): Document embedding zone. Remove
2287 obsolete grub-install example.
2288
2289 2010-10-16 Szymon Janc <szymon@janc.net.pl>
2290
2291 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2292 Set-but-not-used variable ifdef'ed.
2293 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2294 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2295 variable removed.
2296 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2297 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2298 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2299 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2300 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2301 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2302 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2303 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2304 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2305 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2306 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2307 Likewise.
2308
2309 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2312 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2313 enum value.
2314
2315 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2318 synonym to _S5_. Needed for some DSDTs.
2319
2320 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Userspace ACPI parser debugging.
2323
2324 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2325 headers and add relevant defines. Don't include standard headers.
2326 (main) [GRUB_DSDT_TEST]: New function.
2327 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2328 Don't declare functions.
2329
2330 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Remove dead grub_efi_mm_fini.
2333
2334 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2335 (ALLOCATED_PAGES_SIZE): Likewise.
2336 (MAX_ALLOCATED_PAGES): Likewise.
2337 (allocated_pages): Likewise.
2338 (grub_efi_allocate_pages): Don't record allocated pages.
2339 (grub_efi_free_pages): Likewise.
2340 (grub_efi_mm_init): Likewise.
2341 (grub_efi_mm_fini): Removed.
2342
2343 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2346 (grub_efi_mm_init): Take into account the memory map size increase.
2347
2348 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2351 (serial_hw_put): Wait based on real time rather than port reads. Don't
2352 roken ports.
2353 * include/grub/serial.h (grub_serial_port): New field broken.
2354
2355 2010-10-16 Robert Millan <rmh@gnu.org>
2356
2357 * grub-core/kern/emu/misc.c
2358 (grub_make_system_path_relative_to_its_root): Fix premature return
2359 when processing non-root ZFS filesystems.
2360 Reported by Sergio Talens-Oliag.
2361
2362 2010-10-15 Robert Millan <rmh@gnu.org>
2363
2364 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2365 guarantee compressed ones are processed first.
2366
2367 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2370 grub_efiemu_autocore.
2371
2372 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2375 rather than 0x1b.
2376 (grub_console_getkey): Use correct jae opcode rather than ja.
2377
2378 2010-10-12 Robert Millan <rmh@gnu.org>
2379
2380 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2381 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2382 variable. All references updated.
2383
2384 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2385
2386 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Correctly distinguish mdraid flavours.
2389
2390 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2391 (insert_array): New argument raid.
2392 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2393 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2394 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2395
2396 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2399 handling of special keys.
2400
2401 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2402
2403 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2404 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2405
2406 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2407
2408 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2409 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2410 users updated.
2411 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2412 Use right endpoint when querying descriptor.
2413
2414 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 Clear out 0x80 color bit on EFI.
2417 Tested by: decoder
2418 Reported by: decoder and meta tech.
2419
2420 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2421 (grub_console_setcolorstate): Clear out 0x80 bit.
2422 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2423 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2424 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2425
2426 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2429 Set to "auto".
2430
2431 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2434 mo_file after freeing.
2435
2436 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2439
2440 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2443 flags.
2444
2445 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2448 usage.
2449
2450 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2453
2454 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2455 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2456 and terminfo.h when needed.
2457 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2458 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2459 (terminfo): Enable only on terminfokernel.
2460 (extcmd): Likewise.
2461 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2462 * include/grub/lib/arg.h: Likewise.
2463 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2464 incorrect usage of ->.
2465
2466 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2469 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2470
2471 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Fix coreboot compilation.
2474
2475 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2476 Take VBE info into account even if only text is supported.
2477 (fill_vbe_info): Take into account the case when only VGA text
2478 is supported.
2479 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2480 on coreboot, multiboot and qemu.
2481
2482 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2485 debug messages.
2486 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2487
2488 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2491 parameters.
2492
2493 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2496 if they were BSD-style.
2497
2498 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/boot/i386/pc/lnxboot.S: Replace
2501 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2502 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2503
2504 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 Write embedding zone using Reed-Solomon.
2507
2508 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2509 * grub-core/Makefile.am (rs_decoder.S): New target.
2510 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2511 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2512 (multiboot): Move to RS part.
2513 (post_reed_solomon): New label.
2514 (grub_boot_drive): Move to non-RS part since it's modified in memory
2515 on boot.
2516 Include rs_decoder.S.
2517 * grub-core/lib/reed_solomon.c: New file.
2518 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2519 New definition.
2520 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2521 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2522 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2523 * include/grub/partition.h (grub_partition_map): Change prototype of
2524 embed to allow returning additional sectors.
2525 * include/grub/reed_solomon.h: New file.
2526 * util/grub-setup.c (setup): Handle Reed-Solomon.
2527
2528 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2529
2530 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2531 i386 and x86-64 definedness tests.
2532
2533 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2534
2535 Fix generation of kernel_syms.lst
2536
2537 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2538 ASM_PREFIX
2539
2540 2010-09-26 Robert Millan <rmh@gnu.org>
2541
2542 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2543
2544 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2545 the pool is an array of devices, iterate through it and return the
2546 first device that passes a stat() test (instead of blindly returning
2547 the first one).
2548
2549 2010-09-26 Robert Millan <rmh@gnu.org>
2550
2551 Build fixes for GNU/kFreeBSD.
2552
2553 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2554 to programs that require ZFS conversion.
2555 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2556 kernels that don't have FLOPPY_MAJOR.
2557
2558 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2559
2560 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2561
2562 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2563
2564 Fix grub-emu build.
2565
2566 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2567 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2568 mdraid09 and mdraid1x.
2569
2570 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2571
2572 Re-enable grub-extras.
2573
2574 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2575 avoid confusing Automake. Run autogen only twice, once for the top
2576 level and once for grub-core. Add Makefile.util.def and
2577 Makefile.core.def from extra modules to the appropriate autogen
2578 invocations. If Makefile.common exists in an extra module, include
2579 it in both Makefile.util.am and grub-core/Makefile.core.am;
2580 similarly, include any Makefile.util.common file in Makefile.util.am
2581 and any Makefile.core.common file in grub-core/Makefile.core.am.
2582 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2583 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2584 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2585 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2586
2587 * gentpl.py (gvar_add): Turn GVARS into a set.
2588 (global_variable_initializers): Sort global variables on output.
2589 (vars_init): New function.
2590 (first_time): Likewise.
2591 (library): Ensure that non-global variable initialisations are
2592 emitted before the first time we emit code for a library block.
2593 Append to variables rather than setting them. Only emit
2594 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2595 each conditional path.
2596 (program): installdir() emits an Autogen macro, so must be passed to
2597 var_add rather than gvar_add.
2598 (data): Likewise.
2599 (script): Likewise.
2600 (rules): New function, centralising handling for different target
2601 types. Set up Guile association lists for first_time and vars_init,
2602 and send most output to a diversion so that variable initialisations
2603 can be emitted first.
2604 (module_rules): Use new rules function.
2605 (kernel_rules): Likewise.
2606 (image_rules): Likewise.
2607 (library_rules): Likewise.
2608 (program_rules): Likewise.
2609 (script_rules): Likewise.
2610 (data_rules): Likewise.
2611
2612 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2613
2614 * .bzrignore: Add contrib and grub-core/contrib. Remove
2615 grub-core/Makefile.gcry.am.
2616
2617 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2618
2619 * grub-core/lib/LzFind.c: Add missing include.
2620 * grub-core/lib/LzmaEnc.c: Likewise.
2621 * grub-core/script/lexer.c: Likewise.
2622 * grub-core/script/yylex.l: Likewise.
2623 * util/grub-macho2img.c: Likewise.
2624 * util/grub-menulst2cfg.c: Likewise.
2625 * util/grub-mklayout.c: Likewise.
2626 * util/grub-mkpasswd-pbkdf2.c
2627 * util/grub-mkrelpath.c: Likewise.
2628 * util/resolve.c: Likewise.
2629
2630 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2631
2632 * Makefile.util.def (example_unit_test): Add
2633 grub-core/gnulib/libgnu.a.
2634
2635 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2636
2637 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2638
2639 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 Support xz compression on yeeloong.
2642
2643 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2644 * configure.ac: Check for LZMA.
2645 * grub-core/Makefile.core.def (xz_decompress): New target.
2646 (none_decompress): Likewise.
2647 * grub-core/boot/decompressor/minilib.c: New file.
2648 * grub-core/boot/decompressor/none.c: Likewise.
2649 * grub-core/boot/decompressor/xz.c: Likewise.
2650 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2651 * grub-core/kern/mips/cache_flush.S: Likewise.
2652 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2653 * grub-core/kern/mips/startup.S: Move first stage to ...
2654 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2655 nomacro.
2656 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2657 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2658 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2659 Allocate statically.
2660 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2661 Allocate statically or use scratch. Don't check CRC32.
2662 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2663 Allocate statically. Don't check CRC32.
2664 * include/grub/decompressor.h: New file.
2665 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2666 Removed.
2667 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2668 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2669 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2670 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2671 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2672 * util/grub-mkimage.c (grub_compression_t): New type.
2673 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2674 (image_target_desc): New field default_compression.
2675 (image_targets): Adjust yeeloong targets.
2676 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2677 (compress_kernel): New parameter comp.
2678 (generate_image): Likewise. Handle new compression case.
2679 (options): New option --compression
2680 (help): Likewise.
2681 (main): Handle new option.
2682
2683 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2684
2685 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2686
2687 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2688
2689 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2690 typo in __i386__ conditional.
2691
2692 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2695 include.
2696
2697 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Implement EFI and ACPI multiboot2 extensions.
2700
2701 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2702 new tags as supported.
2703 (acpiv2_size): New function.
2704 (grub_multiboot_get_mbi_size): Take new tags into account.
2705 (grub_multiboot_make_mbi): Add new tags.
2706 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2707
2708 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2709
2710 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2711 Added missing configuration of USB device.
2712
2713 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2714
2715 * grub-core/normal/menu_entry.c (run): Make sure we always return
2716 a value.
2717
2718 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2719
2720 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2721 NumberOfPages is UINT64 according to the UEFI specification, not
2722 UINTN. Fix printf format.
2723
2724 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2725
2726 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2727 `err' to grub_usb_err_t.
2728 Reported and tested by: KESHAV P.R.
2729
2730 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2731
2732 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2733 tpart non-const, so that we can assign to it. (Since this is a
2734 typedef, the constness refers to the pointer rather than what it
2735 points to.)
2736
2737 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2738
2739 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2740 $(top_srcdir)/grub-core/gnulib as well as
2741 $(top_builddir)/grub-core/gnulib.
2742 Reported by: KESHAV P.R.
2743
2744 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2745
2746 * util/grub-install.in: Fix the bootloader ID option to be
2747 consistently --bootloader-id, not --bootloader_id.
2748 Reported by: KESHAV P.R.
2749
2750 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2751
2752 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2753 check hash checksum." consistently translatable.
2754
2755 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2756
2757 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2758 $(top_builddir).
2759
2760 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2761
2762 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2763 (GRUB_MOD_INIT): Register sha1sum command.
2764 (GRUB_MOD_FINI): Unregister sha1sum command.
2765
2766 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2767
2768 Keep boot and grub directory names in sync with utils scripts
2769
2770 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2771 * config.h.in: Add previous macros.
2772 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2773 * util/grub-install.in: Use $bootdir and $grubdir variables.
2774
2775 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2776
2777 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2778 convert partition names to disk names if the new `convert' parameter
2779 is set.
2780 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2781 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2782 disk in its own right. This can happen with Xen disk images.
2783
2784 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2785
2786 * util/grub-editenv.c: Update strings to avoid warnings when generating
2787 grub.pot file.
2788 * util/grub-setup.c: Likewise.
2789
2790 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * configure.ac: Change version to 1.99~beta0.
2793
2794 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2797 Add BADRAM.
2798 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2799 Likewise.
2800 * include/multiboot.h: Resynced with specification.
2801 * include/multiboot2.h: Likewise.
2802
2803 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2804
2805 Fix po directory handling.
2806
2807 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2808 * grub-core/gnulib/Makefile.am: Import gettext module.
2809 * m4/gnulib-cache.m4: Likewise.
2810 * m4/gnulib-comp.m4: Likewise.
2811 * m4/gettext.m4: New file, from gnulib.
2812 * m4/glibc2.m4: Likewise.
2813 * m4/iconv.m4: Likewise.
2814 * m4/intdiv0.m4: Likewise.
2815 * m4/intl.m4: Likewise.
2816 * m4/intldir.m4: Likewise.
2817 * m4/intlmacosx.m4: Likewise.
2818 * m4/intmax.m4: Likewise.
2819 * m4/inttypes-pri.m4: Likewise.
2820 * m4/lcmessage.m4: Likewise.
2821 * m4/lib-ld.m4: Likewise.
2822 * m4/lib-link.m4: Likewise.
2823 * m4/lib-prefix.m4: Likewise.
2824 * m4/lock.m4: Likewise.
2825 * m4/nls.m4: Likewise.
2826 * m4/po.m4: Likewise.
2827 * m4/printf-posix.m4: Likewise.
2828 * m4/progtest.m4: Likewise.
2829 * m4/threadlib.m4: Likewise.
2830 * m4/uintmax_t.m4: Likewise.
2831 * m4/visibility.m4: Likewise.
2832 * po/Makefile.am: Remove.
2833 * po/Makefile.in.in: New file, from gettext.
2834 ($(DOMAIN).pot-update): Support POTFILES-shell.
2835 * po/Makevars: New file.
2836 * po/POTFILES-shell: Rename to ...
2837 * po/POTFILES-shell.in: ... this. Update.
2838 * po/POTFILES: Rename to ...
2839 * po/POTFILES.in: ... this. Update.
2840 * po/Rules-quot: New file, from gettext.
2841 * po/boldquot.sed: Likewise.
2842 * po/en@boldquot.header: Likewise.
2843 * po/en@quot.header: Likewise.
2844 * po/insert-header.sin: Likewise.
2845 * po/quot.sed: Likewise.
2846 * po/remove-potcdate.sin: Likewise.
2847
2848 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2851
2852 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * util/grub.d/20_linux_xen.in: Use submenus.
2855
2856 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Support submenus.
2859
2860 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2861 parameter submenu. All users updated.
2862 * grub-core/normal/main.c (free_menu): Rename to ...
2863 (grub_normal_free_menu): ... this. Made global.
2864 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2865 if requested.
2866 * grub-core/normal/menu_entry.c (screen): New field submenu.
2867 (make_screen): Set submenu.
2868 (run): Open new context if requested.
2869 * include/grub/menu.h (grub_menu_entry): New field submenu.
2870 * include/grub/normal.h (grub_normal_free_menu): New proto.
2871
2872 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Menu entries extractor.
2875
2876 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2877 variants.
2878 (GRUB_MOD_INIT): Register new variants.
2879 (GRUB_MOD_FINI): Unregister new variants.
2880 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2881 into grub_cmd_legacy_source.
2882 (grub_cmd_legacy_source): Implement extractor variants.
2883 (GRUB_MOD_INIT): Register new variants.
2884 (GRUB_MOD_FINI): Unregister new variants.
2885 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2886 as an extractor.
2887 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2888 search as an extractor.
2889 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2890 test as an extractor.
2891 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2892 as an extractor.
2893 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2894 (grub_env_new_context): New function.
2895 (grub_env_context_open): Likewise.
2896 (grub_env_extractor_open): Likewise.
2897 (grub_env_extractor_close): Likewise.
2898 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2899 grub_extractor_level.
2900 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2901 * include/grub/env.h (grub_env_extractor_open): New proto.
2902 (grub_env_extractor_close): Likewise.
2903 * include/grub/normal.h (grub_extractor_level): New external variable.
2904
2905 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Make cutmem accept a region specification.
2908 Suggested by: Samuel Thibault
2909
2910 * grub-core/mmap/mmap.c (parsemem): New function.
2911 (grub_cmd_cutmem): Handle new arguments.
2912
2913 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 New command cutmem.
2916
2917 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2918 (GRUB_MOD_INIT): Register new command.
2919 (GRUB_MOD_FINI): Unregister new command.
2920
2921 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Support some annoying BSD and Minix subpartitions.
2924
2925 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2926 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2927 Properly handle concatenation.
2928 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2929 * grub-core/normal/completion.c (iterate_partition): Likewise.
2930 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2931 contain partition. All users updated.
2932 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2933 struct.
2934 (grub_openbsdlabel_partition_map): Likewise.
2935 (bsdlabel_partition_map_iterate): Rename to ..
2936 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2937 (bsdlabel_partition_map_iterate): New function.
2938 (netopenbsdlabel_partition_map_iterate): Likewise.
2939 (netbsdlabel_partition_map_iterate): Likewise.
2940 (openbsdlabel_partition_map_iterate): Likewise.
2941 (GRUB_MOD_INIT): Register new partmaps.
2942 (GRUB_MOD_FINI): Unregister new partmaps.
2943 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2944 (grub_partition_msdos_iterate): ... this. All users updated.
2945 Don't support embedding other than in a minix partition.
2946 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2947 proto.
2948 * include/grub/partition.h (grub_partition): New field msdostype.
2949 * util/grub-install.in: Handle openbsd and netbsd types being in
2950 part_bsd module.
2951
2952 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2955
2956 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2957 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2958 (mdraid09): ... this.
2959 (mdraid1x): New module.
2960 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2961 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2962
2963 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2966 vsprintf.
2967
2968 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2969
2970 * grub-core/commands/efi/lsefimmap.c: Correct header.
2971 * NEWS: Update.
2972
2973 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2974
2975 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2976 as printf format strings; the translations might contain '%' which
2977 could cause a crash.
2978 (main): Likewise.
2979 * util/grub-fstest.c (argp_parser): Likewise.
2980 * util/grub-setup.c (argp_parser): Likewise.
2981 (main): Likewise.
2982
2983 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 Use argp in grub-fstest.
2986
2987 * util/grub-fstest.c: Don't include getopt.h.
2988 Include argp.h.
2989 (root): New variable.
2990 (args_count): Likewise.
2991 (nparm): Likewise.
2992 (num_disks): Likewise.
2993 (images): Likewise.
2994 (cmd): Likewise.
2995 (debug_str): Likewise.
2996 (args): Likewise.
2997 (options): Transformed to argp.
2998 (usage): Removed.
2999 (main): Split argument parsing into ...
3000 (argp_parser): ... this. Changed to argp format.
3001 (argp): New variable.
3002 (main): Use argp_parse.
3003
3004 2010-09-20 Tristan Gingold <gingold@free.fr>
3005 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
3006 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/commands/efi/lsefimmap.c: New file.
3009 * grub-core/Makefile.core.def (lsefimmap): New module.
3010 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3011
3012 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 Pause the execution (10s max) if any errors are displayed so the user
3015 has a chance to see them.
3016
3017 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3018 (grub_print_error): Increment grub_err_printed_errors.
3019 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3020 execution if any errors were displayed.
3021 (show_menu): Remove old code for pause.
3022 * grub-core/normal/menu_entry.c (run): Likewise.
3023 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3024 users updated.
3025 (grub_normal_get_char_counter): Likewise.
3026 * include/grub/err.h (grub_err_printed_errors): New external variable.
3027 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3028
3029 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Support multiboot VBE info.
3032
3033 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3034 Take VBE info into account.
3035 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3036 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3037 Call fill_vbe_info when appropriate.
3038 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3039 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3040 as supported.
3041 (grub_multiboot_get_mbi_size): Take new tags into account.
3042 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3043 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3044 Call fill_vbe_tag when appropriate.
3045 (grub_multiboot_make_mbi): Properly align tags.
3046 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3047 function.
3048 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3049 proto.
3050 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3051
3052 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Suport manual terminal geometry specification.
3055
3056 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3057 Save state in grub_ofconsole_terminfo_output.
3058 (grub_ofconsole_term): Use grub_terminfo_getwh.
3059 (grub_ofconsole_getwh): Removed.
3060 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3061 (grub_serial_term): Use grub_terminfo_getwh.
3062 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3063 (options): New struct.
3064 (OPTION_*): New enum.
3065 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3066 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3067 width and height.
3068 (grub_terminfo_getwh): New proto.
3069 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3070
3071 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Handle legacy "terminal" command.
3074
3075 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3076 and FLAG_TERMINAL.
3077 (legacy_commands): Add terminal and title.
3078 (grub_legacy_parse): Handle terminal. Simplify title handling.
3079
3080 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3083 parameters overflow.
3084
3085 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3086
3087 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3088 widthspec.h.
3089
3090 * docs/grub.texi (Shell-like scripting): Document `!'.
3091 (Network): Simplify using new i386-pc-pxe format. Mention
3092 grub-mknetdir.
3093
3094 * NEWS: Update.
3095
3096 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3097
3098 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3099 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3100 when needed.
3101
3102 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3103
3104 * grub-core/commands/efi/lsefisystab.c: Correct header.
3105 * grub-core/commands/efi/lssal.c: Likewise.
3106 * grub-core/commands/testload.c: Likewise.
3107
3108 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3109
3110 * util/grub-mkrescue.in: Add explicit root argument to --set to
3111 prevent the UUID being interpreted as an argument to --set (matches
3112 previous change to prepare_grub_to_access_device).
3113
3114 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
3115
3116 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3117 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3118 the verbosity of later #ifs.
3119 (find_partition_start): Define this function on FreeBSD too.
3120 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3121 function.
3122 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3123 on FreeBSD.
3124
3125 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3126
3127 * util/grub-editenv.c: Use argp instead of getopt.
3128
3129 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3130
3131 * util/grub-setup.c: Use argp instead of getopt.
3132
3133 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3134
3135 Use gnulib-tool to create gnulib source files.
3136
3137 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3138 grub-core/gnulib directories
3139 * .bzignore: Add **/.deps and autogenerated gnulib files
3140 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3141 of gnulib macros, add grub-core/gnulib/Makefile
3142 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3143 include m4 directory to aclocal.
3144 * Makefile.util.def: Remove direct compilation of gnulib source files
3145 and use the new grub-core/gnulib/libgnu.a.
3146 * build-aux/config.rpath: move config.rpath from top directory to
3147 build-aux
3148 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3149 in gnulib headers
3150 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3151 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3152 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3153 header.
3154 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3155 string.
3156
3157 2010-09-20 Yves Blusseau <blusseau@zetam.org>
3158
3159 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3160 grub-core/genmod.sh and grub-core/gensyminfo.sh
3161
3162 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3163
3164 Add a test for echo command options.
3165
3166 * tests/grub_cmd_echo.in: New test.
3167 * Makefile.util.def: Rules for new test.
3168
3169 2010-09-20 Szymon Janc <szymon@janc.net.pl>
3170
3171 Remove crc.mod and move crc command to hashsum.mod.
3172 Remove lib/crc.c - users updated to use gcrypt implementation.
3173
3174 * grub-core/commands/crc.c: Removed.
3175 * grub-core/Makefile.core.def (crc): Module removed.
3176 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3177 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3178 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3179 * grub-core/lib/crc.c: Removed.
3180 * include/grub/lib/crc.h: Removed.
3181 * Makefile.util.def (crc): Remove lib/crc.c
3182 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3183 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3184 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3185 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3186 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3187 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3188
3189 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3192
3193 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 Split config.h for util and core.
3196
3197 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3198 (ADDR32): Likewise.
3199 (DATA32): Likewise.
3200 (BSS_START_SYMBOL): Likewise.
3201 (END_SYMBOL): Likewise.
3202 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3203 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3204 * config.h.in: New file.
3205 * configure.ac: Use config-util.h as config define file.
3206 Rename MACHINE into GRUB_MACHINE. All users updated.
3207 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3208 updated.
3209 (NESTED_FUNC_ATTR): Likewise.
3210 Substitue new variables.
3211 (COND_HAVE_ASM_USCORE): New conditional.
3212 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3213 (kernel_syms.lst): Use ASM_PREFIX.
3214 * grub-core/kern/emu/console.c: Include config-util.h.
3215 * grub-core/kern/emu/misc.c: Likewise.
3216 * grub-core/kern/emu/mm.c: Likewise.
3217 * include/grub/emu/misc.h: Likewise.
3218 * include/grub/libgcc.h: Likewise.
3219
3220 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3223 constants usage.
3224 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3225 Fix GRUB_TERM_KEY_* constants usage.
3226 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3227
3228 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3231 print pointer.
3232 * grub-core/bus/usb/uhci.c: Remove empty define.
3233 (grub_uhci_check_transfer): Add missing cast.
3234 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3235 print pointer.
3236 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3237 PRIuGRUB_SIZE.
3238 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3239
3240 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/Makefile.core.def (legacycfg): Add
3243 lib/i386/pc/vesa_modes_table.c on emu.
3244
3245 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3246
3247 Reduce number of temporary files generated by build system.
3248
3249 * grub-core/gencmdlist.sh: Removed.
3250 * grub-core/genfslist.sh: Removed.
3251 * grub-core/genhandlerlist.sh: Removed.
3252 * grub-core/genmodsrc.sh: Removed.
3253 * grub-core/genpartmaplist.sh: Removed.
3254 * grub-core/genparttoollist.sh: Removed.
3255 * grub-core/gentermiinallist.sh: Removed.
3256 * grub-core/genvideolist.sh: Removed.
3257
3258 * grub-core/genmod.sh.in: New file.
3259 * grub-core/gensyminfo.sh.in: New file.
3260
3261 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3262 * conf/Makefile.extra-dist: Update with new files.
3263 * gentpl.py: Remove rules related to unnecessary temporary files.
3264 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3265 and und-* files.
3266 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3267 genmod.sh scripts.
3268 * grub-core/bus/usb/uhci.c: Remove empty #define.
3269 * grub-core/genmoddep.awk: Updated with new syminfo format.
3270 * util/bash-completion.d/Makefile.am: Add config.log to
3271 CLEANFILES.
3272
3273 2010-09-19 Yves Blusseau <blusseau@zetam.org>
3274
3275 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3276
3277 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3278
3279 * util/grub-mkconfig.in: Check the config script for syntax errors
3280 before saving.
3281
3282 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
3283 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3286 platforms.
3287 * util/grub-install.in: Add EFI and IEEE1275 support.
3288 * util/i386/efi/grub-install.in: Removed.
3289 * util/ieee1275/grub-install.in: Likewise.
3290
3291 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3294 (grub_cmd_cmosclean): Likewise.
3295 (GRUB_MOD_INIT): Register command cmosclean.
3296 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3297 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3298
3299 2010-09-18 Carles Pina i Estany <carles@pina.cat>
3300 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3301 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 Add keyboard layouts support.
3304
3305 * Makefile.util.def (grub-mklayout): New file.
3306 (grub-kbdcomp): New script.
3307 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3308 Add keyboard_layouts.h.
3309 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3310 commands/boot.c on yeeloong.
3311 (keylayouts): New module.
3312 * grub-core/bus/usb/ohci.c
3313 * grub-core/bus/usb/uhci.c
3314 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3315 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3316 (attach_root_port): Likewise.
3317 (poll_nonroot_hub): Likewise.
3318 (grub_usb_poll_devices): Likewise.
3319 (detach_device): Close transfer.
3320 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3321 function.
3322 (grub_usb_bulk_setup_readwrite): Likewise.
3323 (grub_usb_bulk_finish_readwrite): Likewise.
3324 * grub-core/commands/keylayouts.c: New file.
3325 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3326 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3327 aliases.
3328 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3329 support scancode 2.
3330 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3331 * include/grub/keyboard_layouts.h: New file.
3332 * util/grub-mklayout.c: New file.
3333 * util/grub-kbdcomp.in: Likewise.
3334
3335 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Unify memory types.
3338
3339 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3340 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3341 types.
3342 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3343 (grub_upper_mem): Likewise.
3344 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3345 * include/grub/memory.h (grub_memory_type_t): New enum.
3346 All users updated.
3347
3348 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/Makefile.core.def (lsapm): New module.
3351 * grub-core/commands/i386/pc/lsapm.c: New file.
3352 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3353 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3354 Likewise.
3355 * include/grub/i386/pc/apm.h: New file.
3356 * include/multiboot.h (multiboot_apm_info): New struct.
3357
3358 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 GRUB-legacy configuration file support.
3361
3362 * Makefile.util.def (grub-menulst2cfg): New util.
3363 * docs/man/grub-menulst2cfg.h2m: New file.
3364 * grub-core/Makefile.core.def (legacycfg): New module.
3365 * grub-core/commands/legacycfg.c: New file.
3366 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3367 (grub_normal_add_menu_entry): ... this.
3368 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3369 (grub_normal_set_password): ...this.
3370 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3371 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3372 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3373 * grub-core/lib/legacy_parse.c: New file.
3374 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3375 * include/grub/i386/pc/vesa_modes_table.h: New file.
3376 * include/grub/legacy_parse.h: Likewise.
3377 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3378 * util/grub-menulst2cfg.c: New file.
3379
3380 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3381
3382 * grub-core/kern/emu/hostdisk.c
3383 (convert_system_partition_to_system_disk): Initialise node.
3384
3385 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3386
3387 * grub-core/kern/emu/hostdisk.c
3388 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3389 leak.
3390 Reported and based on patch by: Modestas Vainius.
3391
3392 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3393
3394 Fix DM-RAID probing with recent versions of device-mapper udev
3395 rules.
3396
3397 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3398 canonicalise device paths under /dev/mapper/.
3399 (convert_system_partition_to_system_disk): Compare the
3400 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3401 path, since device nodes under /dev/mapper/ are often symlinks.
3402
3403 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3404
3405 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3406
3407 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3408
3409 * configure.ac: Avoid some annoying error messages if freetype-config
3410 program is not found.
3411
3412 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3413
3414 Support RAID on virtio devices, and others.
3415
3416 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3417 Rename to ...
3418 [__MINGW32__] (grub_find_device): ... this.
3419 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3420 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3421 reasonable default if dir is NULL.
3422 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3423 ...
3424 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3425 (grub_guess_root_device): Update callers.
3426 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3427
3428 * util/raid.c (grub_util_getdiskname): Remove.
3429 (grub_util_raid_getmembers): Use grub_find_device rather than
3430 grub_util_getdiskname.
3431
3432 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3433
3434 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3435 needing to be compiled with serial support.
3436 (ls): Indicate that multiple files are accepted.
3437 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3438 indicate that multiple files are accepted.
3439
3440 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3441
3442 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3443 libgrub_a_init.c, and util/bash-completion.d/grub.
3444
3445 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * util/grub-setup.c (setup): Fix incorrect container semantics.
3448
3449 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3452 misusage.
3453 Reported by: J. Nick Terry
3454
3455 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Move embedding routines to partmap sources files.
3458
3459 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3460 [GRUB_UTIL]: New variable.
3461 (gpt_partition_map_iterate): Set part.parent.
3462 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3463 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3464 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3465 New function.
3466 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3467 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3468 (grub_partition_map) [GRUB_UTIL]: New field embed.
3469 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3470 (setup): Use ->embed.
3471
3472 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3475 function.
3476 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3477 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3478
3479 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3480
3481 Add function to get completions from usage.
3482
3483 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3484 completions from usage. Use LC_ALL=C to get options properly.
3485
3486 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/gnulib/basename-lgpl.c: Imported.
3489 * grub-core/gnulib/basename.c: Likewise.
3490 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3491 * grub-core/gnulib/dirname.c: Likewise.
3492 * grub-core/gnulib/dirname.h: Likewise.
3493 * grub-core/gnulib/stripslash.c: Likewise.
3494
3495 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/gnulib/error.c: Resynced.
3498 * grub-core/gnulib/getopt.c: Likewise.
3499 * grub-core/gnulib/getopt_int.h: Likewise.
3500 * grub-core/gnulib/regex.h: Likewise.
3501 * grub-core/gnulib/regex_internal.c: Likewise.
3502 * grub-core/gnulib/regex_internal.h: Likewise.
3503
3504 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3505
3506 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3507 CRC calculations and validity checks.
3508 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3509 calculations.
3510
3511 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3512
3513 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3514
3515 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Fix incorrect echo options handling.
3518 Reported by: Yves Blusseau.
3519
3520 * include/grub/command.h (grub_command_flags_t): New flags
3521 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3522 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3523 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3524
3525 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3528 users updated.
3529 (GRUB_COMMAND_FLAG_MENU): Likewise.
3530 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3531 (GRUB_COMMAND_FLAG_TITLE): Removed.
3532 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3533 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3534 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3535 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3536 (grub_command_flags_t): New enum. All users updated.
3537
3538 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3539
3540 Fix solaris compilation.
3541
3542 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3543 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3544 (grub-emu-list): Likewise.
3545
3546 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Remove deprecated root command.
3549
3550 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3551 updated.
3552
3553 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * util/i386/pc/grub-setup.c: Merge this ...
3556 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3557 * util/grub-setup.c: ... into this.
3558 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3559 New struct.
3560
3561 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3564 possible.
3565
3566 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3569 allocate p.
3570
3571 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3574 explicit root argument to set to prevent UUID to be interpreted as
3575 argument to set.
3576
3577 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3580
3581 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 Don't export grub_gate_a20.
3584
3585 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3586 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3587 to ...
3588 (grub_gate_a20): ... this. All users updated.
3589 * include/grub/i386/pc/init.h: Removed. All users updated.
3590
3591 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Create euro.pf2 which supports most European languages.
3594
3595 * Makefile.am (grubdata_DATA): Add euro.pf2.
3596 (euro.pf2): New target.
3597 (CLEANFILES): Add euro.pf2.
3598
3599 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * configure.ac: Disable emu-usb by default to prevent inadvertent
3602 device takeover.
3603
3604 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 Disable usbserial on grub-emu since our libusb code isn't good enough
3607 yet.
3608
3609 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3610 (usbserial_pl2303): Likewise.
3611 (usbserial_ftdi): Likewise.
3612
3613 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * include/grub/disk.h (grub_disk): Remove has_partitions.
3616 All users updated.
3617 * disk/loopback.c (grub_loopback): Remove has_partitions.
3618 All users updated.
3619 (options): Remove partitions. All users updated.
3620 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3621 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3622 actual partition table is found.
3623
3624 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Remove readability checks (too many false negatives).
3627
3628 * util/grub-install.in: Remove readability checks.
3629 * util/grub-mkconfig.in: Likewise.
3630 * util/grub.d/10_hurd.in: Likewise.
3631 * util/grub.d/10_kfreebsd.in: Likewise.
3632 * util/grub.d/10_linux.in: Likewise.
3633 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3634 way.
3635
3636 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 Enable acpi shutdown on all ACPI platforms.
3639
3640 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3641 on coreboo, multiboot and EFI.
3642 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3643 (grub_acpi_halt): Likewise.
3644 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3645 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3646 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3647 * grub-core/lib/i386/halt.c (grub_halt)
3648 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3649
3650 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3653 context.
3654
3655 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3658 * grub-core/video/efi_uga.c: Likewise.
3659
3660 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Filter devaliases and never open same device twice.
3663
3664 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3665 (last_ihandle): Likewise.
3666 (ofdisk_hash_ent): New member shortest.
3667 (ofdisk_hash_add): Add canonical path too.
3668 (scan): New function.
3669 (grub_ofdisk_iterate): Iterate over hashed entries.
3670 (compute_dev_path): Don't add :0.
3671 (grub_ofdisk_open): Don't really open the disk.
3672 (grub_ofdisk_close): Avoid closing unrelated disk.
3673 (grub_ofdisk_read): Implement reopen logic.
3674 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3675 New function.
3676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3677 New proto.
3678
3679 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Fix sparc64.
3682
3683 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3684 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3685 right address. Add sparc64_ieee1275_ldflags.
3686 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3687 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3688 to grub_host_to_target_addr
3689 (load_image): Likewise.
3690
3691 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/normal/completion.c (complete_file): Handle device
3694 containing slash.
3695 Fix based on patch by Doug Nazar.
3696
3697 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 grub-mknetdir script.
3700
3701 * Makefile.util.def (grub-mknetdir): New module.
3702 * tests/util/grub-shell.in: Support boot=net
3703 * util/grub-mknetdir.in: New file.
3704
3705 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 videoinfo on non-vbe.
3708
3709 * grub-core/Makefile.core.def (vbeinfo): Removed.
3710 (vbetest): Removed.
3711 (videoinfo): New module.
3712 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3713 * grub-core/commands/i386/pc/vbetest.c: Removed.
3714 * grub-core/commands/videoinfo.c: New file.
3715 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3716 specification.
3717 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3718 as vbetest.
3719 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3720 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3721 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3722 mode_number. New parameter mode. All users updated.
3723 (grub_video_gop_iterate): New function.
3724 (grub_video_efi_gop): New member iterate.
3725 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3726 (grub_vbe_set_video_mode): Remove setting useless fields.
3727 (vbe2videoinfo): New function.
3728 (grub_video_vbe_iterate): Likewise.
3729 (grub_video_vbe_setup): Use vbe2videoinfo.
3730 (grub_video_vbe_print_adapter_specific_info): New function.
3731 (grub_video_vbe_adapter): New fields iterate and
3732 print_adapter_specific_info.
3733 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3734 All users updated.
3735 (grub_video_mode_info): New field mode_number.
3736 (grub_video_adapter): New fields iterate and
3737 print_adapter_specific_info.
3738
3739 2010-09-13 Tristan Gingold <gingold@free.fr>
3740 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3741 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/commands/efi/lsefisystab.c: New file.
3744 * grub-core/commands/efi/lssal.c: Likewise.
3745 * grub-core/Makefile.core.def (lsacpi): New module.
3746 (lsefisystab): Likewise.
3747 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3748 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3749 (grub_efi_sal_system_table): New struct.
3750 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3751 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3752 (grub_efi_sal_system_table_platform_features): Likewise.
3753 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3754 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3755 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3756 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3757
3758 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 Support explicit user claim that a device is BIOS-visible.
3761
3762 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3763 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3764 * grub-core/kern/emu/hostdisk.c
3765 (convert_system_partition_to_system_disk): Support mdX.
3766 (find_system_device): New parameter add. All users updated.
3767 (grub_util_biosdisk_is_present): New function.
3768 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3769 proto.
3770
3771 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 Search hints support.
3774
3775 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3776 All users updated.
3777
3778 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3779
3780 Bash completion script for util commands
3781
3782 * Makefile.am: Add util/bash-completion.d directory
3783 * configure.ac: Likewise.
3784 * util/bash-completion.d/Makefile.am: New file.
3785 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3786
3787 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3790 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3791 Reported by: Yves Blusseau.
3792
3793 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3796 partition size and offset.
3797
3798 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3801
3802 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3805
3806 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3809 (grub_xvasprintf): Likewise.
3810
3811 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3814
3815 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3818 args ending with NULL.
3819
3820 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3823 pointer.
3824
3825 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3826
3827 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3828
3829 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 Shutdown using ACPI.
3832
3833 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3834 * grub-core/commands/acpihalt.c: New file.
3835 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3836 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3837 (grub_acpi_halt): New proto.
3838 (GRUB_ACPI_SLP_EN): New const.
3839 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3840 (GRUB_ACPI_OPCODE_*): New enum.
3841 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3842
3843 2010-09-11 Tristan Gingold <gingold@free.fr>
3844 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
3845 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * commands/lsacpi.c: New file.
3848 * grub-core/Makefile.core.def (lsacpi): New module.
3849 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3850 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3851 (grub_acpi_madt_entry_header): New struct.
3852 (grub_acpi_madt): Likewise.
3853 (grub_acpi_madt_entry_interrupt_override): Likewise.
3854 (grub_acpi_madt_entry_sapic): Likewise.
3855 (grub_acpi_madt_entry_lsapic): Likewise.
3856 (grub_acpi_madt_entry_platform_int_source): Likewise.
3857 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3858 (PRIuGRUB_UINT32_T): Likewise.
3859 (PRIxGRUB_UINT64_T): Likewise.
3860
3861 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 Implement loading palette on ieee1275_fb.
3864
3865 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3866 (have_setcolors): Likewise.
3867 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3868 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3869 (grub_video_ieee1275_set_palette): Implement.
3870
3871 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3872 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
3873
3874 * util/grub-install.in (grub_partition): New variable.
3875 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3876 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3877 Fixes a bug reported by Yves Blusseau.
3878
3879 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 Fix emu on mipsel.
3882
3883 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3884 =grub_cpu_flush_cache on all mips and not only yeeloong.
3885 * configure.ac (COND_mips): New conditional.
3886 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3887 platforms.
3888 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3889 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3890 [GRUB_LINKER_HAVE_INIT]: New function.
3891 (grub_emu_post_init): Likewise.
3892 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3893 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3894 * include/grub/cache.h (_mips): Include mips/cache.h.
3895 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3896 LVM and RAID prototypes.
3897 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3898 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3899 function.
3900
3901 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3902
3903 * util/grub-install.in: Don't try to verify core.img until after
3904 running grub-mkimage to create it.
3905
3906 2010-09-10 Robert Millan <rmh@gnu.org>
3907
3908 * util/grub.d/10_hurd.in: Add misc readability checks.
3909 * util/grub.d/10_kfreebsd.in: Likewise.
3910 * util/grub.d/10_linux.in: Likewise.
3911
3912 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3913
3914 * util/grub-install.in: ${imgext} won't be defined here until the
3915 install branch is merged. For the meantime, only verify core.img on
3916 i386-pc and sparc64-ieee1275 platforms.
3917
3918 2010-09-10 Robert Millan <rmh@gnu.org>
3919
3920 Solaris support in grub_find_zpool_from_dir(). Thanks
3921 Seth Goldberg for referring to getextmntent() facility.
3922
3923 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3924 `sys/mkdev.h'.
3925 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3926 `<sys/mnttab.h>'.
3927 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3928 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3929 method for finding zpool name.
3930
3931 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3932
3933 grub-fstest needs the host and hostfs modules while other utilities
3934 actively require those modules to be absent, so grub-fstest needs
3935 its own initialisation and finalisation code.
3936
3937 * Makefile.am (grub_fstest.pp): New target.
3938 (grub_fstest_init.lst): Likewise.
3939 (grub_fstest_init.c): Likewise.
3940 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3941
3942 2010-09-10 Robert Millan <rmh@gnu.org>
3943
3944 * configure.ac: Check for `struct statfs.f_fstypename' and
3945 `struct statfs.f_mntfromname'.
3946
3947 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3948 kFreeBSD-specific code.
3949
3950 2010-09-10 Robert Millan <rmh@gnu.org>
3951
3952 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3953 on ZFS. Now non-main filesystems are supported as / too.
3954
3955 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
3956
3957 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3958 and grub-core/disk/host.c to ...
3959 (grub-fstest): ... here. Having the host disk implementation
3960 present confuses grub-probe and other utility programs.
3961
3962 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3963 when writing to a file, not when writing to stdout.
3964
3965 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3966
3967 * tests/partmap_test.in: New test for partitions.
3968 * Makefile.util.def: Rules for new test.
3969
3970 2010-09-09 Robert Millan <rmh@gnu.org>
3971
3972 * util/grub-probe.c (probe): Fix a pair of unhandled error
3973 conditions.
3974
3975 2010-09-09 Robert Millan <rmh@gnu.org>
3976
3977 Basic Btrfs support (detection and UUID).
3978
3979 * grub-core/fs/btrfs.c: New file.
3980 * Makefile.util.def (library): Register btrfs.c.
3981 * grub-core/Makefile.core.def: Likewise.
3982
3983 2010-09-08 Robert Millan <rmh@gnu.org>
3984
3985 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3986 with (optional) parameters to specify device and relative path.
3987 * util/grub-install.in: Use is_path_readable_by_grub() to
3988 verify readability of a few critical files.
3989 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3990 verify readability of grub.cfg.new.
3991
3992 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 Split minix.mod into minix.mod and minix2.mod.
3995
3996 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3997 * grub-core/Makefile.core.def (minix2): New module.
3998 * grub-core/fs/minix.c: Use definitions instead of runtime version
3999 checking.
4000 * grub-core/fs/minix2.c: New file.
4001
4002 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4003
4004 Add new --boot-directory option to replace --root-directory
4005
4006 * util/grub-install.in: Add new --boot-directory option
4007 * util/grub-reboot.in: Likewise.
4008 * util/grub-set-default.in: Likewise.
4009
4010 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4011
4012 * util/grub-mkconfig.in: Use new variable.
4013
4014 2010-09-08 Yves Blusseau <blusseau@zetam.org>
4015
4016 * configure.ac: Define some useful variables.
4017
4018 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4021 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4022 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4023 Use terminfo and don't use cursor-on/cursor-off unless it's known
4024 to work.
4025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4026 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4027
4028 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
4029
4030 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4031 starts with "(,", fill the drive containing the loaded image in
4032 between those two characters, but expect that a full partition
4033 specification including partition map names will follow.
4034
4035 2010-09-08 Robert Millan <rmh@gnu.org>
4036
4037 * configure.ac: Remove `--enable-grub-fstest' option.
4038 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4039
4040 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4041 `grub-fstest' instead of `grub-probe' for readability verification.
4042 * util/grub-probe.c (probe): Remove readability verification kludge.
4043
4044 2010-09-08 Robert Millan <rmh@gnu.org>
4045
4046 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4047 initializing `GRUB_FS'.
4048
4049 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4050
4051 Not command (!) support to GRUB script.
4052
4053 * tests/grub_script_not.in: New test.
4054 * Makefile.util.def: Rules for new test.
4055
4056 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4057 ! command as a special case.
4058 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4059
4060 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4061
4062 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4063 grub_free.
4064
4065 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4066
4067 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4068
4069 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4070
4071 * docs/grub.texi (Shell-like scripting): Documentation for break,
4072 continue, shift and return commands.
4073
4074 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 Rename CD-ROM to cd on BIOS.
4077
4078 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4079 "cd".
4080 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4081
4082 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4085 * util/grub-probe.c (main): Likewise.
4086 * util/i386/pc/grub-setup.c (main): Likewise.
4087 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4088 Reported and debugged by: alexxy
4089
4090 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4093 diagnostic info.
4094
4095 2010-09-05 Jo Shields <directhex@apebox.org>
4096
4097 * util/grub.d/30_os-prober.in: Add missing classes.
4098
4099 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * docs/grub.texi (Theme file format): Document new position format.
4102
4103 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4106 a table. Use @code instead of @verbatim.
4107
4108 2010-09-05 Colin D Bennett <colin@gibibit.com>
4109
4110 Gfxmenu documentation.
4111
4112 * docs/grub.texi (Theme file format): New chapter.
4113
4114 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4115
4116 * grub-core/Makefile.core.def (xzio): New module.
4117 * grub-core/io/xzio.c: New file.
4118 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4119 * grub-core/lib/xzembed/xz_config.h: Likewise.
4120 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4121 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4122 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4123 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4124 * grub-core/lib/xzembed/xz_private.h: Likewise.
4125 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4126 * include/grub/file.h (grub_file_filter_id): New compression filter
4127 GRUB_FILE_FILTER_XZIO.
4128
4129 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4132 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4133 size.
4134
4135 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4138 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4139
4140 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Uncompressed checksum support.
4143
4144 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4145 (check_list): New parameter uncompress.
4146 (grub_cmd_hashsum): Handle --uncompress.
4147
4148 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Reintroduce testload.
4151
4152 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4153 from here ...
4154 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4155 (GRUB_MOD_INIT): New function.
4156 (GRUB_MOD_FINI): Likewise.
4157 * grub-core/Makefile.core.def (testload): New module.
4158
4159 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4160
4161 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4162 (uint8_t): New type.
4163 (uint16_t): Likewise.
4164 (uint32_t): Likewise.
4165 (uint64_t): Likewise.
4166
4167 2010-09-05 Szymon Janc <szymon@janc.net.pl>
4168
4169 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4170
4171 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4174 Made static.
4175 (grub_gzfile_open): Removed. All users updated.
4176 (GRUB_MOD_INIT): New function.
4177 (GRUB_MOD_FINI): Likewise.
4178 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4179 (grub_file_filters_enabled): Likewise.
4180 (grub_file_open): Handle filters.
4181 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4182 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4183 * include/grub/file.h (grub_file_filter_id_t): New type.
4184 (grub_file_filter_t): Likewise.
4185 (grub_file_filters_all): New extern variable.
4186 (grub_file_filters_enabled): Likewise.
4187 (grub_file_filter_register): New inline function.
4188 (grub_file_filter_unregister): Likewise.
4189 (grub_file_filter_disable): Likewise.
4190 (grub_file_filter_disable_compression): Likewise.
4191 * include/grub/gzio.h: Removed.
4192
4193 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4194
4195 Filename expansion support for wildcards in GRUB script.
4196
4197 * tests/grub_script_expansion.in: New test.
4198 * Makefile.util.def: Rule for new test.
4199
4200 * grub-core/commands/wildcard.c: New file, implements filename
4201 expansion support for GRUB script.
4202 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4203 * grub-core/script/argv.c: Cosmetic changes.
4204 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4205 Refactored to perform wildcard expansion on arguments.
4206 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4207 struct.
4208
4209 * tests/util/grub-shell.in: Fix quoting for read input.
4210
4211 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4212
4213 Support for updating environment variables with matched substrings
4214 of regexp.
4215
4216 * tests/grub_cmd_regexp.in: New test.
4217 * Makefile.util.def: Rule for new test.
4218
4219 * grub-core/commands/regexp.c: New option -s to update environment
4220 variables with regexp matches.
4221
4222 2010-09-04 Szymon Janc <szymon@janc.net.pl>
4223
4224 * include/grub/file.h (grub_file): New member not_easly_seekable.
4225 (grub_file_seekable): New inline function.
4226 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4227 easily seekable.
4228 (grub_gzio_open): Set not_easly_seekable.
4229 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4230 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4231
4232 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4233
4234 Support for options to appear multiple times on cmdline.
4235
4236 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4237 * grub-core/commands/extcmd.c: Support for repeatable option.
4238 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4239 repeatable option support.
4240
4241 Refactor menuentry into a regular command.
4242
4243 * grub-core/commands/menuentry.c: New file, menuentry command
4244 implementation.
4245 * grub-core/Makefile.core.def: Rule update for normal.mod.
4246 * grub-core/normal/main.c: Moved menuentry creation to
4247 grub-core/commands/menuentry.c.
4248 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4249 (grub_menu_execute_entry_real): Removed.
4250 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4251 function.
4252 (grub_script_execute_menuentry): Removed.
4253 * grub-core/script/parser.y (menuentry): Removed.
4254 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4255 * grub-core/script/yylex.l (menuentry): Removed.
4256 * include/grub/menu.h (grub_menu_init): New prototype.
4257 (grub_menu_fini): New prototype.
4258 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4259 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4260 (grub_script_execute_sourcecode): New prototype.
4261
4262 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4263
4264 "return" command for GRUB script functions.
4265
4266 * tests/grub_script_return.in: New test.
4267 * Makefile.util.def: Rules for new test.
4268
4269 * grub-core/script/execute.c (grub_script_return): New function.
4270 * grub-core/script/main.c: Register/unregister return commaond.
4271 * include/grub/script_sh.h (grub_script_return): New prototype.
4272
4273 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4274
4275 "setparams" command to update positional parameters.
4276
4277 * tests/grub_script_setparams.in: New test.
4278 * Makefile.util.def: Rules for new test.
4279
4280 * grub-core/script/argv.c (grub_script_argv_make): New function.
4281 * grub-core/script/execute.c (replace_scope): New function.
4282 (grub_script_setparams): New function.
4283 * grub-core/script/lexer.c: Remove unused variables.
4284 * grub-core/script/main.c: Register/unregister setparams command.
4285 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4286 (grub_script_setparams): New prototype.
4287
4288 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4289
4290 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4291 grub_free order.
4292
4293 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4294
4295 Support for passing block of commands as an argument to extcmds.
4296
4297 * Makefile.util.def: Rules for new test.
4298 * tests/grub_script_blockarg.in: New test.
4299 * grub-core/tests/test_blockarg.c: New file, block argument
4300 command used in the test.
4301
4302 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4303 (grub_register_extcmd_prio): New function prototype.
4304 (grub_extcmd_dispatcher): New function prototype.
4305 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4306 type.
4307 * include/grub/script_sh.h (struct grub_script): New members
4308 `children', `next_siblings' and `refcnt' for block arguments and
4309 reference counting.
4310 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4311 (grub_script_arg): New member `script' for block argument.
4312 (grub_script_argv): New member `script' for block argument.
4313 (grub_parser_param): New member `scripts' for block argument.
4314 (grub_script_mem_free): New extern function prototype.
4315 (grub_script_ref): New function prototype.
4316 (grub_script_unref): New function prototype.
4317
4318 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4319 extcmd form to support block arguments.
4320 * grub-core/script/argv.c: Block arguments support.
4321 * grub-core/script/execute.c: Likewise.
4322 * grub-core/script/lexer.c: Likewise.
4323 * grub-core/script/main.c: Likewise.
4324 * grub-core/script/script.c: Likewise.
4325 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4326 non-terminals.
4327
4328 * grub-core/commands/acpi.c: Update extcmd implementations with
4329 grub_extcmd_context_t.
4330 * grub-core/commands/cat.c: Likewise.
4331 * grub-core/commands/echo.c: Likewise.
4332 * grub-core/commands/extcmd.c: Likewise.
4333 * grub-core/commands/hashsum.c: Likewise.
4334 * grub-core/commands/hdparm.c: Likewise.
4335 * grub-core/commands/help.c: Likewise.
4336 * grub-core/commands/hexdump.c: Likewise.
4337 * grub-core/commands/i386/cpuid.c: Likewise.
4338 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4339 * grub-core/commands/i386/pc/halt.c: Likewise.
4340 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4341 * grub-core/commands/iorw.c: Likewise.
4342 * grub-core/commands/keystatus.c: Likewise.
4343 * grub-core/commands/loadenv.c: Likewise.
4344 * grub-core/commands/ls.c: Likewise.
4345 * grub-core/commands/lspci.c: Likewise.
4346 * grub-core/commands/memrw.c: Likewise.
4347 * grub-core/commands/probe.c: Likewise.
4348 * grub-core/commands/search_wrap.c: Likewise.
4349 * grub-core/commands/setpci.c: Likewise.
4350 * grub-core/commands/sleep.c: Likewise.
4351 * grub-core/disk/loopback.c: Likewise.
4352 * grub-core/hello/hello.c: Likewise.
4353 * grub-core/loader/i386/bsd.c: Likewise.
4354 * grub-core/loader/xnu.c: Likewise.
4355 * grub-core/term/gfxterm.c: Likewise.
4356 * grub-core/term/serial.c: Likewise.
4357 * grub-core/tests/lib/functional_test.c: Likewise.
4358
4359 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4360
4361 Multi-line quoted strings support.
4362
4363 * grub-core/script/lexer.c (append_newline): Removed.
4364 (grub_script_lexer_yywrap): Refactored.
4365 (grub_script_lexer_init): Refactored.
4366 * grub-core/script/yylex.l (yywrap): New function.
4367 (grub_lexer_resplit): New function.
4368 (grub_lexer_unput): New function.
4369 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4370 and resplit.
4371 * tests/grub_script_echo1.in: Added few more testcases.
4372
4373 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/kern/misc.c: Don't add abort alias in utils.
4376 Reported by: echoline.
4377
4378 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4379
4380 Add missing files into "make dist" tarball for other platforms.
4381
4382 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4383 * conf/Makefile.common (dist_noinst_DATA): New variable.
4384 * conf/Makefile.extra-dist: Added missing make dist files.
4385 * grub-core/Makefile.core.def: Likewise.
4386
4387 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Compress grub_prefix.
4390
4391 * grub-core/boot/i386/pc/lnxboot.S: Use
4392 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4393 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4394 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4395 GRUB_MACHINE_PREFIX_END. All users updated.
4396 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4397 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4398 + 0x40.
4399 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4400 * util/grub-mkimage.c (image_target_desc): Change data_end to
4401 prefix_end. All users updated.
4402
4403 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4406 value.
4407 (grub_openbsd_boot): Likewise.
4408 (grub_netbsd_boot): Likewise.
4409 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4410 (grub_xnu_boot): Likewise.
4411
4412 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * configure.ac: Clean LIBS variable after tests.
4415
4416 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4417
4418 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4419
4420 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4423 echo if libdevmapper will be used.
4424
4425 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4426
4427 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4428 constant for the same file.
4429
4430 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4433
4434 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4435
4436 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4437 grub-core/*.pp.
4438
4439 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4440
4441 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4442 required by the boot protocol.
4443
4444 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4445 ebp and edi members.
4446 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4447 state.ebp and state.edi.
4448 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4449 %ebp and %edi according to grub_relocator32_ebp and
4450 grub_relocator32_edi respectively.
4451 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4452 and state.edi.
4453
4454 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Add i386-pc-pxe image target.
4457
4458 * util/grub-mkimage.c (image_target_desc): New enum value
4459 IMAGE_I386_PC_PXE.
4460 (image_targets): New target i386-pc-pxe.
4461 (generate_image): Handle i386-pc-pxe image.
4462
4463 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 Fix grub_pxe_scan.
4466
4467 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4468 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4469 All users updated.
4470 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4471 (grub_pxe_pxenv): Correct type.
4472
4473 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4474
4475 * NEWS: Document most of the important changes since 1.98.
4476
4477 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4478
4479 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4480 generated manual page) a little.
4481
4482 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4483
4484 * docs/grub.texi: Add myself as an author.
4485
4486 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * Makefile.util.def (libgrub.a): Add missing sunpc.
4489 Reported by: Seth Goldberg.
4490
4491 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Interrupt wrapping and code simplifications.
4494
4495 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4496 x86_noieee1275 which are functionaly equivalent in this case.
4497 (grub-install): Make source on each platform explicit. Enable on
4498 all noemu.
4499 * gentpl.py (x86_efi_pc): Removed group.
4500 (x86_noefi): Likewise.
4501 (i386_noefi): Likewise.
4502 (x86_noieee1275): Likewise.
4503 (i386_noieee1275): Likewise.
4504 (i386_noefi_noieee1275): Likewise.
4505 (i386_pc_qemu_coreboot): Likewise.
4506 (i386_coreboot_multiboot): Likewise.
4507 (i386_pc_coreboot_multiboot_qemu): Likewise.
4508 (x86_noefi_mips): Likewise.
4509 (noieee1275): Likewise.
4510 (ieee1275_mips): Likewise.
4511 (noemu_noieee1275): Likewise.
4512 (cmos): New group.
4513 (usb): Likewise.
4514 (videoinkernel): Likewise.
4515 (videomodules): Likewise.
4516 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4517 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4518 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4519 include/grub/loader.h, include/grub/msdos_partition.h,
4520 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4521 include/grub/machine/console.h, include/grub/machine/vga.h,
4522 include/grub/machine/vbe.h, include/grub/machine/init.h,
4523 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4524 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4525 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4526 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4527 * grub-core/Makefile.core.def (kernel): Explicit the source for
4528 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4529 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4530 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4531 Use videoinkernel tag.
4532 (usb): Enable on all usb.
4533 (usbserial_common): Likewise.
4534 (usbserial_pl2303): Likewise.
4535 (usbserial_ftdi): Likewise.
4536 (uhci): Enable on all x86.
4537 (ohci): Enable on all pci.
4538 (cmostest): Enable on all CMOS.
4539 (acpi): Include commands/acpi.c on all platforms.
4540 (halt): Add relevant lib/*/halt.c.
4541 (hdparm): Enable on all pci.
4542 (lspci): Likewise.
4543 (usbtest): Enable on all usb.
4544 (ata): Enable on all pci.
4545 (ata_pthru): Likewise.
4546 (usbms): Enable on all usb.
4547 (usb_keyboard): Likewise.
4548 (font): Use tag videomodules.
4549 (bufio): Likewise.
4550 (datetime): Use tag cmos. Enable on all noemu.
4551 (mmap): Use tags common and x86.
4552 (gfxterm): Use tag videomodules.
4553 (bitmap): Likewise.
4554 (bitmap_scale): Likewise.
4555 (video_fb): Likewise.
4556 (video): Likewise.
4557 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4558 adjust padding accordingly. All users updated.
4559 (grub_ohci_transaction): Fix bad format specification.
4560 (GRUB_MOD_INIT): Add asserts for struct size.
4561 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4562 (grub_alloc_td): Likewise.
4563 (grub_free_queue): Likewise.
4564 (grub_uhci_transfer): Likewise.
4565 (grub_uhci_transaction): Fix bad format specification.
4566 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4567 (grub_usb_bulk_readwrite): Likewise.
4568 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4569 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4570 Made static.
4571 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4572 Made static.
4573 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4574 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4575 Transformed into C.
4576 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4577 Moved from here ...
4578 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4579 ... here. Transformed into C. Made static.
4580 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4581 Moved from here ...
4582 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4583 ... here. Transformed into C. Made static.
4584 * grub-core/kern/i386/pc/startup.S
4585 (grub_biosdisk_check_int13_extensions): Moved from here ...
4586 * grub-core/disk/i386/pc/biosdisk.c
4587 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4588 Made static.
4589 * grub-core/kern/i386/pc/startup.S
4590 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4591 * grub-core/disk/i386/pc/biosdisk.c
4592 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4593 Transformed into C. Made static.
4594 * grub-core/kern/i386/pc/startup.S
4595 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4596 * grub-core/disk/i386/pc/biosdisk.c
4597 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4598 Transformed into C. Made static.
4599 * grub-core/kern/i386/pc/startup.S
4600 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4601 * grub-core/disk/i386/pc/biosdisk.c
4602 (grub_biosdisk_get_diskinfo_standard): ... here.
4603 Transformed into C. Made static.
4604 * grub-core/kern/i386/pc/startup.S
4605 (grub_biosdisk_get_num_floppies): Moved from here ...
4606 * grub-core/disk/i386/pc/biosdisk.c
4607 (grub_biosdisk_get_num_floppies): ... here.
4608 Transformed into C. Made static.
4609 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4610 New function.
4611 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4612 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4613 Transformed into C. Made static.
4614 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4615 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4616 Transformed into C. Made static.
4617 * grub-core/kern/i386/ieee1275/init.c: Removed.
4618 * grub-core/kern/i386/misc.S: Likewise.
4619 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4620 Splitted from here ...
4621 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4622 Transformed into C. Made static. All users updated.
4623 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4624 Transformed into C. Made static. All users updated.
4625 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4626 Moved from here...
4627 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4628 Transformed into C. Made static. All users updated.
4629 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4630 Moved from here...
4631 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4632 Transformed into C. Made static. All users updated.
4633 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4634 Removed (replaced by C version).
4635 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4636 Moved from here...
4637 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4638 Transformed into C. Made static.
4639 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4640 Moved from here...
4641 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4642 ... here. Transformed into C.
4643 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4644 Moved from here...
4645 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4646 ... here. Transformed into C.
4647 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4648 Moved from here...
4649 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4650 ... here. Transformed into C. Made static.
4651 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4652 Moved from here...
4653 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4654 ... here. Transformed into C.
4655 * grub-core/kern/i386/pc/startup.S
4656 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4657 * grub-core/video/i386/pc/vbe.c
4658 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4659 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4660 Moved from here...
4661 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4662 ... here. Transformed into C.
4663 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4664 Moved from here...
4665 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4666 ... here. Transformed into C.
4667 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4668 Moved from here...
4669 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4670 ... here. Transformed into C.
4671 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4672 Moved from here...
4673 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4674 ... here. Transformed into C.
4675 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4676 Moved from here...
4677 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4678 ... here. Transformed into C. Made static.
4679 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4680 Moved from here...
4681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4682 ... here. Transformed into C. Made static.
4683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4684 Moved from here...
4685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4686 ... here. Transformed into C. Made static.
4687 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4688 pxe_rm_entry as third argument.
4689 (grub_bios_interrupt): New function.
4690 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4691 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4692 of calling grub_stop.
4693 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4694 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4695 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4696 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4697 * grub-core/lib/i386/halt.c: Moved from here ...
4698 * grub-core/lib/i386/halt.c: ... here.
4699 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4700 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4701 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4702 grub_stop_floppy.
4703 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4704 * include/grub/i386/coreboot/init.h: Removed.
4705 * include/grub/i386/multiboot/init.h: Likewise.
4706 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4707 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4708 * include/grub/i386/pc/int.h: New file.
4709 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4710 (grub_pxe_scan): Removed.
4711 (grub_pxe_call): Update prototype.
4712 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4713 prototypes.
4714 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4715 * include/grub/i386/qemu/init.h: Removed.
4716 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4717 noreturn.
4718 (grub_halt): Likewise.
4719 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4720 (grub_reboot): Likewise.
4721 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4722 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4723 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4724
4725 2010-08-30 Robert Millan <rmh@gnu.org>
4726
4727 * NEWS: Document addition of ZFS support in `grub-install' and
4728 `grub-mkconfig'.
4729
4730 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4731
4732 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4733 dprintf output.
4734
4735 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 Remove leftover embedding of font objects.
4738
4739 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4740 * util/grub-install.in (font): Removed.
4741 * util/grub-mkimage.c (generate_image): Remove font support. All users
4742 updated.
4743
4744 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Remove leftover embedding of font objects.
4747
4748 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4749 * util/grub-install.in (font): Removed.
4750 * util/grub-mkimage.c (generate_image): Remove font support. All users
4751 updated.
4752
4753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4756 Reported by: Ian Turner
4757
4758 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4761 timeout to avoid indefinite boot stalling.
4762
4763 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4766 (grub_env_write_color_highlight): Likewise.
4767
4768 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/normal/term.c (print_more): Return to normal and not
4771 to standard state after printing "---MORE---".
4772
4773 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4776 Mask out the bit 0x80 since it has other meaning that specifiing color.
4777
4778 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 New relocator. Allows for more kernel support and more straightforward
4781 loader writing.
4782
4783 * Makefile.am (BOOTTARGET): New variable.
4784 (QEMU32): Likewise.
4785 (linux.init.x86_64): New target.
4786 (linux.init.i386): Likewise.
4787 (multiboot.elf): Likewise.
4788 (kfreebsd.elf): Likewise.
4789 (kfreebsd.aout): Likewise.
4790 (pc-chainloader.elf): Likewise.
4791 (pc-chainloader.bin): Likewise.
4792 (ntldr.elf): Likewise.
4793 (ntldr.bin): Likewise.
4794 (multiboot2.elf): Likewise.
4795 (kfreebsd.init.x86_64): Likewise.
4796 (kfreebsd.init.i386): Likewise.
4797 (knetbsd.init.i386): Likewise.
4798 (kopenbsd.init.i386): Likewise.
4799 (knetbsd.init.x86_64): Likewise.
4800 (kopenbsd.init.x86_64): Likewise.
4801 (linux-initramfs.i386): Likewise.
4802 (linux-initramfs.x86_64): Likewise.
4803 (kfreebsd-mfsroot.i386.img): Likewise.
4804 (knetbsd.image.i386): Likewise.
4805 (kopenbsd.image.i386): Likewise.
4806 (kopenbsd.image.x86_64): Likewise.
4807 (knetbsd.miniroot-image.i386.img): Likewise.
4808 (kfreebsd-mfsroot.x86_64.img): Likewise.
4809 (knetbsd.image.x86_64): Likewise.
4810 (knetbsd.miniroot-image.x86_64.img): Likewise.
4811 (kfreebsd-mfsroot.i386.gz): Likewise.
4812 (bootcheck-kfreebsd-i386): Likewise.
4813 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4814 (bootcheck-kfreebsd-x86_64): Likewise.
4815 (knetbsd.miniroot-image.i386.gz): Likewise.
4816 (bootcheck-knetbsd-i386): Likewise.
4817 (bootcheck-kopenbsd-i386): Likewise.
4818 (bootcheck-kopenbsd-x86_64): Likewise.
4819 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4820 (bootcheck-knetbsd-x86_64): Likewise.
4821 (bootcheck-linux-i386): Likewise.
4822 (bootcheck-linux-x86_64): Likewise.
4823 (bootcheck-linux16-i386): Likewise.
4824 (bootcheck-linux16-x86_64): Likewise.
4825 (bootcheck-multiboot): Likewise.
4826 (bootcheck-multiboot2): Likewise.
4827 (bootcheck-kfreebsd-aout): Likewise.
4828 (bootcheck-pc-chainloader): Likewise.
4829 (bootcheck-ntldr): Likewise.
4830 (CLEANFILES): Add new targets.
4831 (BOOTCHECKS): New variable.
4832 (.PHONY): Add bootchecks.
4833 (SUCCESSFUL_BOOT_STRING): New variable.
4834 (BOOTCHECK_TIMEOUT): Likewise.
4835 (bootcheck): New target
4836 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4837 * configure.ac: Correct efiemu excuse.
4838 * docs/grub.texi (Supported kernels): New chapter.
4839 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4840 include/grub/mm_private.h. Simplify inclusion of
4841 include/grub/boot.h, include/grub/loader.h
4842 and include/grub/msdos_partition.h
4843 (KERNEL_HEADER_FILES) [i386_coreboot]:
4844 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4845 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4846 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4847 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4848 include/grub/machine/loader.h.
4849 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4850 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4851 extra_dist.
4852 (pci.mod): Enable on i386-multiboot.
4853 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4854 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4855 i386-qemu.
4856 (relocator.mod): Rewritten.
4857 (aout.mod): Enable on all x86.
4858 (bsd.mod): Likewise.
4859 (ntldr.mod): New module.
4860 (linux.mod): Use loader/i386/linux.c on all x86.
4861 (xnu.mod): Enable on all x86.
4862 (vga_text.mod): disable on EFI and QEMU.
4863 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4864 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4865 * grub-core/efiemu/loadcore.c: Likewise.
4866 * grub-core/efiemu/main.c: Likewise.
4867 (grub_efiemu_exit_boot_services): Removed.
4868 (grub_efiemu_finish_boot_services): Likewise.
4869 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4870 function.
4871 * grub-core/efiemu/i386/nocfgtables.c: New file.
4872 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4873 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4874 (grub_efi_finish_boot_services): Moved from here ...
4875 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4876 Fille finish memory map and related data.
4877 (finish_mmap_buf): New variable.
4878 (grub_efi_uintn_t finish_mmap_size): Likewise.
4879 (grub_efi_uintn_t finish_key): Likewise.
4880 (grub_efi_uintn_t finish_desc_size): Likewise.
4881 (grub_efi_uint32_t finish_desc_version): Likewise.
4882 (grub_efi_is_finished): Likewise.
4883 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4884 finished.
4885 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4886 (grub_elf64_phdr_iterate): Likewise.
4887 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4888 (grub_os_area_size): Likewise.
4889 (grub_machine_init): Don't reserve os area.
4890 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4891 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4892 * grub-core/kern/i386/loader.S: Removed.
4893 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4894 (grub_os_area_size): Likewise.
4895 (grub_machine_init): Don't reserve os area.
4896 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4897 Don't call grub_dl_unload_all.
4898 Don't include loader.S.
4899 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4900 Declare the memory after _end as available.
4901 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
4902 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
4903 (GRUB_MM_ALLOC_MAGIC): Moved from here...
4904 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4905 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4906 * include/grub/mm_private.h (grub_mm_header): ... here.
4907 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4908 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
4909 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4910 (grub_mm_region): ..here. Removed addr. Added pre_size.
4911 All users updated.
4912 * grub-core/kern/mm.c (base): Renamed to ...
4913 (grub_mm_base): ... this. Made global.
4914 (grub_real_malloc): Alloc from end of region.
4915 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4916 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4917 * grub-core/kern/powerpc/cache_flush.S: ... here.
4918 * grub-core/lib/efi/relocator.c: New file.
4919 * grub-core/lib/i386/relocator.c: Rewritten.
4920 * grub-core/lib/i386/relocator16.S: New file.
4921 * grub-core/lib/i386/relocator32.S: Likewise.
4922 * grub-core/lib/i386/relocator64.S: Likewise.
4923 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4924 * grub-core/lib/i386/relocator_common.S: New file.
4925 * grub-core/lib/ieee1275/relocator.c: Likewise.
4926 * grub-core/lib/mips/relocator.c: Rewritten.
4927 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4928 stylistic adjustments.
4929 * grub-core/lib/powerpc/relocator.c: New file.
4930 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4931 * grub-core/lib/relocator.c: Rewritten.
4932 * grub-core/lib/x86_64/relocator_asm.S: New file.
4933 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4934 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4935 (bsd_tag): New struct.
4936 (tags): New variable.
4937 (tags_last): Likewise.
4938 (netbsd_module): New struct.
4939 (netbsd_mods): New variable.
4940 (netbsd_mods_last): Likewise.
4941 (openbsd_opts): New parameter "serial".
4942 (OPENBSD_SERIAL_ARG): New definition.
4943 (netbsd_opts): New parameter "serial".
4944 (NETBSD_SERIAL_ARG): New definition.
4945 (grub_freebsd_add_meta): Reorganised into ...
4946 (grub_bsd_add_meta): ...this. All users updated.
4947 (grub_freebsd_add_mmap): Reorganised into ...
4948 (generate_e820_mmap): ...this...
4949 (grub_bsd_add_mmap): ...and this. All users updated.
4950 (grub_freebsd_list_modules): Use tags.
4951 (grub_netbsd_add_meta_module): New function.
4952 (grub_netbsd_list_modules): Likewise.
4953 (grub_freebsd_boot): Use relocator and finish EFI.
4954 (grub_openbsd_boot): Likewise.
4955 (grub_netbsd_setup_video): New function.
4956 (grub_netbsd_add_modules): Likewise.
4957 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4958 and finish EFI.
4959 (grub_bsd_unload): Unload tags.
4960 (grub_bsd_load_aout): Use relocator.
4961 (grub_bsd_elf32_size_hook): New function.
4962 (grub_bsd_elf32_hook): Use relocator.
4963 (grub_bsd_elf64_size_hook): New function.
4964 (grub_bsd_elf64_hook): Use relocator.
4965 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4966 (grub_bsd_load): Zero-out openbsd_ramdisk.
4967 (grub_bsd_load): Use relocator.
4968 (grub_cmd_openbsd): Support serial.
4969 (grub_cmd_netbsd): Support modules.
4970 (grub_cmd_freebsd_module): Use relocator.
4971 (grub_netbsd_module_load): New function.
4972 (grub_cmd_netbsd_module): Likewise.
4973 (grub_cmd_openbsd_ramdisk): Likewise.
4974 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4975 kopenbsd_ramdisk.
4976 (GRUB_MOD_FINI): Unregister new commands.
4977 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4978 (grub_freebsd_load_elfmodule_obj): Use relocator.
4979 (grub_freebsd_load_elfmodule): Likewise.
4980 (grub_freebsd_load_elf_meta): Likewise.
4981 (grub_netbsd_load_elf_meta): New function.
4982 (grub_openbsd_find_ramdisk): Likewise.
4983 * grub-core/loader/i386/bsd_helper.S: Removed.
4984 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4985 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4986 * grub-core/loader/i386/efi/linux.c: Likewise.
4987 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4988 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4989 (DEFAULT_VIDEO_MODE): Likewise.
4990 (real_mode_target): New variable.
4991 (prot_mode_target): Likewise.
4992 (initrd_mem_target): Likewise.
4993 (relocator): Likewise.
4994 (efi_mmap_buf): Likewise.
4995 (efi_mmap_size): Likewise.
4996 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4997 (free_pages): Use relocator.
4998 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4999 (grub_linux_setup_video): Return error.
5000 (grub_linux_trampoline_start): Removed.
5001 (grub_linux_trampoline_end): Likewise.
5002 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5003 andd video parameters depending on firmware.
5004 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5005 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5006 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5007 (grub_cmd_initrd): Use relocator.
5008 * grub-core/loader/i386/linux_trampoline.S: Removed.
5009 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5010 (elf_sec_entsize): Likewise.
5011 (elf_sec_shstrndx): Likewise.
5012 (elf_sections): Likewise.
5013 (grub_multiboot_load): Use relocator.
5014 (grub_multiboot_get_mbi_size): Account for sections.
5015 (grub_multiboot_make_mbi): Use relocator and support sections.
5016 (grub_multiboot_add_elfsyms): New function.
5017 (grub_multiboot_free_mbi): Free sections.
5018 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5019 (grub_linux_real_target): Likewise.
5020 (grub_linux_real_chunk): Likewise.
5021 (grub_linux16_prot_size): Likewise.
5022 (grub_linux16_boot): Use relocator.
5023 (grub_linux_unload): Unload relocator.
5024 (grub_cmd_linux): Use relocator.
5025 (grub_cmd_initrd): Likewise.
5026 * grub-core/loader/i386/pc/ntldr.c: New file.
5027 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5028 Don't try to guess CPU frequency.
5029 (grub_xnu_set_video): Stretch bitmap.
5030 (grub_xnu_boot): Use relocator.
5031 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5032 (grub_linux_unload): Free relocator.
5033 (grub_linux_load32): Use relocator.
5034 (grub_linux_load64): Likewise.
5035 (grub_cmd_initrd): Likewise.
5036 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5037 (grub_multiboot_unload): Unload relocator.
5038 (grub_cmd_multiboot): Use relocator.
5039 (grub_cmd_module): Likewise.
5040 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5041 Use relocator and support sections.
5042 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5043 (elf_sec_entsize): Likewise.
5044 (elf_sec_shstrndx): Likewise.
5045 (elf_sections): Likewise.
5046 (grub_multiboot_load): Use relocator.
5047 (grub_multiboot_get_mbi_size): Account for sections.
5048 (grub_multiboot_make_mbi): Use relocator and support sections.
5049 (grub_multiboot_add_elfsyms): New function.
5050 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5051 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5052 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5053 Prototype changed. All users updated.
5054 (grub_xnu_align_heap): Simplified.
5055 (grub_xnu_writetree_toheap): Likewise.
5056 (grub_xnu_unload): Unload relocator.
5057 (grub_cmd_xnu_kernel): Use relocator.
5058 (grub_cmd_xnu_kernel64): Likewise.
5059 (grub_xnu_register_memory): Simplified.
5060 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
5061 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5062 EFI is finished.
5063 (grub_console_checkkey): Likewise.
5064 (grub_console_getkey): Likewise.
5065 (grub_console_getwh): Likewise.
5066 (grub_console_getxy): Likewise.
5067 (grub_console_gotoxy): Likewise.
5068 (grub_console_cls): Likewise.
5069 (grub_console_setcolorstate): Likewise.
5070 (grub_console_setcursor): Likewise.
5071 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5072 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5073 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5074 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5075 * grub-core/tests/boot/kernel-8086.S: Likewise.
5076 * grub-core/tests/boot/kernel-i386.S: Likewise.
5077 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5078 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5079 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5080 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5081 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5082 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5083 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5084 * grub-core/tests/boot/linux.cfg: Likewise.
5085 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5086 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5087 * grub-core/tests/boot/linux16.cfg: Likewise.
5088 * grub-core/tests/boot/multiboot.cfg: Likewise.
5089 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5090 * grub-core/tests/boot/ntldr.cfg: Likewise.
5091 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5092 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5093 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5094 New definition.
5095 * include/grub/dl.h (grub_dl_unload_all): Removed.
5096 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5097 (grub_efi_finish_boot_services): Change prototype.
5098 (grub_efi_is_finished): New variable.
5099 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5100 Changed prototype.
5101 (grub_efiemu_finish_boot_services): Removed.
5102 (grub_machine_efiemu_init_tables): New prototype.
5103 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5104 (grub_elf64_phdr_iterate): Likewise.
5105 * include/grub/i386/bsd.h: Include relocator.h.
5106 (freebsd_tag_header): New struct.
5107 (grub_openbsd_bios_mmap): Removed.
5108 (grub_unix_real_boot): Removed.
5109 (grub_freebsd_load_elfmodule32): Changed prototype.
5110 (grub_freebsd_load_elfmodule_obj64): Likewise.
5111 (grub_freebsd_load_elf_meta32): Likewise.
5112 (grub_freebsd_load_elf_meta64): Likewise.
5113 (grub_freebsd_add_meta): Removed.
5114 (grub_netbsd_load_elf_meta32): New prototype.
5115 (grub_netbsd_load_elf_meta64): Likewise.
5116 (grub_bsd_add_meta): Likewise.
5117 (grub_openbsd_ramdisk_descriptor): New struct.
5118 (grub_openbsd_find_ramdisk32): New prototype.
5119 (grub_openbsd_find_ramdisk64): Likewise.
5120 * include/grub/i386/coreboot/loader.h: Removed.
5121 * include/grub/i386/efi/loader.h: Likewise.
5122 * include/grub/i386/ieee1275/loader.h: Likewise.
5123 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5124 to grub_uint32_t.
5125 * include/grub/i386/loader.h: Removed.
5126 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5127 value.
5128 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5129 (grub_phys_addr_t): New type.
5130 (grub_vtop): New inline function.
5131 (grub_map_memory): Likewise.
5132 (grub_unmap_memory): Likewise.
5133 * include/grub/i386/multiboot/loader.h: Removed.
5134 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5135 (NETBSD_BTINFO_CONSOLE): New definition.
5136 (NETBSD_BTINFO_SYMTAB): Likewise.
5137 (NETBSD_BTINFO_MODULES): Likewise.
5138 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5139 (grub_netbsd_bootinfo): New struct.
5140 (grub_netbsd_btinfo_common): Use explicit bitsize.
5141 (grub_netbsd_btinfo_mmap_entry): Removed.
5142 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5143 (grub_netbsd_btinfo_bootdisk): New struct.
5144 (grub_netbsd_btinfo_symtab): Likewise.
5145 (grub_netbsd_btinfo_serial): Likewise.
5146 (grub_netbsd_btinfo_modules): Likewise.
5147 (grub_netbsd_btinfo_framebuf): Likewise.
5148 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5149 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5150 Likewise.
5151 (grub_openbsd_bootargs): Use explicit bitsize.
5152 (grub_openbsd_bootarg_console): New struct.
5153 (GRUB_OPENBSD_COM_MAJOR): New definition.
5154 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5155 * include/grub/i386/pc/efiemu.h: Removed.
5156 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5157 * include/grub/i386/qemu/loader.h: Removed.
5158 * include/grub/i386/relocator.h: Rewritten.
5159 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5160 * include/grub/mips/memory.h: New file.
5161 * include/grub/mips/multiboot.h: Rewritten.
5162 * include/grub/mips/relocator.h: Rewritten.
5163 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5164 (grub_vtop): New function.
5165 (grub_map_memory): Likewise.
5166 (grub_unmap_memory): Likewise.
5167 * include/grub/misc.h (ALIGN_DOWN): New definition.
5168 * include/grub/mm.h (grub_mm_check_real): New proto.
5169 (GRUB_MM_CHECK): New definition.
5170 * include/grub/mm_private.h: New file.
5171 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5172 (grub_multiboot_get_mbi_size): Removed.
5173 (grub_multiboot_make_mbi): Change prottype.
5174 (grub_multiboot_set_accepts_video): New proto.
5175 (grub_multiboot_add_elfsyms): Likewise.
5176 (grub_multiboot_payload_eip): New variable.
5177 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5178 New prototype.
5179 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5180 New definition.
5181 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5182 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5183 * include/grub/powerpc/ieee1275/loader.h: Removed.
5184 * include/grub/powerpc/memory.h: New file.
5185 * include/grub/powerpc/relocator.h: Likewise.
5186 * include/grub/relocator.h: Likewise.
5187 * include/grub/relocator_private.h: Likewise.
5188 * include/grub/sparc64/ieee1275/loader.h: Removed.
5189 * include/grub/x86_64/memory.h: New file.
5190 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5191 (grub_xnu_heap_malloc): Likewise.
5192 (grub_xnu_heap_real_start): Removed.
5193 (grub_xnu_heap_start): Likewise.
5194 (grub_xnu_relocator): New variable.
5195 (grub_xnu_heap_target_start): Likewise.
5196 * tests/util/grub-shell.in: Support non-pc.
5197 * util/grub-mkimage.c (image_targets): Fix multiboot target.
5198
5199 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5202 on malloc error.
5203 (grub_bidi_logical_to_visual): Check that malloc succeded.
5204 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5205 puts.
5206 (grub_xputs_normal): Likewise.
5207
5208 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5211 extra_dist.
5212
5213 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5216
5217 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5220
5221 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5224 dprintf.
5225
5226 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5227
5228 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5229
5230 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/normal/term.c (print_more): Fix a memory leak.
5233 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5234 (grub_xputs_normal): Likewise.
5235
5236 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5239 the begining of the string
5240
5241 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/script/script.c (grub_script_parse): Free parsed on
5244 failure.
5245
5246 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5249 on failure.
5250
5251 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5254 return.
5255
5256 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5259 (scroll_up): Fix a memory leak.
5260
5261 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5264 errors.
5265
5266 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Handle USB pendrives exposed as floppies.
5269
5270 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5271 floppy.
5272 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5273 Check for partitions on all devices.
5274
5275 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5278 (readkey): Likewise.
5279
5280 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5281
5282 Multiple variable names support to "export" command.
5283
5284 * normal/context.c (grub_cmd_export): "export" command supports
5285 multiple variable names.
5286
5287 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5288
5289 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5290 --target=drive output to Mach device name.
5291
5292 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5293
5294 New Automake based build system for GRUB.
5295
5296 * ABOUT-NLS: New file.
5297 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5298 in Makefile.util.def file.
5299 * Makefile.util.def: New file. Autogen build definitions file for
5300 GRUB host utils.
5301 * conf/Makefile.common: New file. Common variables for GRUB host
5302 utils and target modules.
5303 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5304 * docs/Makefile.am: New file. Automake file for docs.
5305 * gentpl.py: New file. Python script to generate Autogen
5306 template.
5307 * grub-core/Makefile.am: New file. GRUB target modules' rules
5308 that doesn't fit in Makefile.core.def file.
5309 * grub-core/Makefile.core.def: New file. Autogen build
5310 definitions file for GRUB target modules.
5311 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5312 specific setjmp.S file.
5313 * po/Makefile.am: New file.
5314
5315 * .bzrignore: New ignores.
5316 * INSTALL: New requirements, without Ruby.
5317 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5318 * autogen.sh: Updated to invoke autogen as necessary.
5319 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5320 and defines for Automake conditionals.
5321 * geninit.sh: Refactoring.
5322
5323 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5324 necessary.
5325 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5326 New prototype.
5327
5328 * include/grub/test.h: Fix functional test modules' naming.
5329 * grub-core/tests/example_functional_test.c: Fix test module name.
5330
5331 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5332 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5333 * util/grub-editenv.c: Likewise.
5334 * util/grub-fstest.c: Likewise.
5335 * util/grub-mkdevicemap.c: Likewise.
5336 * util/grub-mkfont.c: Likewise.
5337 * util/grub-mkimage.c: Likewise.
5338 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5339 * util/grub-probe.c: Likewise.
5340 * util/grub-script-check.c: Likewise.
5341 * util/i386/pc/grub-setup.c: Likewise.
5342 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5343
5344 * tests/util/grub-shell.in: Fix override directory path.
5345 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5346 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5347
5348 * util/lvm.c: Update #includes.
5349 * util/raid.c: Likewise.
5350 * util/resolve.c: Likewise.
5351 * grub-core/bus/emu/pci.c: Likewise.
5352 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5353 * grub-core/lib/posix_wrap/string.h: Likewise.
5354 * grub-core/kern/emu/main.c: Likewise.
5355
5356 * grub-core/gensymlist.sh: New file. Script for generating kernel
5357 symbols file.
5358 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5359
5360 * grub-core/gentrigtables.c: Fix unused variable warnings.
5361
5362 * Makefile.in: Removed.
5363 * conf/any-emu.rmk: Removed.
5364 * conf/common.rmk: Removed.
5365 * conf/i386-coreboot.rmk: Removed.
5366 * conf/i386-efi.rmk: Removed.
5367 * conf/i386-ieee1275.rmk: Removed.
5368 * conf/i386-multiboot.rmk: Removed.
5369 * conf/i386-pc.rmk: Removed.
5370 * conf/i386-qemu.rmk: Removed.
5371 * conf/i386.rmk: Removed.
5372 * conf/mips-yeeloong.rmk: Removed.
5373 * conf/mips.rmk: Removed.
5374 * conf/powerpc-ieee1275.rmk: Removed.
5375 * conf/sparc64-ieee1275.rmk: Removed.
5376 * conf/tests.rmk: Removed.
5377 * conf/x86-efi.rmk: Removed.
5378 * conf/x86_64-efi.rmk: Removed.
5379 * gendistlist.sh: Removed.
5380 * geninitheader.sh: Removed.
5381 * genkernsyms.sh.in: Removed.
5382 * genmk.rb: Removed.
5383 * gensymlist.sh.in: Removed.
5384 * mkinstalldirs: Removed.
5385 * boot: Moved ...
5386 * grub-core/boot: ... to here.
5387 * bus: Moved ...
5388 * grub-core/bus: ... to here.
5389 * commands: Moved ...
5390 * grub-core/commands: ... to here.
5391 * disk: Moved ...
5392 * grub-core/disk: ... to here.
5393 * efiemu: Moved ...
5394 * grub-core/efiemu: ... to here.
5395 * font: Moved ...
5396 * grub-core/font: ... to here.
5397 * fs: Moved ...
5398 * grub-core/fs: ... to here.
5399 * gencmdlist.sh: Moved ...
5400 * grub-core/gencmdlist.sh: ... to here.
5401 * genemuinit.sh: Moved ...
5402 * grub-core/genemuinit.sh: ... to here.
5403 * genemuinitheader.sh: Moved ...
5404 * grub-core/genemuinitheader.sh: ... to here.
5405 * genfslist.sh: Moved ...
5406 * grub-core/genfslist.sh: ... to here.
5407 * genhandlerlist.sh: Moved ...
5408 * grub-core/genhandlerlist.sh: ... to here.
5409 * genmoddep.awk: Moved ...
5410 * grub-core/genmoddep.awk: ... to here.
5411 * genmodsrc.sh: Moved ...
5412 * grub-core/genmodsrc.sh: ... to here.
5413 * genpartmaplist.sh: Moved ...
5414 * grub-core/genpartmaplist.sh: ... to here.
5415 * genparttoollist.sh: Moved ...
5416 * grub-core/genparttoollist.sh: ... to here.
5417 * genterminallist.sh: Moved ...
5418 * grub-core/genterminallist.sh: ... to here.
5419 * gentrigtables.c: Moved ...
5420 * grub-core/gentrigtables.c: ... to here.
5421 * genvideolist.sh: Moved ...
5422 * grub-core/genvideolist.sh: ... to here.
5423 * gettext: Moved ...
5424 * grub-core/gettext: ... to here.
5425 * gfxmenu: Moved ...
5426 * grub-core/gfxmenu: ... to here.
5427 * gnulib: Moved ...
5428 * grub-core/gnulib: ... to here.
5429 * hello: Moved ...
5430 * grub-core/hello: ... to here.
5431 * hook: Moved ...
5432 * grub-core/hook: ... to here.
5433 * io: Moved ...
5434 * grub-core/io: ... to here.
5435 * kern: Moved ...
5436 * grub-core/kern: ... to here.
5437 * lib: Moved ...
5438 * grub-core/lib: ... to here.
5439 * loader: Moved ...
5440 * grub-core/loader: ... to here.
5441 * mmap: Moved ...
5442 * grub-core/mmap: ... to here.
5443 * normal: Moved ...
5444 * grub-core/normal: ... to here.
5445 * partmap: Moved ...
5446 * grub-core/partmap: ... to here.
5447 * parttool: Moved ...
5448 * grub-core/parttool: ... to here.
5449 * script: Moved ...
5450 * grub-core/script: ... to here.
5451 * term: Moved ...
5452 * grub-core/term: ... to here
5453 * tests/example_functional_test.c: Moved ...
5454 * grub-core/tests/example_functional_test.c: ... to here.
5455 * tests/lib/functional_test.c: Moved ...
5456 * grub-core/tests/lib/functional_test.c: ... to here.
5457 * tests/lib/test.c: Moved ...
5458 * grub-core/tests/lib/test.c: ... to here.
5459 * video: Moved ...
5460 * grub-core/video: ... to here.
5461
5462 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5463
5464 Replace --enable-grub-emu-modules with grub-emu-lite.
5465
5466 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5467 cache.S.
5468
5469 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5470 * kern/emu/full.c: New file. For grub-emu specific initialization.
5471 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5472 * kern/emu/main.c: Call initialization function grub_emu_init.
5473
5474 * Makefile.in: Include grub-emu-lite in install.
5475 * commands/parttool.c: Use grub_no_autoload to differentiate
5476 between grub-emu and grub-emu-lite.
5477 * include/grub/misc.h: New variable grub_no_autoload.
5478
5479 * conf/any-emu.rmk: New rules for grub-emu-lite.
5480 * configure.ac: Remove --enable-grub-emu-modules.
5481 * genmk.rb: Cleanup unnecessary rules.
5482 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5483
5484 * normal/main.c: Don't load list files on grub-emu-lite.
5485 * util/misc.c (grub_arch_sync_caches): Removed.
5486
5487 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5490 grub-mkimage rather than grub-mkelfimage.
5491 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5492
5493 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5496 a key after CapsLock or NumLock. It's just a qemu bug.
5497
5498 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5501 needed by libusb wrapper.
5502
5503 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5504
5505 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5506
5507 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5510 --nounzip is passed.
5511
5512 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 USB hotunplugging and USB serial support.
5515
5516 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5517 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5518 (grub_uhci_transfer): Respect timeout and set *actual.
5519 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5520 non-standard length.
5521 (grub_usb_device_attach): Autoload modules.
5522 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5523 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5524 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5525 users updated.
5526 (grub_usb_add_hub): Fill nports and children.
5527 (attach_root_port): Receive hub instead of controller.
5528 All users updated. Fill hub->devices.
5529 (grub_usb_root_hub): Allocate hub->devices.
5530 (detach_device): New function.
5531 (poll_nonroot_hub): Fill children and detach devices.
5532 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5533 actual arguments. All users updated.
5534 (grub_usb_bulk_read_extended): New function.
5535 * bus/usb/serial/common.c: New file.
5536 * bus/usb/serial/ftdi.c: Likewise.
5537 * bus/usb/serial/pl2303.c: Likewise.
5538 * commands/terminal.c (handle_command): Support wildcard.
5539 * commands/usbtest.c: Output "Unknown" instead of empty string.
5540 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5541 (usbserial_common_mod_SOURCES): New variable.
5542 (usbserial_common_mod_CFLAGS): Likewise.
5543 (usbserial_common_mod_LDFLAGS): Likewise.
5544 (pkglib_MODULES): Add usbserial_pl2303.mod.
5545 (usbserial_pl2303_mod_SOURCES): New variable.
5546 (usbserial_pl2303_mod_CFLAGS): Likewise.
5547 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5548 (pkglib_MODULES): Add usbserial_ftdi.mod.
5549 (usbserial_ftdi_mod_SOURCES): New variable.
5550 (usbserial_ftdi_mod_CFLAGS): Likewise.
5551 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5552 (pkglib_MODULES): Add serial.mod.
5553 (serial_mod_SOURCES): New variable.
5554 (serial_mod_CFLAGS): Likewise.
5555 (serial_mod_LDFLAGS): Likewise.
5556 * conf/i386-pc.rmk: Likewise.
5557 * conf/mips-yeeloong.rmk: Likewise.
5558 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5559 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5560 * disk/usbms.c (first_available_slot): New variable.
5561 (grub_usbms_attach): Don't reuse free slots due to potential cache
5562 problems.
5563 * include/grub/serial.h: Moved to ..
5564 * include/grub/ns8250.h: ...this.
5565 * include/grub/serial.h: New file.
5566 * include/grub/term.h (grub_term_poll_usb): New variable.
5567 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5568 readkey. All users updated.
5569 (grub_terminfo_output_state): Pass term to put.
5570 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5571 (grub_usb_controller_dev): Add timeout and actual arguments to
5572 transfer. All users updated.
5573 (grub_usb_interface): New field detach_data.
5574 (grub_usb_device): New fields children and nports.
5575 (grub_usb_ep_type_t): New type.
5576 (grub_usb_get_ep_type): New function.
5577 (grub_usb_bulk_read_extended): Likewise.
5578 * include/grub/usbdesc.h (grub_usb_desc): New type.
5579 * include/grub/usbserial.h: New file.
5580 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5581 * kern/term.c (grub_term_poll_usb): New variable.
5582 (grub_getkey): Call grub_term_poll_usb if set.
5583 (grub_checkkey): Likewise.
5584 (grub_getkeystatus): Likewise.
5585 * term/serial.c: Moved controller-specific parts to ...
5586 * term/ns8250.c: ... here.
5587 * term/serial.c: Mostly rewritten.
5588 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5589 according to spec.
5590
5591 2010-08-20 Robert Millan <rmh@gnu.org>
5592
5593 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5594 a separate module and maybe other interesting combinations.
5595
5596 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5597 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5598 (kfreebsd_entry): Add generic filesystem module load routine.
5599 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5600
5601 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5602
5603 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5604 "numcenter" (I misunderstood the purpose of this entry).
5605 * docs/grub.texi (sendkey): Likewise.
5606
5607 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5608
5609 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5610 status flag options; simply omitting the option is equivalent and
5611 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5612 (keysym_table): Rename "num5numlock" to "numlock".
5613 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5614 can uniformly say that only the last of multiple `sendkey'
5615 invocations has any effect.
5616 * docs/grub.texi (sendkey): New section.
5617
5618 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * commands/i386/pc/sendkey.c (options): Fix three typos.
5621
5622 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 Implement sendkey support.
5625
5626 * commands/i386/pc/sendkey.c: New file.
5627 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5628 (sendkey_mod_SOURCES): New variable.
5629 (sendkey_mod_CFLAGS): Likewise.
5630 (sendkey_mod_LDFLAGS): Likewise.
5631
5632 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5633
5634 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5635 fix warnings from Autoconf.
5636
5637 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5638
5639 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5640 to avoid false positives with some assemblers that output things
5641 like "someprefix_func" as part of their output.
5642
5643 2010-08-15 Robert Millan <rmh@gnu.org>
5644
5645 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5646 errors.
5647 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5648 grub_get_libzfs_handle() errors.
5649
5650 2010-08-14 Robert Millan <rmh@gnu.org>
5651
5652 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5653 filesystem is not ZFS.
5654
5655 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5656
5657 Fix for misspelled color names defaulting to black/black (bug
5658 reported by Doug Nazar)
5659
5660 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5661 status to prototype.
5662 * normal/color.c (grub_parse_color_name_pair): Return failure
5663 status.
5664 (grub_env_write_color_normal): Ignore bad color names.
5665 (grub_env_write_color_highlight): Likewise.
5666 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5667
5668 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5669
5670 "shift" command support to GRUB script.
5671
5672 * include/grub/script_sh.h (grub_script_shift): New prototype.
5673 * script/execute.c (grub_script_shift): New function.
5674 * script/main.c (grub_script_init): Register shift command.
5675 (grub_script_fini): Unregister shift command.
5676 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5677
5678 * tests/grub_script_shift.in: New testcase.
5679 * conf/tests.rmk: Rules for new testcase.
5680
5681 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5682
5683 "continue" command support to GRUB script.
5684
5685 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5686 (grub_script_break): Continue support.
5687 * script/main.c (grub_script_init): Register continue command.
5688 (grub_script_fini): Unregister continue command.
5689
5690 * tests/grub_script_continue.in: New testcase.
5691 * conf/tests.rmk: Rules for new testcase.
5692
5693 2010-08-12 BVK Chaitanya <bvk@dbook>
5694
5695 "break" command support to GRUB script.
5696
5697 * conf/common.rmk: Rule updates to grub-script-check.
5698 * include/grub/misc.h (grub_min): New function.
5699 * include/grub/script_sh.h (grub_script_init): New prototype.
5700 (grub_script_fini): New prototype.
5701 (grub_script_break): New prototype.
5702 * script/main.c (grub_script_init): New function.
5703 (grub_script_fini): New function.
5704 * script/execute.c (grub_script_break): New function.
5705 * normal/main.c: Calls to grub_script_{init,fini}.
5706 * util/grub-script-check.c (grub_script_break): New function.
5707
5708 * tests/grub_script_break.in: New testcase.
5709 * conf/tests.rmk: Rules for new test case.
5710
5711 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5712
5713 Function parameters support to GRUB script.
5714
5715 * script/yylex.l (VARIABLE): Regular expression update.
5716 * script/function.c (grub_script_function_call): Moved ...
5717 * script/execute.c (grub_script_function_call): ... to here.
5718 (grub_script_execute_arglist_to_argv): Removed.
5719 (grub_script_arglist_to_argv): New function.
5720 * script/argv.c: New file.
5721 (grub_script_argv_free): New function.
5722 (grub_script_argv_next): Likewise.
5723 (grub_script_argv_append): Likewise.
5724 (grub_script_argv_split_append): Likewise.
5725 * include/grub/script_sh.h (grub_script_argv): New struct.
5726 (grub_script_argv_free): New function.
5727 (grub_script_argv_next): Likewise.
5728 (grub_script_argv_append): Likewise.
5729 (grub_script_argv_split_append): Likewise.
5730
5731 * conf/common.rmk (normal.mod): New source script/argv.c.
5732
5733 * tests/grub_script_echo1.in: More tests.
5734 * tests/grub_script_vars1.in: Likewise.
5735 * tests/grub_script_functions.in: New test case.
5736 * conf/tests.rmk: Rules for new testcase.
5737
5738 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5739
5740 Remove grub_script_cmdblock struct.
5741
5742 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5743 * script/parser.y: Likewise.
5744 * script/execute.c: Rename cmdblock suffix to cmdlist.
5745 * script/script.c: Likewise.
5746 * util/grub-script-check.c: Likewise.
5747
5748 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5749
5750 * .bzrignore: add grub-macho2img
5751
5752 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5755
5756 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 Remove the dump of sm712 initialisation sequence.
5759
5760 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5761 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5762 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5763 (GRUB_VGA_CR_*): Added many registers.
5764 (GRUB_VGA_SR_*): Likewise.
5765 (GRUB_VGA_GR_*): Likewise.
5766 (grub_vga_write_arx): New function.
5767 (grub_video_hw_config): New struct.
5768 (grub_vga_set_geometry): New function.
5769 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5770 GRUB_PCI_CLASS_SUBCLASS_VGA.
5771 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5772 * video/sm712.c (grub_sm712_write_reg): New function
5773 (grub_sm712_read_reg): Likewise.
5774 (grub_sm712_sr_write): Likewise.
5775 (grub_sm712_gr_write): Likewise.
5776 (grub_sm712_cr_write): Likewise.
5777 (grub_sm712_write_arx): Likewise.
5778 (grub_sm712_cr_shadow_write): Likewise.
5779 (grub_sm712_write_dda_lookup): Likewise.
5780 (grub_video_sm712_setup): Initialise the video rather then
5781 blindly replay the dump.
5782 (main) [TEST]: Add a routine to be able to compile as standalone for
5783 tests.
5784 * video/sm712_init.c (sm712_init): Removed.
5785 (sm712_sr_seq1): New array.
5786 (sm712_sr_seq2): Likewise.
5787
5788 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * include/grub/vga.h: Add missing grub/pci.h include.
5791
5792 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5793
5794 * util/grub-macho2img.c (main): fix typo
5795
5796 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5799 (grub_vga_gr_read): Likewise.
5800 (grub_vga_cr_write): Likewise.
5801 (grub_vga_cr_read): Likewise.
5802 (grub_vga_sr_write): Likewise.
5803 (grub_vga_sr_read): Likewise.
5804 (grub_vga_palette_read): Likewise.
5805 (grub_vga_palette_write): Likewise.
5806 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5807 (grub_sm712_sr_read): New function.
5808 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5809 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5810
5811 2010-08-09 Robert Millan <rmh@gnu.org>
5812
5813 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5814 out unused variables on non-ZFS build.
5815
5816 2010-08-08 Robert Millan <rmh@gnu.org>
5817
5818 Fix path generation for sub-filesystems in ZFS.
5819
5820 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5821 missing slash.
5822
5823 2010-08-08 Robert Millan <rmh@gnu.org>
5824
5825 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5826
5827 2010-08-08 Robert Millan <rmh@gnu.org>
5828
5829 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5830 exist, issue a proper error message (rely on `ls' for translated
5831 strings).
5832
5833 2010-08-08 Robert Millan <rmh@gnu.org>
5834
5835 Fix grub-probe invocation.
5836
5837 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5838
5839 2010-08-04 Robert Millan <rmh@gnu.org>
5840
5841 * configure.ac: Remove checks for getfsstat() and getmntany().
5842 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5843 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5844 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5845 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5846 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5847 function.
5848 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5849 via find_mount_point_from_dir() and getfsstat() / getmntany().
5850
5851 2010-08-04 Robert Millan <rmh@gnu.org>
5852
5853 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5854 (grub_find_zpool_from_mount_point): Merge into ...
5855 (grub_find_zpool_from_dir): ... this.
5856 * kern/emu/misc.c: Likewise.
5857
5858 * kern/emu/misc.c
5859 (grub_make_system_path_relative_to_its_root): Replace
5860 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5861 with grub_find_zpool_from_dir().
5862 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5863
5864 2010-08-04 Robert Millan <rmh@gnu.org>
5865
5866 Support OpenSolaris in ZFS device resolution.
5867
5868 * configure.ac: Check for getmntany().
5869 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5870 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5871 support.
5872
5873 2010-08-03 Robert Millan <rmh@gnu.org>
5874
5875 Fix grub-emu build.
5876
5877 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5878 * include/grub/emu/misc.h: ... here.
5879
5880 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5881 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5882
5883 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5884 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5885 (grub_get_libzfs_handle): Move to ...
5886 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5887 (grub_get_libzfs_handle): ... here.
5888
5889 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5890
5891 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5892 as command name case.
5893
5894 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
5895
5896 * disk/raid.c (insert_array): Select unique numbers for named arrays
5897 as well, for use as keys in the disk cache.
5898
5899 2010-08-01 Robert Millan <rmh@gnu.org>
5900
5901 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5902 kFreeBSD device name, except on ZFS where the filesystem label is
5903 used.
5904 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5905 `/boot/zfs/zpool.cache'.
5906 Set mountfrom kernel variable using ${kfreebsd_device}.
5907
5908 2010-08-01 Robert Millan <rmh@gnu.org>
5909
5910 Make it even harder to use uninitialized `libzfs_handle' (and
5911 make the interface a bit simpler).
5912
5913 * include/grub/util/misc.h (grub_util_init_libzfs)
5914 (libzfs_handle): Remove.
5915 (grub_get_libzfs_handle): New prototype.
5916
5917 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5918 attribute.
5919 (grub_util_init_libzfs): Remove.
5920 (grub_get_libzfs_handle): New function.
5921
5922 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5923 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5924 accessing `libzfs_handle' directly.
5925
5926 2010-08-01 Robert Millan <rmh@gnu.org>
5927
5928 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5929 (grub_find_zpool_from_mount_point): New function prototypes.
5930
5931 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5932 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5933
5934 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5935 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5936 `static' attribute.
5937
5938 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5939 finding zpool from mount point into ...
5940 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5941
5942 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5943 requested path is part of a ZFS pool, use
5944 grub_find_zpool_from_mount_point() to detect its filesystem name,
5945 and generate a path with `/fsname@path' syntax.
5946
5947 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5948
5949 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5950 (void) rather than () so that this is a proper prototype.
5951
5952 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5955
5956 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5959 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5960
5961 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5962
5963 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5964
5965 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5966
5967 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5968
5969 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5970
5971 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5972 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5973 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5974 disable gfxpayload.
5975 (Shell-like scripting): Add real content.
5976 (Serial terminal): Suggest `terminal_input serial; terminal_output
5977 serial' rather than putting the two commands on separate lines,
5978 since console input will be inoperative after the first command.
5979 (menuentry): Document --class, --users, and --hotkey options.
5980 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5981 Vladimir Serbinenko).
5982
5983 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5984 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5985
5986 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5987
5988 2010-08-01 Robert Millan <rmh@gnu.org>
5989
5990 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5991 (grub_find_zpool_from_mount_point): New function prototypes.
5992
5993 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5994 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5995
5996 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5997 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5998 `static' attribute.
5999
6000 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6001 finding zpool from mount point into ...
6002 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6003
6004 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6005 requested path is part of a ZFS pool, use
6006 grub_find_zpool_from_mount_point() to detect its filesystem name,
6007 and generate a path with `/fsname@path' syntax.
6008
6009 2010-08-01 Robert Millan <rmh@gnu.org>
6010
6011 Prevent accidental use of uninitialized libzfs_handle.
6012
6013 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6014 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6015 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6016
6017 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
6018
6019 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6020 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6021
6022 2010-08-01 Robert Millan <rmh@gnu.org>
6023
6024 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
6025
6026 2010-07-31 Robert Millan <rmh@gnu.org>
6027
6028 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6029
6030 2010-07-31 Robert Millan <rmh@gnu.org>
6031
6032 * kern/emu/misc.c: Add missing license header.
6033
6034 2010-07-31 Robert Millan <rmh@gnu.org>
6035
6036 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6037
6038 * include/grub/util/libnvpair.h: Include `<config.h>'.
6039 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6040 declaring libnvpair prototypes ourselves.
6041 * include/grub/util/libzfs.h: Include `<config.h>'.
6042 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6043 declaring libzfs prototypes ourselves.
6044
6045 (libzfs_handle): Moved to ...
6046 * include/grub/util/misc.h (libzfs_handle): ... here.
6047 Include `<grub/util/libzfs.h>'.
6048
6049 2010-07-30 Robert Millan <rmh@gnu.org>
6050
6051 * include/grub/emu/misc.h: Add missing license header.
6052
6053 2010-07-30 Robert Millan <rmh@gnu.org>
6054
6055 Enable `grub-probe -t device' resolution on ZFS.
6056
6057 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6058 * include/grub/util/libnvpair.h: New file.
6059 * include/grub/util/libzfs.h: New file.
6060
6061 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6062 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6063 `<grub/util/libnvpair.h>'.
6064 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6065
6066 (find_mount_point_from_dir): New static function.
6067 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6068 function.
6069 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6070 find_root_device_from_libzfs() before ressorting to find_root_device().
6071
6072 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6073 prototype.
6074 * util/misc.c: Include `<grub/util/libzfs.h>'.
6075 (grub_util_init_libzfs): New function.
6076 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6077 [HAVE_LIBZFS] (fini_libzfs): New static function.
6078 (grub_util_init_libzfs): New function.
6079 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6080
6081 2010-07-30 Robert Millan <rmh@gnu.org>
6082
6083 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6084 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6085 `warn_unused_result' attribute.
6086 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6087 (grub_xasprintf, grub_xvasprintf): Likewise.
6088 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6089
6090 2010-07-29 Robert Millan <rmh@gnu.org>
6091
6092 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6093 (probe): Handle `PRINT_FS_LABEL'.
6094 (main): Handle `-t fs_label'.
6095
6096 2010-07-29 Robert Millan <rmh@gnu.org>
6097
6098 * configure.ac: Remove grub-mkisofs checks.
6099
6100 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6103 Reported by: Lennart Sorensen.
6104
6105 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6108 prior to terminal_input/terminal_output separation. It's been over 1.5
6109 years and those versions weren't widely deployed.
6110
6111 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
6112
6113 * disk/raid.c (insert_array): Don't count named arrays when looking
6114 for unused array numbers.
6115 Reported and tested by: Michael Guntsche.
6116
6117 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6120 implementation of this so that grub-emu links again, with a note
6121 that this should support hotplugging in the future.
6122
6123 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6124
6125 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6126
6127 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6130 handle on failure.
6131 (grub_loopback_close): Remove empty function.
6132 (grub_loopback_dev): Remove close method.
6133
6134 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6135
6136 Disable EFI cursor when the EFI console becomes inactive.
6137
6138 * term/efi/console.c (grub_efi_console_init): New function.
6139 (grub_efi_console_fini): New function.
6140 (grub_console_term_output): Register init and fini methods.
6141
6142 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6145 sh script.
6146
6147 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * disk/loopback.c (grub_loopback): Replace filename with file.
6150 (delete_loopback): Handle new semantics.
6151 (grub_cmd_loopback): Likewise.
6152 (grub_loopback_iterate): Likewise.
6153 (grub_loopback_close): Likewise.
6154
6155 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6158 with -p "".
6159 Reported by: Tito Keitel.
6160
6161 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * docs/grub.texi (Naming convention): Document new naming convention.
6164
6165 2010-07-20 Vadim Solomin <vadic052@gmail.com>
6166 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6167
6168 Generate device.map in something closer to the old ordering.
6169
6170 * util/deviceiter.c (struct device): New declaration.
6171 (compare_file_names): Rename to ...
6172 (compare_devices): ... this. Sort by kernel name in preference to
6173 the stable by-id name, but keep the latter as a fallback comparison.
6174 Update header comment.
6175 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6176 of `struct device' rather than of plain file names.
6177
6178 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6179
6180 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6181 on i386.
6182
6183 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6186 hardcoding size.
6187 (setv1table): Likewise.
6188
6189 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6190
6191 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6192 removing the homehost if present.
6193 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6194 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6195 removing the homehost if present.
6196 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6197 if possible.
6198 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6199
6200 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6201 parameter. Set its pointer target to 0.
6202 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6203 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6204 `data_offset' value from the superblock for 1.x metadata.
6205 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6206 data on the device.
6207 (insert_array): Record the start sector of data on the device.
6208 (grub_raid_register): Pass start_sector parameters to
6209 grub_raid_list->detect and insert_array.
6210 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6211 member.
6212 (struct grub_raid): Add start_sector parameter to `detect'.
6213
6214 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6215 __attribute__ ((packed)), leaving a comment.
6216 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6217 (grub_mdraid_detect_09): ... here and ...
6218 (grub_mdraid_detect_1x): ... here.
6219
6220 2010-07-20 Peter Henn <peter.henn@web.de>
6221
6222 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6223 chunk size and disk size, which are already given as sector counts
6224 as distinct from the 0.90 units. Fetch the correct device number
6225 from the role table instead of using the table index.
6226
6227 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
6228
6229 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6230 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6231 (WriteMostly1): New macro.
6232 Set array->name to NULL for metadata format 0.90. Add support for
6233 metadata 1.x. Fix some comments.
6234 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6235 few comments.
6236 * util/getroot.c (grub_util_get_grub_dev): Add support for
6237 /dev/md/name style devices.
6238
6239 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
6240
6241 * .bzrignore: Ignore 20_linux_xen.
6242
6243 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
6244
6245 * util/import_unicode.py: Remove unnecessary imports.
6246
6247 2010-07-17 Aleš Nesrsta <starous@volny.cz>
6248
6249 Hotplugging and USB hub support.
6250
6251 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6252 (grub_ohci): Likewise.
6253 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6254 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6255 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6256 (GRUB_OHCI_CTRL_EDS): Likewise.
6257 (GRUB_OHCI_BULK_EDS): Likewise.
6258 (GRUB_OHCI_TDS): Likewise.
6259 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6260 (grub_ohci_ed_phys2virt): New function.
6261 (grub_ohci_virt_to_phys): Likewise.
6262 (grub_ohci_td_phys2virt): Likewise.
6263 (grub_ohci_td_virt2phys): Likewise.
6264 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6265 attachment.
6266 (grub_ohci_find_ed): New function.
6267 (grub_ohci_alloc_td): Likewise.
6268 (grub_ohci_free_td): Likewise.
6269 (grub_ohci_free_tds): Likewise.
6270 (grub_ohci_transfer): Use previously allocated memory.
6271 (grub_ohci_portstatus): Reset status changed bit.
6272 (grub_ohci_detect_dev): Supply status changed.
6273 (grub_ohci_fini_hw): Free memory.
6274 (grub_ohci_restore_hw): Reallocate memory.
6275 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6276 Reset status change.
6277 (grub_uhci_detect_dev): Supply status_change.
6278 * bus/usb/usb.c (attach_hooks): New var.
6279 (grub_usb_device_attach): New function.
6280 (grub_usb_register_attach_hook_class): Likewise.
6281 (grub_usb_unregister_attach_hook_class): Likewise.
6282 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6283 (grub_usb_add_hub): Reset connection changed bit.
6284 (attach_root_port): New function.
6285 (grub_usb_root_hub): Likewise.
6286 (poll_nonroot_hub): Likewise.
6287 (grub_usb_poll_devices): Likewise.
6288 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6289 * disk/usbms.c (grub_usbms_open): Use device hooks.
6290 (grub_usbms_iterate) :Poll devices.
6291 (grub_usbms_finddevs): Split into ...
6292 (grub_usbms_attach): ... this ...
6293 (grub_usbms_attach): ... and this.
6294 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6295 in detect_dev.
6296 (grub_usb_interface): New fields attached and detach_hook.
6297 (grub_usb_attach_hook_class): New type.
6298 (grub_usb_attach_desc): New struct.
6299 (grub_usb_register_attach_hook_class): New function.
6300 (grub_usb_unregister_attach_hook_class): Likewise.
6301 (grub_usb_poll_devices): Likewise.
6302 (grub_usb_device_attach): Likewise.
6303 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6304 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6305
6306 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6309 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6310 delta determination style. Works with most NetBSD partitions too.
6311
6312 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6315 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6316
6317 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6320
6321 2010-07-14 Anton Blanchard <anton@samba.org>
6322
6323 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6324 ET_DYN files.
6325
6326 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6327
6328 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6329
6330 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6331
6332 * kern/partition.c (grub_partition_check_containment): New function to
6333 check that a partition is physically contained in a parent. Since
6334 offsets are relative (and non-negative), this reduces to checking that
6335 the partition ends before its parent.
6336 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6337 (grub_partition_iterate): Likewise.
6338 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6339 comments.
6340 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6341 partitions that start before their parent, and add debug printfs.
6342
6343 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6344
6345 * Makefile.in (.SUFFIX): Spell correctly, as ...
6346 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6347 bare module name without `.mod', e.g. `test') tried to invoke a
6348 Modula-2 compiler.
6349
6350 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6351
6352 * README: Point to the Info manual.
6353
6354 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6355
6356 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6357 2nd superblock position from partition size.
6358
6359 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6360
6361 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6362 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6363 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6364 outputs.
6365
6366 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Restructure SCSI .id handling.
6369 Reported and tested by: Aleš Nesrsta.
6370
6371 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6372 (grub_atapi_dev): Changed .name to "ata". New field .id.
6373 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6374 (grub_usbms_dev): New field .id.
6375 * disk/scsi.c (grub_scsi_iterate): Generate name.
6376 (grub_scsi_open): Parse name.
6377 * include/grub/scsi.h (grub_make_scsi_id): New function.
6378 (grub_scsi_dev): Change iterate and open to number instead of naming
6379 busses. All users updated.
6380 (grub_scsi): Remove name. Add .bus.
6381
6382 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * commands/help.c (grub_cmd_help): Fix a typo.
6385
6386 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6389 Reported and tested by: Colin Watson.
6390
6391 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6394 in this context.
6395
6396 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6399
6400 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6401
6402 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6403 indentation.
6404
6405 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6408 and disk/raid6_recover.c.
6409 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6410 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6411
6412 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6413
6414 * term/gfxterm.c (repaint_schedulded): Rename to ...
6415 (repaint_scheduled): ... this. Update all callers.
6416 (repaint_was_schedulded): Rename to ...
6417 (repaint_was_scheduled): ... this. Update all callers.
6418
6419 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6420
6421 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6422 which we expect to be handled by upper layers.
6423
6424 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6425
6426 * bus/usb/usbhub.c: #include time.h header.
6427
6428 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6429
6430 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6431 entry_name also for entries without stat blocks (e.g. ".."); fixes
6432 corruption of the first entry in a directory.
6433
6434 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6435
6436 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6437 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6438 doesn't work otherwise.
6439
6440 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6441
6442 * docs/grub.texi (Features): Update list of supported file systems.
6443 (GNU/Linux): Update for GRUB 2.
6444 (Serial terminal): Remove mention of --disable-serial, which was a
6445 GRUB Legacy configure option. Update instructions to use
6446 `terminal_input' and `terminal_output' rather than `terminal'.
6447 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6448 configuration' and `Installing GRUB using grub-install'.
6449 (Menu entry editor): Update for GRUB 2.
6450 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6451 Document new -a, -u, and -v options.
6452 (initrd): New section.
6453 (initrd16): New section.
6454 (linux): New section.
6455 (linux16): New section.
6456 (search): The `var' argument to `--set' is optional.
6457 (GRUB only offers a rescue shell): Go into a little more detail on
6458 drive ordering.
6459
6460 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6461
6462 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6463
6464 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6465
6466 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6467 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6468
6469 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6470
6471 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6472 install_prefix, in line with install_dos_part and install_bsd_part.
6473 Add new prefix variable, which is copied to install_prefix after
6474 comparing core.img in memory with the one read from disk in the
6475 no-embedding case, and use that rather than overwriting
6476 install_prefix immediately when installing to a partition.
6477 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6478 Bicakci.
6479
6480 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6481
6482 * configure.ac: Avoid == in test command, it's not portable.
6483 * util/grub.d/30_os-prober.in: Likewise.
6484
6485 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6486
6487 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6488
6489 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6490
6491 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6492 multiple (top-level) partmaps.
6493
6494 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6497 Reported by: Tino Keitel.
6498
6499 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Bidi and diacritics support.
6502
6503 * Makefile.in (widthspec.bin): New target.
6504 (widthspec.h): Likewise.
6505 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6506 * autogen.sh: Generate unidata.c.
6507 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6508 * commands/ls.c (grub_ls_list_devices): Likewise.
6509 (grub_ls_list_files): Likewise.
6510 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6511 (grub_mini_cmd_lsmod): Likewise.
6512 * commands/read.c: Likewise.
6513 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6514 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6515 * lib/arg.c (grub_arg_show_help): Likewise.
6516 * lib/crypto.c (grub_password_get): Likewise.
6517 * normal/auth.c (grub_username_get): Likewise.
6518 * normal/misc.c (grub_normal_print_device_info): Likewise.
6519 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6520 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6521 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6522 (normal/charset.c_DEPENDENCIES): New variable.
6523 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6524 (pkglib_MODULES): Remove charset.mod.
6525 (charset_mod_SOURCES): Removed.
6526 (charset_mod_CFLAGS): Likewise.
6527 (charset_mod_LDFLAGS): Likewise.
6528 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6529 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6530 and term/tparm.c.
6531 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6532 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6533 (kernel_img_HEADERS): Add terminfo.h.
6534 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6535 Fill ->font. Reverse ascii bitmaps.
6536 (grub_font_get_xheight): New function.
6537 * font/font.c (grub_font_get_string_width): Moved from here ...
6538 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6539 * font/font.c (grub_font_draw_string): Moved from here ...
6540 * gfxmenu/font.c (grub_font_draw_string): ... here.
6541 * font/font.c (grub_font_dup_glyph): New function.
6542 (grub_font_blit_glyph): Likewise.
6543 (grub_font_blit_glyph_mirror): Likewise.
6544 (blit_comb): Likewise.
6545 (grub_font_construct_dry_run): Likewise.
6546 (grub_font_get_constructed_device_width): Likewise.
6547 (grub_font_construct_glyph): Likewise.
6548 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6549 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6550 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6551 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6552 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6553 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6554 (grub_font_get_xheight): New proto.
6555 (grub_font_get_constructed_device_width): Likewise.
6556 (grub_font_construct_glyph): Likewise.
6557 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6558 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6559 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6560 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6561 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6562 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6563 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6564 (grub_console_getcharwidth): Likewise.
6565 * include/grub/misc.h (grub_xputs): New proto.
6566 (grub_puts): Inlined.
6567 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6568 (grub_normal_get_line_counter): Removed.
6569 (grub_install_newline_hook): Likewise.
6570 (grub_normal_get_char_counter): New proto.
6571 (grub_normal_reset_more): Likewise.
6572 (grub_xputs_normal): Likewise.
6573 * include/grub/powerpc/ieee1275/console.h: Removed.
6574 * include/grub/sparc64/ieee1275/console.h: Likewise.
6575 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6576 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6577 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6578 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6579 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6580 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6581 (grub_term_input): Pass reference to self. All users updated.
6582 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6583 Pass reference to self. New fields normal_color, highlight_color and
6584 data. All users updated.
6585 (grub_putchar): Removed.
6586 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6587 (grub_unicode_estimate_width): New function.
6588 (grub_term_getcharwidth): Add defaults.
6589 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6590 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6591 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6592 (grub_cls): Remove EXPORT_FUNC.
6593 (grub_setcolorstate): Inline.
6594 (grub_newline_hook): Removed.
6595 * include/grub/terminfo.h: Rewritten. All users updated.
6596 * include/grub/unicode.h: New file.
6597 * include/grub/video.h (grub_video_signed_rect): New type.
6598 * kern/emu/console.c (grub_console_highlight_color): Removed.
6599 (grub_console_normal_color): Likewise.
6600 (grub_console_standard_color): Made static.
6601 (grub_ncurses_putchar): Remove mapping.
6602 (grub_ncurses_getcharwidth): Removed.
6603 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6604 (grub_ncurses_setcolor): Removed.
6605 (grub_ncurses_getcolor): Likewise.
6606 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6607 (grub_console_putchar): ... this.
6608 (grub_console_putchar): Handle argument difference.
6609 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6610 console_init_early and console_init_lately.
6611 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6612 * kern/misc.c (grub_puts): Removed.
6613 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6614 (grub_vsnprintf_real): Remove str = NULL support.
6615 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6616 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6617 * kern/term.c (grub_putcode): Renamed to ...
6618 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6619 (grub_putchar): Removed.
6620 (grub_xputs_dumb): New function.
6621 (grub_xputs): New variable.
6622 * lib/charset.c: Move from here ...
6623 * normal/charset.c: ... to here.
6624 (grub_ucs4_to_utf8): New function.
6625 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6626 (join_types): New variable.
6627 (unpack_join): New function.
6628 (bidi_types): New variable.
6629 (unpack_bidi): New function.
6630 (get_bidi_type): Likewise.
6631 (get_join_type): Likewise.
6632 (is_mirrored): Likewise.
6633 (grub_unicode_get_comb_type): Likewise.
6634 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6635 (is_type_after): Likewise.
6636 (grub_unicode_aglomerate_comb): Likewise.
6637 (bidi_line_wrap): Likewise.
6638 (grub_bidi_line_logical_to_visual): Likewise.
6639 (grub_bidi_logical_to_visual): Likewise.
6640 (grub_unicode_mirror_code): Likewise.
6641 (grub_unicode_shape_code): Likewise.
6642 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6643 Don't use grub_putchar.
6644 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6645 (grub_normal_reader_init): Likewise.
6646 (grub_xputs_saved): New variable.
6647 (GRUB_MOD_INIT): Set grub_xputs.
6648 (GRUB_MOD_FINI): Restore grub_xputs.
6649 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6650 (menu_init): Avoid printing gfxmenu error.
6651 (show_menu): Use grub_normal_get_char_counter.
6652 * normal/menu_entry.c (update_screen): Fix out-of-array.
6653 (complete): Avoid NULL dereferencing.
6654 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6655 * normal/menu_text.c (print_spaces): Removed.
6656 (grub_print_ucs4): Likewise.
6657 (grub_print_message_indented): Use grub_print_ucs4.
6658 (print_message): Use grub_putcode.
6659 (print_entry): Hanlde diacritics.
6660 * normal/term.c (term_state): New type.
6661 (grub_more_lines): Removed.
6662 (term_states): New variable.
6663 (grub_normal_line_counter): Renamed to ..
6664 (grub_normal_char_counter): ...this. All users updated.
6665 (grub_normal_get_line_counter): Renamed to ...
6666 (grub_normal_get_char_counter): ... this.
6667 (grub_normal_reset_more): New function.
6668 (process_newline): Removed.
6669 (print_more): New function.
6670 (grub_install_newline_hook): Removed.
6671 (map_code): New function.
6672 (grub_puts_terminal): Use grub_print_ucs4.
6673 (putglyph): New function.
6674 (putcode_real): Likewise.
6675 (grub_putcode): Use putcode_real.
6676 (get_maxwidth): New function.
6677 (get_startwidth): Likewise.
6678 (print_ucs4_terminal): Likewise.
6679 (find_term_state): Likewise.
6680 (put_glyphs_terminal): Likewise.
6681 (print_backlog): Likewise.
6682 (print_ucs4_real): Likewise.
6683 (grub_print_ucs4): Likewise.
6684 (grub_xputs_normal): Likewise.
6685 * term/efi/console.c (grub_console_putchar): Output diacritics.
6686 (grub_console_getcharwidth): Removed.
6687 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6688 * term/gfxterm.c (clear_char): Free chars.
6689 (scroll_up): Avoid leaking memory.
6690 (grub_gfxterm_putchar): Support diacritics.
6691 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6692 * term/i386/pc/console.c (grub_console_term_output): Declare as
6693 GRUB_TERM_CODE_TYPE_VGA.
6694 * term/i386/pc/vga.c (grub_vga_term): Declare as
6695 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6696 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6697 GRUB_TERM_CODE_TYPE_VGA.
6698 * term/i386/vga_common.c (map_char): Removed.
6699 (grub_console_putchar): Likewise.
6700 (grub_console_getcharwidth): Likewise.
6701 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6702 (colors): Reordered to match terminfo.
6703 (grub_ofconsole_normal_color): Removed.
6704 (grub_ofconsole_writeesc): Likewise.
6705 (grub_ofconsole_highlight_color): Likewise.
6706 (grub_ofconsole_getcharwidth): Likewise.
6707 (grub_ofconsole_setcolorstate): Likewise.
6708 (grub_ofconsole_setcolor): Likewise.
6709 (grub_ofconsole_getcolor): Likewise.
6710 (grub_ofconsole_readkey): Renamed to ...
6711 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6712 key.
6713 (grub_ofconsole_checkkey): Removed.
6714 (grub_ofconsole_getkey): Likewise.
6715 (grub_ofconsole_getxy): Likewise.
6716 (grub_ofconsole_gotoxy): Likewise.
6717 (grub_ofconsole_cls): Likewise.
6718 (grub_ofconsole_refresh): Likewise.
6719 (grub_ofconsole_terminfo_input): New struct.
6720 (grub_ofconsole_terminfo_output): Likewise.
6721 (grub_ofconsole_term_input): Use terminfo.
6722 (grub_ofconsole_term_output): Likewise.
6723 (grub_console_init): Split into ...
6724 (grub_console_init_early): ...this and ...
6725 (grub_console_init_lately): ...this. Use terminfo.
6726 (grub_ofconsole_putchar): Renamed to ...
6727 (put): ... this. Remove mapping.
6728 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6729 * term/serial.c: Simplify using terminfo.
6730 (xpos): Removed.
6731 (ypos): Likewise.
6732 (keep_track): Likewise.
6733 (registered): Likewise.
6734 (input_buf): Likewise.
6735 (npending): Likewise.
6736 (serial_translate_key_sequence): Likewise.
6737 (fill_input_buf): Likewise.
6738 (grub_serial_checkkey): Likewise.
6739 (grub_serial_getkey): Likewise.
6740 (grub_serial_getxy): Likewise.
6741 (grub_serial_gotoxy): Likewise.
6742 (grub_serial_putchar): Likewise.
6743 (grub_serial_cls): Likewise.
6744 (grub_serial_setcolorstate): Likewise.
6745 (grub_serial_setcursor): Likewise.
6746 (serial_hw_init): Use serial_hw_fetch.
6747 (grub_serial_terminfo_input): New variable.
6748 (grub_serial_terminfo_output): Likewise.
6749 (grub_serial_term_input): Use terminfo.
6750 (grub_serial_term_output): Likewise.
6751 * term/terminfo.c (putstr): Use put.
6752 (grub_terminfo_all_free): New function
6753 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6754 (grub_terminfo_output_register): New function.
6755 (grub_terminfo_output_unregister): Likewise.
6756 (grub_terminfo_getxy): Likewise.
6757 (grub_terminfo_readkey): Likewise.
6758 (grub_terminfo_checkkey): Likewise.
6759 (grub_terminfo_getkey): Likewise.
6760 (grub_terminfo_input_init): Likewise.
6761 (print_terminfo): Likewise.
6762 (grub_cmd_terminfo): Handle encoding.
6763 (grub_terminfo_gotoxy): Track position.
6764 (grub_terminfo_cls): Likewise.
6765 (grub_terminfo_putchar): Likewise.
6766 (grub_terminfo_setcolorstate): Handle colors
6767 (grub_terminfo_cursor_on): This ...
6768 (grub_terminfo_cursor_off): ... and this merged into ...
6769 (grub_terminfo_setcursor): ... this.
6770 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6771 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6772 * unicode/BidiMirroring.txt: Likewise.
6773 * unicode/UnicodeData.txt: Likewise.
6774 * unicode/COPYING: Likewise.
6775 * util/grub-editenv.c (grub_putchar): Removed.
6776 (grub_xputs_real): New function.
6777 (grub_xputs): New variable.
6778 * util/grub-fstest.c (grub_putchar): Removed.
6779 (grub_xputs_real): New function.
6780 (grub_xputs): New variable.
6781 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6782 (grub_xputs_real): New function.
6783 (grub_xputs): New variable.
6784 * util/grub-probe.c (grub_putchar): Removed.
6785 (grub_xputs_real): New function.
6786 (grub_xputs): New variable.
6787 * util/grub-script-check.c (grub_putchar): Removed.
6788 (grub_xputs_real): New function.
6789 (grub_xputs): New variable.
6790 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6791 (grub_xputs_real): New function.
6792 (grub_xputs): New variable.
6793 * util/import_unicode.py: New file.
6794 * util/grub-mkfont.c (ft_errmsgs): New array.
6795 (grub_glyph_info): Make bitmap a pointer.
6796 (file_formats): New type WIDTH_SPEC.
6797 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6798 (options): Add width-spec.
6799 (help): Likewise.
6800 (add_char): Renamed to ...
6801 (add_glyph): ... this.
6802 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6803 (glyph_replace): New type.
6804 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6805 (add_char): New function.
6806 (add_subst): Likewise.
6807 (process_cursive): Likewise.
6808 (add_font): Handle GSUB.
6809 (write_font_width_spec): New function.
6810 (main): Sort glyphs.
6811 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6812 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6813 * kern/term.c (grub_cls): Moved from here...
6814 * normal/term.c (grub_cls): ... here.
6815
6816 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6819 suitable for using within the format argument of printf when
6820 converting grub_size_t.
6821 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6822 "x" to convert grub_size_t arguments.
6823
6824 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6827 too long captions.
6828 (list_get_minimal_size): Take selection box into account.
6829
6830 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6833 NULL font.
6834
6835 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6836
6837 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6838 devices when iterating over /dev/disk/by-id; they will be handled
6839 later if appropriate, which they aren't always (e.g. LVM).
6840
6841 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6842
6843 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6844 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6845 fails.
6846 (grub_halt): Likewise.
6847 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6848 reset-all fails.
6849 (grub_halt): Don't return, even if all of shut-down, power-off, and
6850 poweroff fail.
6851
6852 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6853
6854 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6855 arguments, not three.
6856
6857 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6860 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6861 LVM-on-RAID is handled correctly.
6862
6863 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6864
6865 * docs/grub.texi (Changes from GRUB Legacy): New section.
6866 (Future): Fix typo.
6867
6868 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6869
6870 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6871 grub.d/README accidentally ends up executable for one reason or
6872 another. Ignore it.
6873
6874 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6877 (gpt_partition_map_iterate): Support non-512B sectors.
6878
6879 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6882 Tested by: Seth Goldberg.
6883
6884 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6887 Properly align mbi.
6888 Reported by: Seth Goldberg.
6889
6890 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-mkrescue.in: Avoid module duplication.
6893
6894 2010-07-01 Sean Finney <seanius@seanius.net>
6895
6896 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6897
6898 2010-07-01 Sean Finney <seanius@seanius.net>
6899
6900 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6901
6902 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * disk/lvm.c (grub_lvm_checkvalue): New function.
6905 (grub_lvm_check_flag): Likewise.
6906
6907 2010-07-01 Robert Millan <rmh@gnu.org>
6908
6909 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6910 Support 'p' as partition separator on kernel of FreeBSD (used
6911 with GPT labels).
6912 (grub_util_biosdisk_get_grub_dev): Likewise.
6913
6914 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Yeeloong firmware port.
6917
6918 * boot/mips/yeeloong/fwstart.S: New file.
6919 * bus/cs5536.c (gpiodump): New const.
6920 (set_io_space): New function.
6921 (set_iod): Likewise.
6922 (set_p2d): Likewise.
6923 (grub_cs5536_init_geode): Likewise.
6924 * commands/mips/yeeloong/lsspd.c: New file.
6925 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6926 (serial_mod_SOURCES): New variable.
6927 (serial_mod_CFLAGS): Likewise.
6928 (serial_mod_LDFLAGS): Likewise.
6929 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6930 term/terminfo.c and term/tparm.c.
6931 (pkglib_IMAGES): Add fwstart.img.
6932 (fwstart_img_SOURCES): New variable.
6933 (fwstart_img_CFLAGS): Likewise.
6934 (fwstart_img_ASFLAGS): Likewise.
6935 (fwstart_img_LDFLAGS): Likewise.
6936 (fwstart_img_FORMAT): Likewise.
6937 (pkglib_MODULES): Add lsspd.mod.
6938 (lsspd_mod_SOURCES): New variable.
6939 (lsspd_mod_CFLAGS): Likewise.
6940 (lsspd_mod_LDFLAGS): Likewise.
6941 (pkglib_MODULES): Add halt.mod.
6942 (halt_mod_SOURCES): New variable.
6943 (halt_mod_CFLAGS): Likewise.
6944 (halt_mod_LDFLAGS): Likewise.
6945 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6946 (serial_mod_SOURCES): Removed.
6947 (serial_mod_CFLAGS): Likewise.
6948 (serial_mod_LDFLAGS): Likewise.
6949 * disk/ata.c (check_device): New function.
6950 (grub_ata_device_initialize): Use check_device.
6951 (grub_ata_iterate): Recheck devices.
6952 (grub_ata_open): Likewise.
6953 (grub_atapi_iterate): Likewise.
6954 (grub_atapi_open): Likewise.
6955 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6956 (GRUB_ATA_CH1_PORT1): Likewise.
6957 (GRUB_ATA_CH0_PORT2): Likewise.
6958 (GRUB_ATA_CH1_PORT2): Likewise.
6959 * include/grub/mips/loongson.h: New file.
6960 * include/grub/mips/yeeloong/ec.h: Likewise.
6961 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6962 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6963 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6964 * include/grub/misc.h (grub_halt): Declare as noreturn.
6965 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6966 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6967 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6968 (UART_ENABLE_DTRRTS): Likewise.
6969 (UART_ENABLE_MODEM): Removed.
6970 (UART_ENABLE_OUT2): New const.
6971 * include/grub/term.h (grub_term_register_input_active): New function.
6972 (grub_term_register_output_active): Likewise.
6973 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6974 argument.
6975 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6976 (init_pci): New function.
6977 (grub_machine_init): Execute platform init when firmware. Init serial.
6978 (grub_halt): Implement.
6979 (grub_exit): Likewise.
6980 (grub_reboot): Likewise.
6981 * term/serial.c (serial_hw_init): Update macros.
6982 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6983 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6984 (image_targets): New target mipsel-yeeloong-flash.
6985 (generate_image): Support IMAGE_YEELOONG_FLASH.
6986 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6987 (grub_video_sm712_setup): Init card.
6988 (grub_video_sm712_set_palette): Removed.
6989 * video/sm712_init.c: New file.
6990
6991 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
6992
6993 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6994 PATH when running help2man and then run it on the unadorned
6995 executable names, rather than passing $(builddir)/* paths to
6996 help2man. This avoids the build directory ending up in generated
6997 manual pages.
6998
6999 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7000
7001 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7002 to avoid accidents when debugging with 'sh -x'.
7003 * util/grub-mkrescue.in: Likewise.
7004 * util/grub.d/00_header.in: Likewise.
7005 * util/grub.d/10_hurd.in: Likewise.
7006 * util/grub.d/10_kfreebsd.in: Likewise.
7007 * util/grub.d/10_linux.in: Likewise.
7008 * util/grub.d/10_netbsd.in: Likewise.
7009 * util/grub.d/10_windows.in: Likewise.
7010 * util/grub.d/20_linux_xen.in: Likewise.
7011 * util/grub.d/30_os-prober.in: Likewise.
7012 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7013
7014 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
7015
7016 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7017 last character in the buffer.
7018 Reported by: Vladimir Serbinenko.
7019
7020 2010-06-29 Robert Millan <rmh@gnu.org>
7021
7022 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7023 (Command-line and menu entry commands): Document `badram' command.
7024
7025 2010-06-28 Robert Millan <rmh@gnu.org>
7026
7027 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7028 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7029 command using ${GRUB_BADRAM} as parameter.
7030
7031 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7032
7033 * docs/grub.texi (Device map): New section.
7034 (Themes): New section (stub).
7035 * Makefile.in (docs/grub.info): The info documentation now builds
7036 without errors. Make sure it stays that way.
7037
7038 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Use normal parser for menu entries.
7041 Reported by: Thomas Frauendorfer
7042
7043 * include/grub/parser.h (grub_parser_execute): Don't export.
7044 * normal/menu.c (grub_menu_execute_entry_real): New function.
7045 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7046
7047 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7048
7049 * docs/grub.texi (Embedded configuration): New section (replacing
7050 old "Preset Menu" stub).
7051 (Images): New section.
7052 (configfile): Note that any menu entries defined in `file' are shown
7053 immediately.
7054
7055 2010-06-28 Josh Triplett <josh@joshtriplett.org>
7056
7057 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7058
7059 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7060
7061 * util/grub-install.in: Add --debug-image= option.
7062
7063 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7064
7065 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7066 possible on Linux.
7067
7068 * util/deviceiter.c (check_device): Rename to ...
7069 (check_device_readable_unique): ... this. Update all callers.
7070 Maintain and check a list of which devices (by canonicalized name)
7071 have already been seen.
7072 (clear_seen_devices): New function.
7073 (compare_file_names) [__linux__]: New function.
7074 (grub_util_iterate_devices): Clear the list of seen devices on exit
7075 and (just in case) on entry.
7076 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7077 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7078 seen-devices list, superseded by general code in check_device.
7079
7080 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
7081
7082 * commands/cat.c (options): New variable.
7083 (grub_cmd_cat): Parse options. If the --dos option is given, print
7084 DOS-style "\r\n" line endings as simple newlines (Debian bug
7085 #586358).
7086 (GRUB_MOD_INIT): Use extcmd.
7087 (GRUB_MOD_FINI): Likewise.
7088 * docs/grub.texi (cat): Document --dos.
7089
7090 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 XEN with Linux grub-mkconfig support.
7093
7094 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7095 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7096 GRUB_CMDLINE_XEN_DEFAULT.
7097 * util/grub.d/20_linux_xen.in: New file.
7098
7099 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 Initialise VGA video on qemu ourselves.
7102
7103 * boot/i386/qemu/boot.S: Don't call 0xc000.
7104 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7105 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7106 (kernel_img_HEADERS): Add pci.h.
7107 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7108 * configure.ac: Force unifont on qemu and yeeloong.
7109 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7110 (grub_vga_palette_write): Use correct register.
7111 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7112 Call grub_qemu_init_cirrus.
7113 * kern/i386/qemu/init.c: New file.
7114 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7115
7116 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7117
7118 2010-06-26 Pavel Roskin <proski@gnu.org>
7119
7120 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7121 13.
7122
7123 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * docs/grub.texi (Simple configuration): Explain that
7126 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7127 set to `true' to disable their respective recovery entries, not
7128 merely set.
7129
7130 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
7131
7132 Make the `source' command slightly faster.
7133
7134 * normal/main.c (grub_normal_execute): Don't re-read list files when
7135 nested.
7136
7137 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7138
7139 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7140 field position and mask size to red fields from mode_info, not
7141 green.
7142 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7143 Remove redundant tag->common.framebuffer_type assignment.
7144 Reported by: Seth Goldberg.
7145
7146 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
7147
7148 Sync up other versions of the Linux loader with Robert Millan's
7149 change of 2010-01-09, "Make loader output a bit more user-friendly".
7150
7151 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7152 grub_dprintf().
7153 (grub_cmd_linux): Likewise.
7154 (grub_cmd_initrd): Likewise.
7155 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7156 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7157
7158 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
7159
7160 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7161 larger than MEMORY_MAP_SIZE.
7162
7163 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7164
7165 Fix parallel build.
7166
7167 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7168 dependency.
7169 * script/parser.y: #include grub_script.tab.h header.
7170
7171 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Support >3GiB and <16MiB RAM in i386-qemu.
7174
7175 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7176 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7177 (grub_lower_mem): Removed.
7178 (grub_upper_mem): Likewise.
7179 (mem_size): Made static.
7180 (above_4g): New variable.
7181 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7182 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7183 support.
7184
7185 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Cirrus 5446 and Bochs video cards support.
7188
7189 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7190 video_bochs.mod
7191 (video_cirrus_mod_SOURCES): New variable.
7192 (video_cirrus_mod_CFLAGS): Likewise.
7193 (video_cirrus_mod_LDFLAGS): Likewise.
7194 (video_bochs_mod_SOURCES): Likewise.
7195 (video_bochs_mod_CFLAGS): Likewise.
7196 (video_bochs_mod_LDFLAGS): Likewise.
7197 * include/grub/vga.h: New file.
7198 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7199 (grub_video_fb_set_page_t): New type.
7200 (grub_video_fb_setup): New prototype.
7201 (grub_video_fb_swap_buffers): Likewise.
7202 (grub_video_fb_get_info_and_fini): Likewise.
7203 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7204 (CRTC_DATA_PORT): Likewise.
7205 (CRTC_CURSOR): Likewise.
7206 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7207 (CRTC_CURSOR_ADDR_LOW): Likewise.
7208 (CRTC_CURSOR_DISABLE): Likewise.
7209 (update_cursor): Use grub_vga_cr_write.
7210 (grub_vga_text_setcursor): Likewise.
7211 * video/bochs.c: New file.
7212 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7213 (palette): Likewise.
7214 (palette_size): Likewise.
7215 (framebuffer): New variable.
7216 (grub_video_fb_init): Use 'framebuffer'.
7217 (grub_video_fb_fini): Likewise.
7218 (grub_video_fb_get_info): Likewise.
7219 (grub_video_fb_get_palette): Likewise.
7220 (grub_video_fb_set_palette): Likewise.
7221 (grub_video_fb_set_viewport): Likewise.
7222 (grub_video_fb_get_viewport): Likewise.
7223 (grub_video_fb_map_color): Likewise.
7224 (grub_video_fb_map_rgb): Likewise.
7225 (grub_video_fb_map_rgba): Likewise.
7226 (grub_video_fb_unmap_color): Likewise.
7227 (grub_video_fb_unmap_color_int): Likewise.
7228 (grub_video_fb_fill_rect): Likewise.
7229 (grub_video_fb_blit_bitmap): Likewise.
7230 (grub_video_fb_blit_render_target): Likewise.
7231 (grub_video_fb_scroll): Likewise.
7232 (grub_video_fb_create_render_target): Likewise.
7233 (grub_video_fb_doublebuf_blit_init): Likewise.
7234 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7235 (doublebuf_pageflipping_update_screen): New function.
7236 (doublebuf_pageflipping_init): Likewise.
7237 (grub_video_fb_setup): Likewise.
7238 (grub_video_fb_swap_buffers): Likewise.
7239 (grub_video_fb_get_info_and_fini): Likewise.
7240 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7241 All users updated.
7242 (doublebuf_pageflipping_commit): Restructured into ...
7243 (doublebuf_pageflipping_set_page): ... this.
7244 (doublebuf_pageflipping_update_screen): Removed.
7245 (doublebuf_pageflipping_init): Likewise.
7246 (double_buffering_init): Likewise.
7247 (grub_video_vbe_setup): Use grub_video_fb_setup.
7248 (grub_video_vbe_swap_buffers): Removed.
7249 (grub_video_vbe_set_active_render_target): Likewise.
7250 (grub_video_vbe_get_active_render_target): Likewise.
7251 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7252 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7253 grub_video_fb_set_active_render_target and
7254 grub_video_fb_get_active_render_target.
7255 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7256 (SEQUENCER_DATA_PORT): Likewise.
7257 (MAP_MASK_REGISTER): Likewise.
7258 (CRTC_ADDR_PORT): Likewise.
7259 (CRTC_DATA_PORT): Likewise.
7260 (START_ADDR_HIGH_REGISTER): Likewise.
7261 (START_ADDR_LOW_REGISTER): Likewise.
7262 (GRAPHICS_ADDR_PORT): Likewise.
7263 (GRAPHICS_DATA_PORT): Likewise.
7264 (READ_MAP_REGISTER): Likewise.
7265 (INPUT_STATUS1_REGISTER): Likewise.
7266 (INPUT_STATUS1_VERTR_BIT): Likewise.
7267 (get_map_mask): Use grub_vga_sr_read.
7268 (set_map_mask): Use grub_vga_sr_write.
7269 (set_read_map): Use grub_vga_gr_write.
7270 (set_start_address): Use grub_vga_cr_write.
7271 * video/sm712.c (framebuffer): Remove leftover fields.
7272
7273 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
7274
7275 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7276 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7277 instead. Replace the gfxterm backend check with a check that
7278 ${GRUB_PREFIX}/video.lst is non-empty.
7279 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7280 again.
7281 (load_video): New generated function. Call it before loading
7282 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7283 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7284 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7285 * docs/grub.texi (Simple configuration): Document
7286 GRUB_VIDEO_BACKEND.
7287
7288 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 Use video functions in linux and xnu loaders.
7291
7292 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7293 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7294 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7295 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7296 loader/i386/pc/linux.c.
7297 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7298 (find_line_len): Removed.
7299 (find_framebuf): Likewise.
7300 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7301 * loader/i386/efi/xnu.c: Removed.
7302 * loader/i386/pc/xnu.c: Moved from here...
7303 * loader/i386/xnu.c: ...here.
7304
7305 Enable priorities in video drivers.
7306
7307 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7308 (grub_video_adapter): New field prio.
7309 (grub_video_register): Respect prio when inserting.
7310 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7311 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7312 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7313 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7314 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7315 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7316 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7317
7318 Fix SDL driver ID.
7319
7320 * include/grub/video.h (grub_video_driver_id_t): New value
7321 GRUB_VIDEO_DRIVER_SDL.
7322 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7323
7324 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7325
7326 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7327 argument to printf.
7328 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7329
7330 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7331
7332 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7333 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7334
7335 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7338 directly, and recommend grub-install instead.
7339 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7340
7341 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7342
7343 Fix i386-pc prefix handling with nested partitions (Debian bug
7344 #585068). Note that the case where the core image is booted using
7345 multiboot and relocated from its original location still requires
7346 more work.
7347
7348 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7349 with "(,", fill the boot drive in between those two characters, but
7350 expect that a full partition specification including partition map
7351 names will follow.
7352 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7353 specified, write a prefix without the drive name but including a
7354 full partition specification.
7355
7356 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7357
7358 * util/grub-mkconfig.in: Ignore non-option arguments, for
7359 compatibility with older versions (before 2010-06-12) which did the
7360 same. In particular, this makes it easier to ship an update-grub
7361 wrapper which is compatible with that used with GRUB Legacy (Debian
7362 bug #586056).
7363
7364 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7365
7366 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7367 for manual page generation.
7368
7369 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7370
7371 * po/POTFILES: Remove leftover commands/handler.c.
7372
7373 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7374
7375 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7376 left this script non-functional.
7377
7378 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7379
7380 * docs/man/grub-emu.h2m: New file.
7381
7382 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7383
7384 * docs/grub.texi (Commands): Document reduced command set in rescue
7385 mode.
7386 (cpuid): New section.
7387
7388 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7389
7390 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7391 new partition naming style.
7392 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7393
7394 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7395
7396 Add "-o grub.iso" like cmdline options support.
7397
7398 * util/grub-install.in: Improve cmdline option parsing.
7399 * util/grub-mkconfig.in: Likewise.
7400 * util/grub-mkrescue.in: Likewise.
7401 * util/grub-reboot.in: Likewise.
7402 * util/grub-set-default.in: Likewise.
7403 * util/i386/efi/grub-install.in: Likewise.
7404 * util/ieee1275/grub-install.in: Likewise.
7405 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7406
7407 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7408
7409 * .bzrignore: Ignore 41_custom.
7410
7411 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7412
7413 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7414
7415 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7416
7417 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7418 prototype declarations.
7419
7420 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7421 generating fs, partmap, and video lists.
7422 * include/grub/fs.h (grub_fs_register): Omit prototype if
7423 GRUB_LST_GENERATOR is defined.
7424 * include/grub/partition.h (grub_partition_map_register): Likewise.
7425 * include/grub/video.h (grub_video_register): Likewise.
7426
7427 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7428
7429 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7430
7431 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7432
7433 * util/grub-mkrescue.in: Support --xorriso argument.
7434
7435 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7438 Suggested by: Thomas Schmitt.
7439
7440 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7443 Suggested by: Thomas Schmitt.
7444
7445 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 custom.cfg support.
7448
7449 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7450 * util/grub.d/41_custom.in: New file.
7451
7452 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7453
7454 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7455 been merged back into normal.
7456
7457 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7458
7459 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7460 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7461
7462 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7463
7464 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7465 when generating manual pages.
7466 * docs/man/grub-bin2h.h2m: New file.
7467 * docs/man/grub-editenv.h2m: New file.
7468 * docs/man/grub-fstest.h2m: New file.
7469 * docs/man/grub-install.h2m: New file.
7470 * docs/man/grub-macho2img.h2m: New file.
7471 * docs/man/grub-mkconfig.h2m: New file.
7472 * docs/man/grub-mkdevicemap.h2m: New file.
7473 * docs/man/grub-mkfont.h2m: New file.
7474 * docs/man/grub-mkimage.h2m: New file.
7475 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7476 * docs/man/grub-mkrelpath.h2m: New file.
7477 * docs/man/grub-mkrescue.h2m: New file.
7478 * docs/man/grub-ofpathname.h2m: New file.
7479 * docs/man/grub-pe2elf.h2m: New file.
7480 * docs/man/grub-probe.h2m: New file.
7481 * docs/man/grub-reboot.h2m: New file.
7482 * docs/man/grub-script-check.h2m: New file.
7483 * docs/man/grub-set-default.h2m: New file.
7484 * docs/man/grub-setup.h2m: New file.
7485
7486 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Use FOR_* macros instead of *_iterate whenever possible.
7489
7490 * commands/handler.c: Removed.
7491 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7492 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7493 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7494 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7495 (grub_probe_SOURCES): Remove kern/parser.c.
7496 (util/grub-script-check.c_DEPENDENCIES): Removed.
7497 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7498 and grub_script_check_init.c.
7499 (grub_script_check_init.lst): Removed.
7500 (grub_script_check_init.h): Likewise.
7501 (grub_script_check_init.c): Likewise.
7502 (pkglib_MODULES): Remove handler.mod and sh.mod.
7503 (handler_mod_SOURCES): Removed.
7504 (handler_mod_CFLAGS): Likewise.
7505 (handler_mod_LDFLAGS): Likewise.
7506 (normal_mod_SOURCES): Remove normal/handler.c.
7507 Add script/main.c, script/script.c, script/execute.c,
7508 script/function.c, script/lexer.c, grub_script.tab.c
7509 and grub_script.yy.c.
7510 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7511 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7512 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7513 (grub_setup_SOURCES): Remove kern/parser.c.
7514 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7515 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7516 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7517 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7518 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7519 (grub_setup_SOURCES): Remove kern/parser.c.
7520 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7521 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7522 * include/grub/command.h (grub_command_iterate): Removed.
7523 (FOR_COMMANDS): New macro.
7524 * include/grub/dl.h (grub_dl): New member next.
7525 (grub_dl_iterate): Removed.
7526 (grub_dl_head): New variable declaration.
7527 (FOR_DL_MODULES): New macro.
7528 * include/grub/fs.h: Include list.h.
7529 (grub_fs): Make next first element.
7530 (grub_fs_list): New variable declaration.
7531 (grub_fs_register): Make inline.
7532 (grub_fs_unregister): Likewise.
7533 (grub_fs_iterate): Removed.
7534 (FOR_FILESYSTEMS): New macro.
7535 * include/grub/handler.h: Removed.
7536 * include/grub/list.h (grub_list_hook_t): Removed.
7537 (grub_list_test_t): Likewise.
7538 (grub_list_pop): Likewise.
7539 (grub_list_iterate): Likewise.
7540 (grub_list_insert): Likewise.
7541 (FOR_LIST_ELEMENTS): New macro.
7542 * include/grub/parser.h (grub_parser_class): Removed.
7543 (grub_parser_register): Likewise.
7544 (grub_parser_unregister): Likewise.
7545 (grub_parser_get_current): Likewise.
7546 (grub_parser_set_current): Likewise.
7547 (grub_register_rescue_parser): Likewise.
7548 (grub_rescue_parse_line): New function.
7549 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7550 * include/grub/script_sh.h (grub_script_function_list): New variable
7551 declaration.
7552 (FOR_SCRIPT_FUNCTIONS): New macro.
7553 (grub_script_function_iterate): Removed.
7554 (grub_normal_parse_line): New prototype.
7555 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7556 (FOR_DISABLED_TERM_INPUTS): Likewise.
7557 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7558 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7559 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7560 element.
7561 (grub_video_register): Inline.
7562 (grub_video_unregister): Likewise.
7563 (grub_video_adapter_list): New variable declaration.
7564 (grub_video_iterate): Removed.
7565 (FOR_VIDEO_ADAPTERS): New macro.
7566 * kern/dl.c (grub_dl_list): Removed. All users updated.
7567 (grub_dl_iterate): Removed.
7568 * kern/fs.c (grub_fs_list): Make global.
7569 (grub_fs_register): Removed.
7570 (grub_fs_unregister): Likewise.
7571 (grub_fs_iterate): Likewise.
7572 * kern/handler.c: Removed.
7573 * kern/list.c (grub_list_pop): Removed.
7574 (grub_list_iterate): Likewise.
7575 (grub_list_insert): Likewise.
7576 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7577 (grub_prio_list_insert): Don't use grub_list_insert.
7578 * kern/main.c (grub_register_rescue_parser): Don't call
7579 grub_register_rescue_parser.
7580 * kern/parser.c (grub_parser_class): Removed.
7581 (grub_parser_execute): Use grub_rescue_parse_line.
7582 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7583 (grub_rescue_parser): Removed.
7584 (grub_register_rescue_parser): Likewise.
7585 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7586 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7587 (grub_auth_check_authentication): Likewise.
7588 * normal/completion.c (iterate_command): Removed.
7589 (grub_normal_do_completion): Use FOR_COMMANDS.
7590 * normal/handler.c: Removed.
7591 * normal/main.c (read_config_file): Remove parser changing.
7592 (grub_normal_execute): Don't call read_handler_list.
7593 (grub_normal_read_line_real): Statically allocate prompt.
7594 (grub_cmdline_run): Use grub_normal_parse_line.
7595 (GRUB_MOD_FINI): Don't call free_handler_list.
7596 * normal/menu_entry.c (run): Likewise.
7597 * script/function.c (grub_script_function_list): Make global.
7598 (grub_script_function_iterate): Removed.
7599 * script/main.c (grub_normal_parse_line): Make global.
7600 (grub_sh_parser): Removed.
7601 (GRUB_MOD_INIT): Likewise.
7602 (GRUB_MOD_FINI): Likewise.
7603 * tests/lib/functional_test.c (grub_functional_test): Use
7604 FOR_LIST_ELEMENTS.
7605 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7606 (grub_test_run): Use FOR_LIST_ELEMENTS.
7607 * tests/lib/unit_test.c (main): Likewise.
7608 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7609 grub_list_pop.
7610 * util/grub-fstest.c (grub_term_input_class): Removed.
7611 (grub_term_output_class): Likewise.
7612 * util/grub-probe.c: Likewise.
7613 * util/i386/pc/grub-setup.c: Likewise.
7614 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7615 * util/grub-script-check.c (main): Don't call grub_init_all and
7616 grub_fini_all.
7617 * video/video.c (grub_video_adapter_list): Make global.
7618 (grub_video_register): Removed.
7619 (grub_video_unregister): Likewise.
7620 (grub_video_iterate): Likewise.
7621
7622 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7625 reported by Henrique Ferreiro.
7626
7627 2010-06-09 Robert Millan <rmh@gnu.org>
7628
7629 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7630 ones, when both are available.
7631
7632 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7633
7634 Make --version uniform and avoid hard-coded program name.
7635
7636 * util/grub-mkimage.c (main): Use `program_name' instead of
7637 hard-coded string.
7638 * util/i386/pc/grub-setup.c (main): Likewise.
7639 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7640 * util/grub-install.in: Save the basename of $0 in $self, and use the
7641 latter in informational messages. Use the same format for --version
7642 as the binary programs.
7643 * util/grub-mkconfig.in: Likewise.
7644 * util/grub-mkrescue.in: Likewise.
7645 * util/grub-reboot.in: Likewise.
7646 * util/grub-set-default.in: Likewise.
7647 * util/i386/efi/grub-install.in: Likewise.
7648 * util/ieee1275/grub-install.in: Likewise.
7649 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7650
7651 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7652
7653 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7654 embedding area. Use <= instead of == when checking for non-emptiness.
7655
7656 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7657
7658 * configure.ac: Add `.' to the directories searched for unifont.
7659
7660 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7661
7662 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7663 grub_script.yy.h.
7664
7665 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7666
7667 * docs/grub.texi (History): Expand to cover GRUB 2.
7668 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7669 commands, not `terminal'.
7670 (serial): Likewise.
7671 (terminal_input): New section.
7672 (terminal_output): New section.
7673 (uppermem): New section (stub).
7674 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7675
7676 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7677
7678 * docs/grub.texi (Security): Menu entries are unrestricted by
7679 default, not restricted to superusers as I had previously thought.
7680 Reword to account for this.
7681
7682 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7683
7684 * kern/emu/misc.c (device_mapper_null_log): New function.
7685 (grub_device_mapper_supported): New function.
7686 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7687 prototype.
7688 * kern/emu/hostdisk.c (find_partition_start): Check whether
7689 device-mapper is supported before trying to use it.
7690 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7691
7692 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7693
7694 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7695 (File name syntax): Likewise.
7696 (help): --all is no longer supported in GRUB 2. Be more precise
7697 about pattern matching.
7698
7699 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7700
7701 * normal/completion.c (grub_normal_do_completion): When completing
7702 arguments to "set" and the current word contains an equals sign,
7703 skip to after the equals sign before starting completion.
7704
7705 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7706
7707 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7708
7709 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7710
7711 * docs/grub.texi (Network): New section.
7712 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7713 `(nd)' as in GRUB Legacy.
7714 (pxe_unload): New section.
7715
7716 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7717
7718 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7719 in the rescue shell, so recommend using `set' instead. Thanks,
7720 Jordan Uggla.
7721
7722 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7723
7724 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7725 (password): New section.
7726 (password_pbkdf2): New section.
7727 (search): New section.
7728 (Security): New section.
7729 (Troubleshooting): New section, currently very incomplete.
7730 (Invoking grub-mkpasswd-pbkdf2): New section.
7731 (Internals): New section, currently very incomplete.
7732
7733 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7734
7735 * util/grub.d/00_header.in: Add some more quoting (of
7736 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7737 work again.
7738 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7739
7740 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7741
7742 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7743 to `count', fixing variable shadowing that broke the -c option.
7744
7745 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7746
7747 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7748 in case they contain spaces.
7749
7750 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7751
7752 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7753 "part_" to partmap module names, in line with grub-install.
7754 Reported by: Jindřich Makovička (Debian bug #584426).
7755
7756 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7757
7758 * util/grub-mkimage.c: Make target-related error messages slightly
7759 more helpful; -O talks about "format". Explicitly point to the use
7760 of -O if no target is specified.
7761 Reported by: Didier Raboud (Debian bug #584415).
7762
7763 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * INSTALL: Document several build requirements for optional features
7766 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7767
7768 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7769
7770 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7771 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7772 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7773
7774 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7775
7776 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7777 Thanks to Jordan Uggla for spotting this.
7778
7779 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7780
7781 Finally make USB usable.
7782
7783 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7784 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7785 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7786 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7787 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7788 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7789 (GRUB_OHCI_FSMPS): Likewise.
7790 (GRUB_OHCI_PERIODIC_START): Likewise.
7791 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7792 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7793 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7794 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7795 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7796 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7797 (grub_ohci_transaction): Likewise.
7798 (grub_ohci_transfer): Improve condition detection algorithms.
7799 Handle toggle property. Program the transactions correctly.
7800 Improve error handling. Various important fixups.
7801 (grub_ohci_portstatus): Put register writes in right order.
7802 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7803 (grub_uhci_transfer): Don't show "failed" message on success.
7804 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7805 array.
7806 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7807 determine its size.
7808 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7809 before initialization is completed. Use IN direction for empty
7810 transfers. Use last_trans and compute toggle.
7811 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7812 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7813 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7814 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7815 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7816 (grub_usb_device): Increase toggle to 256.
7817 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7818 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7819 GRUB_USBMS_SUBCLASS_SFF8070.
7820 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7821 (grub_scsi_inquiry): New member page and alloc_length.
7822 (grub_scsi_request_sense): New structure.
7823 (grub_scsi_request_sense_data): Likewise.
7824 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7825 control.
7826 * disk/scsi.c (grub_scsi_request_sense): New function.
7827 (grub_scsi_test_unit_ready): Likewise.
7828 (grub_scsi_inquiry): Fill new fields.
7829 (grub_scsi_read_capacity): Likewise.
7830 (grub_scsi_read10): Add request sense at the end.
7831 (grub_scsi_read12): Likewise.
7832 (grub_scsi_write10): Likewise.
7833 (grub_scsi_write12): Likewise.
7834 (grub_scsi_open): Add Test Unit Ready.
7835 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7836 Support additional subclasses. Con't clear halt yet. Activate the
7837 proper config. Calculate LUNs correctly.
7838 (grub_usbms_transfer): Various important fixups.
7839
7840 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7843 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7844 (grub_ohci_fini_hw): New function.
7845 (grub_ohci_restore_hw): Likewise.
7846 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7847 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7848 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7849
7850 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 Dedicated DMA allocations.
7853
7854 * bus/pci.c (grub_memalign_dma32): New function
7855 (grub_dma_free): Likewise.
7856 (grub_dma_get_virt): Likewise.
7857 (grub_dma_get_phys): Likewise.
7858 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7859 (grub_ohci_pci_iter): Use dma32_alloc.
7860 (grub_ohci_transfer): Likewise.
7861 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7862 (grub_usb_bulk_readwrite): Likewise.
7863 * include/grub/pci.h: Add declarations.
7864
7865 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 CS5536 support.
7868
7869 * bus/cs5536.c: New file.
7870 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7871 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7872 (cs5536_mod_SOURCES): New variable.
7873 (cs5536_mod_CFLAGS): Likewise.
7874 (cs5536_mod_LDFLAGS): Likewise.
7875 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7876 machine/pci.h.
7877 (kernel_img_SOURCES): Add bus/cs5536.c.
7878 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7879 usb_keyboard.mod.
7880 (usb_mod_SOURCES): New variable.
7881 (usb_mod_CFLAGS): New variable.
7882 (usb_mod_LDFLAGS): New variable.
7883 (usbtest_mod_SOURCES): New variable.
7884 (usbtest_mod_CFLAGS): New variable.
7885 (usbtest_mod_LDFLAGS): New variable.
7886 (ohci_mod_SOURCES): New variable.
7887 (ohci_mod_CFLAGS): New variable.
7888 (ohci_mod_LDFLAGS): New variable.
7889 (usbms_mod_SOURCES): New variable.
7890 (usbms_mod_CFLAGS): New variable.
7891 (usbms_mod_LDFLAGS): New variable.
7892 (usb_keyboard_mod_SOURCES): New variable.
7893 (usb_keyboard_mod_CFLAGS): New variable.
7894 (usb_keyboard_mod_LDFLAGS): New variable.
7895 * include/grub/smbus.h: New file.
7896 * include/grub/cs5536.h: New file.
7897
7898 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7899
7900 * util/grub.d/00_header.in: Add safety check to make sure that
7901 ${locale_dir} exists before trying to probe it.
7902
7903 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7904
7905 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7906 per the GNU Coding Standards; this is now too obscure to be worth
7907 documenting.
7908 (QNX): Likewise.
7909 (chainloader): Remove cross-reference to `SCO UnixWare'.
7910
7911 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7912
7913 * docs/grub.texi (Chain-loading): New section.
7914 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7915 adjusted for GRUB 2.
7916 (SCO UnixWare): Likewise.
7917 (QNX): Likewise.
7918 (chainloader): Add reference to `Block list syntax'.
7919 (drivemap): New section.
7920 (parttool): New section.
7921
7922 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7923
7924 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7925 the grub shell'.
7926 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7927 (Installing GRUB using grub-install): Remove reference to the grub
7928 shell; mention `grub-mkimage' and `grub-setup' instead.
7929 (Invoking grub-install): Likewise.
7930 (Interface): Add reference to `Menu entry editor'.
7931 (serial): Remove `--device' option.
7932
7933 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7934
7935 * docs/grub.texi (Configuration): New section, documenting
7936 configuration file generation using grub-mkconfig. I've left a slot
7937 for documenting the full shell scripting format but have not yet
7938 started on writing that up.
7939 (Invoking grub-mkconfig): New section.
7940
7941 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7942
7943 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7944 (GNU GRUB manual): Likewise.
7945 (General commands): Update description of `terminfo' for GRUB 2.
7946
7947 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7948
7949 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7950 (GRUB_MOD_INIT): Fix capitalisation.
7951 * docs/grub.texi (Command-line and menu entry commands): Document
7952 gettext and gptsync commands.
7953
7954 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7955
7956 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7957 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7958
7959 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
7960
7961 Add btrfs probing support, currently only in the single-device case.
7962
7963 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7964 function.
7965 (grub_guess_root_device): Call find_root_device_from_mountinfo
7966 before looking in /dev.
7967
7968 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7971 GRUB_DISK_SIZE_UNKNOWN.
7972 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7973
7974 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
7975
7976 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7977 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7978 corrupted or not synced properly.
7979
7980 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7983 Reported by: Seth Goldberg.
7984
7985 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7988 addition of dest.
7989 Reported by: Seth Goldberg.
7990
7991 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7994 Reported by: Seth Goldberg.
7995
7996 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7999 64-bit address as signed on MIPS.
8000
8001 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8002
8003 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8004 to the empty string.
8005
8006 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8007
8008 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8009
8010 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8011 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8012 * kern/misc.c (__enable_execute_stack): Disable on
8013 GRUB_MACHINE_EMU.
8014
8015 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
8016
8017 Make grub-probe work with symbolic links under /dev/mapper as well
8018 as with real block devices. The Linux world seems to be (at best)
8019 in transition here, and GRUB shouldn't get caught in the middle.
8020
8021 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8022 /dev/mapper.
8023
8024 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8025
8026 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8027 input files (in which case exit zero).
8028
8029 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8030
8031 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8032 return NULL for various reasons even if it has a maximum-length
8033 buffer: for example, there might be a symlink loop, or the path
8034 might exceed PATH_MAX. If this happens, return NULL.
8035
8036 2010-05-27 Robert Millan <rmh@gnu.org>
8037
8038 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8039 partmap module to handle cross-partmap setups.
8040 Reported by Orestes Mas. Gràcies!
8041
8042 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
8043
8044 * util/grub-mkrescue.in: Initialise override_dir rather than
8045 assuming that it's unset or empty in the environment.
8046
8047 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8048
8049 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8050 variable index into p_index to suppress a warning with -Wshadow.
8051
8052 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8053
8054 * INSTALL: Added flex >= 2.5.35 requirement.
8055
8056 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8059
8060 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 cmostest support.
8063
8064 * commands/i386/cmostest.c: New file.
8065 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8066 (cmostest_mod_SOURCES): New variable.
8067 (cmostest_mod_CFLAGS): Likewise.
8068 (cmostest_mod_LDFLAGS): Likewise.
8069 * conf/i386-pc.rmk: Likewise.
8070 * docs/grub.texi (Vendor power-on keys): New section.
8071 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8072 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8073 and GRUB_BUTTON_CMOS_ADDRESS.
8074 * util/grub.d/00_header.in: Handle powering-on by separate button.
8075
8076 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8079 Removed drawing_scrollbar argument. All users updated
8080 Fixes #29792.
8081 Reported by Jo Shields
8082
8083 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8086 buffer since gfxterm handles double repaint.
8087
8088 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8091 * term/gfxterm.c (real_scroll): Likewise.
8092
8093 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8096 before calling BIOS.
8097
8098 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * include/grub/i18n.h: Always enable grub_gettext.
8101
8102 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8105 partition naming style.
8106
8107 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
8108
8109 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8110 not the first option.
8111
8112 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8115
8116 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
8117
8118 * util/misc.c: Move inclusion of <limits.h> to ...
8119 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8120
8121 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8122
8123 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8124 Fix merge error in NetBSD code.
8125 (find_partition_start) [__NetBSD__]: Likewise.
8126
8127 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8128
8129 Fix grub-mkrescue usage unit testing.
8130
8131 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8132
8133 2010-05-18 Christian Franke <franke@computer.org>
8134
8135 * util/grub.d/10_windows.in: Use path names instead of
8136 drive letters to prevent warning from Cygwin 1.7.
8137 Add drivemap command to menuentry if needed.
8138
8139 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8140
8141 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8142 gnumach and gnumach.gz.
8143
8144 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * include/grub/i18n.h (gettext): Inline instead of using #define.
8147 (grub_gettext): Likewise.
8148 (_): Likewise.
8149
8150 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8153 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8154 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8155 (main): Add a slash after pkglibdirroot.
8156
8157 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * util/grub-install.in: Add missing "in" keyword.
8160
8161 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8164 Reported by: Seth Goldberg.
8165
8166 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8169
8170 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8171
8172 * configure.ac: Check for Linux device-mapper support.
8173
8174 * util/hostdisk.c (device_is_mapped): New function.
8175 (find_partition_start): New function, partly broken out from
8176 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8177 device-mapper support added.
8178 (linux_find_partition): Use find_partition_start.
8179 (convert_system_partition_to_system_disk): Add `st' argument.
8180 Support Linux /dev/mapper/* devices if device-mapper support is
8181 available; only DM-RAID devices are understood at present.
8182 (find_system_device): Add `st' argument. Pass it to
8183 convert_system_partition_to_system_disk.
8184 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8185 find_system_device and convert_system_partition_to_system_disk. Use
8186 find_partition_start.
8187
8188 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8189 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8190 * util/deviceiter.c [__linux__]: Define MINOR.
8191 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8192 * util/mkdevicemap.c (grub_putchar): New function.
8193 (grub_getkey): New function.
8194 (grub_refresh): New function.
8195 (main): Set debug=all if -v -v is used.
8196
8197 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8198
8199 Fix build with non-GNU libcs.
8200
8201 * util/misc.c (canonicalize_file_name): Move to ...
8202 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8203 grub_make_system_path_relative_to_its_root.
8204
8205 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
8206
8207 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8208 we handle finding grub-mkimage. Default to finding grub-mkimage in
8209 ${bindir} with program_transform_name applied, and provide a
8210 --grub-mkimage option to override this.
8211
8212 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 Remove grub-mkisofs.
8215
8216 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8217 (grub_mkisofs_SOURCES): Removed.
8218 (grub_mkisofs_CFLAGS): Removed.
8219 * util/mkisofs/defaults.h: Removed.
8220 * util/mkisofs/eltorito.c: Likewise.
8221 * util/mkisofs/exclude.h: Likewise.
8222 * util/mkisofs/hash.c: Likewise.
8223 * util/mkisofs/include/: Likewise.
8224 * util/mkisofs/include/fctldefs.h: Likewise.
8225 * util/mkisofs/include/mconfig.h: Likewise.
8226 * util/mkisofs/include/prototyp.h: Likewise.
8227 * util/mkisofs/include/statdefs.h: Likewise.
8228 * util/mkisofs/iso9660.h: Likewise.
8229 * util/mkisofs/joliet.c: Likewise.
8230 * util/mkisofs/match.c: Likewise.
8231 * util/mkisofs/match.h: Likewise.
8232 * util/mkisofs/mkisofs.c: Likewise.
8233 * util/mkisofs/mkisofs.h: Likewise.
8234 * util/mkisofs/msdos_partition.h: Likewise.
8235 * util/mkisofs/multi.c: Likewise.
8236 * util/mkisofs/name.c: Likewise.
8237 * util/mkisofs/rock.c: Likewise.
8238 * util/mkisofs/tree.c: Likewise.
8239 * util/mkisofs/write.c: Likewise.
8240
8241 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Unify grub-mkimage accross platforms.
8244
8245 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8246 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8247 (grub_mkelfimage_SOURCES): Removed.
8248 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8249 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8250 (bin_UTILITIES): Add grub-mkimage.
8251 (grub_mkimage_SOURCES): New variable.
8252 (kernel_img_HEADERS): Remove machine/kernel.h.
8253 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8254 (pkglib_PROGRAMS): Add kernel.img.
8255 (kernel_img_HEADERS): Add machine/kernel.h.
8256 (kernel_img_FORMAT): Removed.
8257 (bin_UTILITIES): Remove grub-mkimage.
8258 (grub_mkimage_SOURCES): Removed.
8259 (grub_mkimage_CFLAGS): Likewise.
8260 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8261 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8262 (pkglib_PROGRAMS): Add kernel.img.
8263 (bin_UTILITIES): Remove grub-mkimage.
8264 (grub_mkimage_SOURCES): Removed.
8265 (grub_mkimage_CFLAGS): Likewise.
8266 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8267 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8268 (pkglib_PROGRAMS): Add kernel.img.
8269 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8270 (pkglib_PROGRAMS): Add kernel.img.
8271 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8272 (grub_mkimage_SOURCES): Removed.
8273 (grub_mkimage_CFLAGS): Likewise.
8274 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8275 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8276 (pkglib_PROGRAMS): Add kernel.img.
8277 (bin_UTILITIES): Remove grub-mkimage.
8278 (grub_mkimage_SOURCES): Removed.
8279 (grub_mkimage_CFLAGS): Likewise.
8280 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8281 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8282 (grub_mkimage_SOURCES): Removed.
8283 (grub_mkimage_CFLAGS): Likewise.
8284 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8285 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8286 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8287 (grub_pe32_optional_header): ... this.
8288 (grub_pe64_optional_header): ... and this. All users updated.
8289 (GRUB_PE32_PE32_MAGIC): Split into ..
8290 (GRUB_PE32_PE32_MAGIC): .. this.
8291 (GRUB_PE32_PE64_MAGIC): .. and this.
8292 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8293 * include/grub/elf.h (PT_GNU_STACK): New definition.
8294 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8295 * include/grub/i386/efi/kernel.h: Likewise.
8296 * include/grub/i386/kernel.h: Likewise.
8297 * include/grub/i386/pc/kernel.h: Likewise.
8298 * include/grub/i386/qemu/boot.h: Likewise.
8299 * include/grub/mips/kernel.h: Likewise.
8300 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8301 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8302 * include/grub/powerpc/kernel.h: Likewise.
8303 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8304 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8305 * include/grub/sparc64/kernel.h: Likewise.
8306 * include/grub/x86_64/efi/kernel.h: Likewise.
8307 * include/grub/x86_64/kernel.h: Likewise.
8308 * include/grub/offsets.h: New file.
8309 * include/grub/kernel.h (grub_module_info): Split into ...
8310 (grub_module_info32): ... this.
8311 (grub_module_info64): ... and this.
8312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8313 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8314 (grub_boot_blocklist): Moved from here ...
8315 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8316 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8317 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8318 * include/grub/types.h (grub_target_to_host16): Removed.
8319 (grub_target_to_host32): Likewise.
8320 (grub_target_to_host64): Likewise.
8321 (grub_host_to_target16): Likewise.
8322 (grub_host_to_target32): Likewise.
8323 (grub_host_to_target64): Likewise.
8324 (grub_host_to_target_addr): Likewise.
8325
8326 Support grub-mkrescue for efi, coreboot and qemu.
8327
8328 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8329 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8330 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8331 * util/grub-mkrawimage.c: Moved from here ...
8332 * util/grub-mkimage.c: ... here. All users updated.
8333 (ALIGN_ADDR): Use image_target.
8334 (TARGET_NO_FIELD): New const.
8335 (image_target_desc): New type.
8336 (image_targets): New array.
8337 (grub_target_to_host64): Use image_target.
8338 (grub_target_to_host32): Likewise.
8339 (grub_target_to_host16): Likewise.
8340 (grub_host_to_target64): Likewise.
8341 (grub_host_to_target32): Likewise.
8342 (grub_host_to_target16): Likewise.
8343 (grub_host_to_target_addr): Likewise.
8344 (generate_image): Handle multiimage.
8345 (main): Require -O parameter. All users updated.
8346 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8347 util/efi/grub-mkimage.c
8348 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8349 New option --rom-directory.
8350 Use xorriso.
8351 * util/i386/efi/grub-mkimage.c: Removed.
8352 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8353 (grub_target_to_host32): Likewise.
8354 (grub_target_to_host64): Likewise.
8355 (grub_host_to_target16): Likewise.
8356 (grub_host_to_target32): Likewise.
8357 (grub_host_to_target64): Likewise.
8358 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8359 (grub_target_to_host32): Likewise.
8360 (grub_target_to_host64): Likewise.
8361 (grub_host_to_target16): Likewise.
8362 (grub_host_to_target32): Likewise.
8363 (grub_host_to_target64): Likewise.
8364
8365 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8366
8367 Source tree is reorganized for emu build.
8368
8369 * include/grub/util/console.h: Move from here...
8370 * include/grub/emu/console.h: ...to here.
8371 * include/grub/util/getroot.h: Move from here...
8372 * include/grub/emu/getroot.h: ...to here.
8373 * include/grub/util/hostdisk.h: Move from here...
8374 * include/grub/emu/hostdisk.h: ...to here.
8375 * util/console.c: Move from here...
8376 * kern/emu/console.c: ...to here.
8377 * util/getroot.c: Move from here...
8378 * kern/emu/getroot.c: ...to here.
8379 * util/grub-emu.c: Move from here...
8380 * kern/emu/main.c: ...to here.
8381 * util/hostdisk.c: Move from here...
8382 * kern/emu/hostdisk.c: ...to here.
8383 * util/hostfs.c: Move from here...
8384 * kern/emu/hostfs.c: ...to here.
8385 * util/mm.c: Move from here...
8386 * kern/emu/mm.c: ...to here.
8387 * util/pci.c: Move from here...
8388 * bus/emu/pci.c: ...to here.
8389 * util/sdl.c: Move from here...
8390 * video/emu/sdl.c: ...to here.
8391 * util/time.c: Move from here...
8392 * kern/emu/time.c: ...to here.
8393 * util/usb.c: Move from here...
8394 * bus/usb/emu/usb.c: ...to here.
8395
8396 * include/grub/emu/misc.h: New header for grub-emu functions.
8397 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8398
8399 * conf/any-emu.rmk: Rule updates for above renames.
8400 * conf/common.rmk: Likewise.
8401 * conf/i386-pc.rmk: Likewise.
8402 * conf/i386-qemu.rmk: Likewise.
8403 * conf/mips.rmk: Likewise.
8404 * conf/sparc64-ieee1275.rmk: Likewise.
8405 * conf/x86-efi.rmk: Likewise.
8406
8407 * disk/lvm.h: #include updates for above renames.
8408 * util/grub-mkrelpath.c: Likewise.
8409 * util/grub-probe.c: Likewise.
8410 * util/i386/pc/grub-setup.c: Likewise.
8411 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8412 * kern/emu/console.c: Likewise.
8413 * kern/emu/getroot.c: Likewise.
8414 * kern/emu/hostdisk.c: Likewise.
8415 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8416
8417 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8418 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8419 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8420 * util/misc.c: Remove grub-emu functions.
8421
8422 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 Fix gfxmenu crash.
8425 Reported by: Thorsten Grützmacher.
8426
8427 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8428 timeout hook.
8429 (circprog_set_property): Register and unregister timeout hook.
8430 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8431 (label_destroy): Free template. and unregister hook.
8432 (label_set_state): New function.
8433 (label_set_property): Handle templates and hooks.
8434 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8435 timeout hook.
8436 (progress_bar_set_property): Register and unregister timeout hook.
8437 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8438 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8439 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8440 (update_timeout_visit): Removed.
8441 (update_timeouts): New function.
8442 (redraw_timeouts): Likewise.
8443 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8444 (grub_gfxmenu_clear_timeout): Likewise.
8445 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8446 (grub_gfxmenu_timeout_notify): Likewise.
8447 (grub_gfxmenu_timeout_notifications): New external variable.
8448 (grub_gfxmenu_timeout_register): New function.
8449 (grub_gfxmenu_timeout_unregister): Likewise.
8450
8451 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 Transform (broken) vga terminal into (working) vga video driver.
8454
8455 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8456 video/i386/pc/vga.c.
8457 * include/grub/video.h (grub_video_driver_id):
8458 Add GRUB_VIDEO_DRIVER_VGA.
8459 * term/i386/pc/vga.c: Renamed to ...
8460 * video/i386/pc/vga.c: ...this
8461 (DEBUG_VGA): Removed.
8462 (CHAR_WIDTH): Likewise.
8463 (CHAR_HEIGHT): Likewise.
8464 (TEXT_WIDTH): Likewise.
8465 (TEXT_HEIGHT): Likewise.
8466 (DEFAULT_FG_COLOR): Likewise.
8467 (DEFAULT_BG_COLOR): Likewise.
8468 (colored_char): Likewise.
8469 (xpos): Likewise.
8470 (ypos): Likewise.
8471 (cursor_state): Likewise.
8472 (fg_color): Likewise.
8473 (bg_color): Likewise.
8474 (text_buf): Likewise.
8475 (page): Likewise.
8476 (font): Likewise.
8477 (framebuffer): New variable.
8478 (set_read_map): Disabled.
8479 (setup): New variable.
8480 (is_target): Likewise.
8481 (grub_vga_mod_init): Likewise.
8482 (grub_vga_mod_fini): Likewise.
8483 (check_vga_mem): Likewise.
8484 (write_char): Likewise.
8485 (write_cursor): Likewise.
8486 (scroll_up): Likewise.
8487 (grub_vga_putchar): Likewise.
8488 (grub_vga_getcharwidth): Likewise.
8489 (grub_vga_getwh): Likewise.
8490 (grub_vga_getxy): Likewise.
8491 (grub_vga_gotoxy): Likewise.
8492 (grub_vga_cls): Likewise.
8493 (grub_vga_setcolorstate): Likewise.
8494 (grub_vga_setcursor): Likewise.
8495 (grub_video_vga_init): New function.
8496 (grub_video_vga_setup): Likewise.
8497 (grub_video_vga_fini): Likewise.
8498 (update_target): Likewise.
8499 (grub_video_vga_blit_bitmap): Likewise.
8500 (grub_video_vga_blit_render_target): Likewise.
8501 (grub_video_vga_set_active_render_target): Likewise.
8502 (grub_video_vga_get_active_render_target): Likewise.
8503 (grub_video_vga_swap_buffers): Likewise.
8504 (grub_video_vga_set_palette): Likewise.
8505 (grub_video_vga_get_info_and_fini): Likewise.
8506 (grub_vga_term): Removed.
8507 (grub_video_vga_adapter): New variable.
8508 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8509 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8510
8511 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * video/readers/jpeg.c: Indented.
8514
8515 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Various jpeg cleanups.
8518
8519 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8520 (grub_jpeg_decode_quan_table): Use sizeof.
8521 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8522
8523 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8524
8525 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8526 tables. Ignore non-last ac bit.
8527 (grub_jpeg_decode_quan_table): Likewise.
8528
8529 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8532 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8533 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8534 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8535 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8536 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8537
8538 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8541 error.
8542
8543 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8546
8547 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8550 condition.
8551
8552 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8555 part.
8556
8557 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8560 pointers.
8561
8562 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8565
8566 2010-05-01 Christian Franke <franke@computer.org>
8567
8568 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8569 Remove broken Cygwin path conversion.
8570 * util/misc.c: [__CYGWIN__] Add include and define.
8571 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8572 for Cygwin 1.7.
8573 (make_system_path_relative_to_its_root): Simplify loop, replace early
8574 return by break.
8575 [__CYGWIN__] Add conversion to win32 path.
8576 Include "/" case in trailing slash removal.
8577
8578 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8581 Reported by: Seth Goldberg
8582
8583 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * commands/help.c (grub_cmd_help): Fix a typo.
8586 Reported by: Seth Goldberg
8587
8588 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8591 name and add N_.
8592 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8593 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8594 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8595 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8596 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8597 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8598 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8599 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8600 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8601 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8602 * normal/context.c (GRUB_MOD_INIT): Likewise.
8603 * normal/main.c (GRUB_MOD_INIT): Likewise.
8604 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8605 * term/serial.c (GRUB_MOD_INIT): Likewise.
8606 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8607
8608 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8611 extra == 0.
8612
8613 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * commands/iorw.c: New file.
8616 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8617 (iorw_mod_SOURCES): New variable.
8618 (iorw_mod_CFLAGS): Likewise.
8619 (iorw_mod_LDFLAGS): Likewise.
8620
8621 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Hotkey support
8624
8625 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8626 * normal/main.c (hotkey_aliases): New variable.
8627 (grub_normal_add_menu_entry): Parse "--hotkey".
8628 * normal/menu_text.c (run_menu): Handle hotkeys.
8629
8630 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * kern/i386/coreboot/init.c (grub_machine_init): Call
8633 grub_machine_mmap_init on qemu.
8634
8635 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * boot/i386/qemu/boot.S: Add a missing .code16.
8638
8639 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Use LBIO on coreboot.
8642
8643 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8644 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8645 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8646 New declaration.
8647 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8648 grub_machine_mmap_init on coreboot.
8649 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8650 GRUB_LINUXBIOS_MEMBER_LINK.
8651 (grub_machine_mmap_iterate): Fix declaration.
8652 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8653
8654 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Split coreboot and multiboot ports.
8657
8658 * conf/i386-multiboot.rmk: New file.
8659 * configure.ac: Add multiboot port.
8660 * include/grub/i386/multiboot/boot.h: New file.
8661 * include/grub/i386/multiboot/console.h: Likewise.
8662 * include/grub/i386/multiboot/init.h: Likewise.
8663 * include/grub/i386/multiboot/kernel.h: Likewise.
8664 * include/grub/i386/multiboot/loader.h: Likewise.
8665 * include/grub/i386/multiboot/memory.h: Likewise.
8666 * include/grub/i386/multiboot/serial.h: Likewise.
8667 * include/grub/i386/multiboot/time.h: Likewise.
8668 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8669 * loader/multiboot.c: Likewise.
8670 * loader/multiboot_mbi2.c: Likewise.
8671 * util/grub-mkrescue.in: Generate multiboot rescue.
8672
8673 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8676
8677 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 Merge handling of input and output terminals. Fix a hang.
8680
8681 * commands/terminal.c (abstract_terminal): New struct.
8682 (handle_command): New function. Based on grub_cmd_terminal_input.
8683 (grub_cmd_terminal_input): Use handle_command.
8684 (grub_cmd_terminal_output): Use handle_command.
8685
8686 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8687
8688 Fix comment handling.
8689
8690 * tests/grub_script_comments.in: New testcase.
8691 * conf/tests.rmk: Rules for new testcase.
8692 * script/yylex.l: Updated flex rules.
8693
8694 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8695
8696 * docs/grub.texi (play): Document that zero pitches produce rests.
8697 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8698 if argc is 1.
8699
8700 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8703 autogen issues.
8704
8705 2010-04-26 Christian Franke <franke@computer.org>
8706
8707 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8708 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8709 (grub_get_prefix): Remove function.
8710 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8711 make_system_path_relative_to_its_root ().
8712 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8713
8714 2010-04-24 Christian Franke <franke@computer.org>
8715
8716 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8717 (kernel_img_LDFLAGS): Remove -static-libgcc.
8718
8719 2010-04-24 Christian Franke <franke@computer.org>
8720
8721 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8722 and CHECK_END_SYMBOL if grub-emu is built.
8723 Unset TARGET_OBJ2ELF if grub-emu is built
8724 without module support.
8725
8726 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8727
8728 Nilfs2 support.
8729
8730 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8731 (grub_fstest_SOURCES): Likewise.
8732 (pkglib_MODULES): Add nilfs2.mod.
8733 (nilfs2_mod_SOURCES): New variable.
8734 (nilfs2_mod_CFLAGS): Likewise.
8735 (nilfs2_mod_LDFLAGS): Likewise.
8736 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8737 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8738 * fs/nilfs2.c: New file.
8739
8740 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8743 is not supported.
8744
8745 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8746
8747 Add grub-mkconfig support for NetBSD.
8748
8749 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8750 * util/grub-mkconfig.in: export new NetBSD specific variables.
8751 * po/POTFILES-shell: added 10_netbsd.in.
8752 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8753
8754 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8755
8756 Fix emu build with grub-emu-pci and grub-emu-modules.
8757
8758 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8759 functions.
8760 * include/grub/libpciaccess.h: New file.
8761 * conf/any-emu.rmk: Update kernel headers for emu build.
8762
8763 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8766
8767 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8770
8771 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8774 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8775 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8776 util/ieee1275/ofpath.c.
8777 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8778 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8779 * include/grub/sparc64/ieee1275/boot.h
8780 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8781 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8782 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8783 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8784 const char *.
8785 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8786 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8787 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8788 install.
8789
8790 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8791
8792 * util/grub-mkconfig.in: Corrected two == equality tests.
8793 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8794 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8795 expect a number appended to it.
8796 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8797 expects a number appended to it.
8798
8799 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8802
8803 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * util/hostdisk.c (make_device_name): Change to new partition naming.
8806
8807 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8810
8811 2010-04-17 Christian Franke <franke@computer.org>
8812
8813 * Makefile.in: Add missing localedir setting.
8814
8815 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8816
8817 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8818 mistake in r2156. Noticed by Anthony Fok.
8819
8820 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8821 @localedir@.
8822 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8823
8824 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8825
8826 Fix a spurious, uninitialized variable warning.
8827
8828 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8829 Initialize variable, shdr.
8830 (grub_freebsd_load_elfmodule): Likewise.
8831 (grub_freebsd_load_elf_meta): Likewise.
8832
8833 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8834
8835 Fix for escaped dollar in double quoted strings.
8836
8837 * script/yylex.l: Updated flex rules.
8838 * conf/tests.rmk: Rule for new testcase.
8839 * tests/grub_script_dollar.in: New testcase.
8840
8841 2010-04-13 Carles Pina i Estany <carles@pina.cat>
8842 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
8843
8844 Enclose all translated strings in grub.cfg in single quotes, and
8845 escape them appropriately (Ubuntu bug #552921).
8846
8847 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8848 * util/grub.d/10_hurd.in: Use it.
8849 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8850 * util/grub.d/10_linux.in (linux_entry): Likewise.
8851
8852 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Fix cygwin compilation.
8855
8856 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8857 * include/grub/misc.h (__register_frame_info)
8858 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8859 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8860 * kern/misc.c (__register_frame_info)
8861 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8862 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8863
8864 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8867
8868 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 Unify libgcc processing.
8871
8872 * Makefile.in (kernel_img_LDFLAGS): New variable.
8873 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8874 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8875 overwriting.
8876 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8877 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8878 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8879 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8880 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8881 overwriting. Remove -lgcc and -static-libgcc
8882 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8883 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8884 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8885 (kernel_img_LDFLAGS): Append instead of overwriting.
8886 Remove -lgcc and -static-libgcc
8887 * conf/sparc64-ieee1275.rmk: Likewise.
8888 * include/grub/powerpc/libgcc.h: Move to ...
8889 * include/grub/libgcc.h: .. this.
8890 * include/grub/libgcc.h: Don't export most of the function on x86.
8891 (__bswapsi2): New export.
8892 (__bswapdi2): Likewise.
8893 * include/grub/mips/libgcc.h: Removed.
8894 * include/grub/sparc64/libgcc.h: Likewise.
8895
8896 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8899 disk_info_msg (conflicts with gettexting into languages with cases).
8900
8901 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8902
8903 Add grub-probe support for NetBSD.
8904
8905 * util/getroot.c (find_root_device): Convert block device to
8906 character device on NetBSD.
8907 * util/probe.c (probe): Require character device on NetBSD.
8908 * util/hostdisk.c: NetBSD specific headers.
8909 (configure_device_driver): new function to tune device driver
8910 parameters (currently only for NetBSD floppy driver).
8911 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8912 via disklabel ioctl).
8913 (open_device): call configure_device_driver on NetBSD.
8914 (convert_system_partition_to_system_disk): NetBSD specific code.
8915 (device_is_wholedisk): Likewise.
8916 (grub_util_biosdisk_get_grub_dev): Likewise.
8917 (make_device_name): Fixed a typo in bsd_part_str.
8918 * configure.ac: check for opendisk() and getrawpartition() on
8919 NetBSD and set LIBUTIL.
8920 * Makefile.in: add LIBUTIL to LIBS.
8921
8922 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8923
8924 Documentation fix.
8925
8926 * util/grub-script-check.c: Better help message.
8927
8928 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8929
8930 Fix FreeBSD build.
8931
8932 * configure.ac: Flex version check.
8933 * conf/common.rmk: Add -Wno-error to sh.mod.
8934 * script/yylex.l: Remove all #pragma.
8935
8936 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8939 prototype.
8940 Reported by: Seth Goldberg.
8941
8942 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8945 Rename "module" to "module2".
8946 Reported by: Seth Goldberg.
8947
8948 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8951 EXPORT_FUNC.
8952 Reported by: Seth Goldberg.
8953
8954 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * lib/posix_wrap/locale.h: Add missing file.
8957 Reported by: Seth Goldberg.
8958
8959 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 grub-emu module load support.
8962
8963 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8964 NO_DYNAMIC_MODULES switched to this.
8965 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8966 (CFLAGS): Likewise.
8967 * conf/any-emu.rmk: Generate symlist.
8968 (kernel_img_HEADERS): Add util/datetime.h.
8969 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8970 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8971 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8972 kern/$(target_cpu)/cache.S.
8973 * configure.ac (grub-emu-modules): New option.
8974 * genmk.rb: Handle multiple source lists.
8975 * include/grub/sdl.h: New file.
8976 * include/grub/libusb.h: Likewise.
8977 * util/grub-emu.c (main): Hanle (host) root.
8978 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8979 GRUB_ERR_UNKNOWN_DEVICE.
8980 * util/misc.c: Move mm functions to ...
8981 * util/mm.c: ... here. All users updated.
8982
8983 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8986 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8987 missing files.
8988 (maintainer-clean): Remove libgcrypt-grub.
8989
8990 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8993
8994 2010-04-09 EFI Coder <eficoder@hotmail.com>
8995
8996 * normal/menu_text.c (print_message): Clean up the message and show
8997 the Fn information when on EFI
8998 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8999
9000 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9003 All users updated.
9004 * normal/crypto.c (read_crypto_list): Likewise.
9005 * normal/dyncmd.c (read_command_list): Likewise.
9006 * normal/term.c (read_terminal_list): Likewise.
9007 * normal/main.c (read_lists): Use explicit prefix.
9008 (read_lists_hook): Use read_lists.
9009 (grub_normal_execute): Likewise.
9010
9011 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9014 Reported by: Thomas Schmitt.
9015 Add -no-emul-boot to grub-mkisofs parameters.
9016
9017 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * font/font.c: Indented.
9020
9021 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9022
9023 Elif support to GRUB script (by Deepak Vankadaru).
9024
9025 * tests/grub_script_if.in: New testcase.
9026 * conf/tests.rmk: Rule for new testcase.
9027 * script/parser.y: Grammar rules for elif.
9028
9029 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9030
9031 While and until loops support to GRUB script.
9032
9033 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9034 (grub_script_create_cmdwhile): New function prototype.
9035 (grub_script_execute_cmdwhile): New function prototype.
9036 * script/execute.c (grub_script_execute_cmdwhile): New function.
9037 * script/parser.y (command): New commands.
9038 (whilecmd): New grammar rule.
9039 (untilcmd): New grammar rule.
9040 * script/script.c (grub_script_create_cmdwhile): New function.
9041 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9042 function.
9043
9044 * tests/grub_script_while1.in: New testcase.
9045 * conf/tests.rmk: Rule for new testcase.
9046
9047 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9050 as *.jpg.
9051
9052 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
9053
9054 GRUB_BACKGROUND support.
9055
9056 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9057 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9058
9059 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 Load fonts and modules for gfxmenu in grub-mkconfig.
9062 Idea by: Mario Vazquez
9063
9064 * util/grub.d/00_header.in: Load pf2 and image modules.
9065
9066 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 grub-mkconfig multiple terminal support.
9069
9070 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9071 * util/grub.d/00_header.in: Likewise.
9072
9073 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9076 we use cd $(srcdir).
9077
9078 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
9079
9080 * util/grub.d/10_linux.in: Only use the first word of
9081 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9082 spaces in GRUB_DISTRIBUTOR.
9083 * util/grub.d/10_kfreebsd.in: Likewise.
9084 * util/grub.d/10_hurd.in: Likewise.
9085
9086 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9087
9088 Fix unit testing framework for Qemu 0.12.
9089
9090 * tests/util/grub-shell.in: Remove -serial stdio option.
9091
9092 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 POSIX header file wrappers.
9095
9096 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9097 equivalents.
9098 * lib/posix_wrap/ctype.h: Likewise.
9099 * lib/posix_wrap/errno.h: Likewise.
9100 * lib/posix_wrap/langinfo.h: Likewise.
9101 * lib/posix_wrap/limits.h: Likewise.
9102 * lib/posix_wrap/localcharset.h: Likewise.
9103 * lib/posix_wrap/stdint.h: Likewise.
9104 * lib/posix_wrap/stdio.h: Likewise.
9105 * lib/posix_wrap/stdlib.h: Likewise.
9106 * lib/posix_wrap/string.h: Likewise.
9107 * lib/posix_wrap/sys/types.h: Likewise.
9108 * lib/posix_wrap/unistd.h: Likewise.
9109 * lib/posix_wrap/wchar.h: Likewise.
9110 * lib/posix_wrap/wctype.h: Likewise.
9111 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9112 (grub_script.yy.h): Likewise.
9113 * script/yylex.l: Remove POSIX emulation #defines.
9114 * Makefile.in (POSIX_CFLAGS): New variable.
9115 (GNULIB_UTIL_CFLAGS): Likewise.
9116
9117 Regexp support.
9118
9119 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9120 (regexp_mod_SOURCES): New variable.
9121 (regexp_mod_CFLAGS): Likewise.
9122 (regexp_mod_LDFLAGS): Likewise.
9123 * commands/regexp.c: New file.
9124 * gnulib/regcomp.c: New file. Imported from gnulib.
9125 * gnulib/regex.c: Likewise.
9126 * gnulib/regex_internal.c: Likewise.
9127 * gnulib/regex_internal.h: Likewise.
9128 * gnulib/regexec.c: Likewise.
9129 * gnulib/regex.h: Likewise.
9130
9131 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9134 unsupported video mode types.
9135
9136 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9139
9140 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9143 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9144
9145 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 Remove unused grub_vga_get_font.
9148
9149 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9150 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9151
9152 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9153
9154 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9155 * include/grub/misc.h: Likewise.
9156
9157 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9158
9159 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9160 for which failure is fatal.
9161
9162 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9163
9164 * util/grub-install.in: Use mkdir -p to create grub directory.
9165 * util/i386/efi/grub-install.in: Likewise.
9166 * util/ieee1275/grub-install.in: Likewise.
9167
9168 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9169
9170 * Makefile.in (LEX): new variable.
9171
9172 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9173
9174 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9175 `=' and added double quotes on operands of this equality test.
9176
9177 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * Makefile.in (uninstall): Remove a leftover debug echo.
9180 Reported by: Grégoire Sutre
9181
9182 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 MIPS multiboot2 support.
9185
9186 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9187 (multiboot2_mod_SOURCES): New variable.
9188 (multiboot2_mod_CFLAGS): Likewise.
9189 (multiboot2_mod_LDFLAGS): Likewise.
9190 (multiboot2_mod_ASFLAGS): Likewise.
9191 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9192 definition.
9193 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9194 (MULTIBOOT_MBI_REGISTER): Likewise.
9195 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9196 (MULTIBOOT_ELF32_MACHINE): Likewise.
9197 (MULTIBOOT_ELF64_MACHINE): Likewise.
9198 * include/grub/mips/multiboot.h: New file.
9199 * include/grub/video.h (grub_video_driver_id): New type
9200 GRUB_VIDEO_DRIVER_SM712.
9201 (grub_video_get_info_and_fini): Export.
9202 (grub_video_get_palette): Likewise.
9203 (grub_video_get_driver_id): Likewise.
9204 * include/multiboot2.h: Resynced with spec.
9205 * loader/i386/multiboot.c: Moved from here ...
9206 * loader/multiboot.c: ... here. All users updated.
9207 (grub_multiboot_boot): Use platform-specific macros.
9208 * loader/i386/multiboot_elfxx.c: Moved from here ...
9209 * loader/multiboot_elfxx.c: ... here. All users updated.
9210 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9211 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9212 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9213
9214 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Import gnulib argp module.
9217
9218 * gnulib/argp-ba.c: New file.
9219 * gnulib/argp-eexst.c: Likewise.
9220 * gnulib/argp-fmtstream.c: Likewise.
9221 * gnulib/argp-fmtstream.h: Likewise.
9222 * gnulib/argp-fs-xinl.c: Likewise.
9223 * gnulib/argp-help.c: Likewise.
9224 * gnulib/argp-namefrob.h: Likewise.
9225 * gnulib/argp-parse.c: Likewise.
9226 * gnulib/argp-pin.c: Likewise.
9227 * gnulib/argp-pv.c: Likewise.
9228 * gnulib/argp-pvh.c: Likewise.
9229 * gnulib/argp-version-etc.c: Likewise.
9230 * gnulib/argp-version-etc.h: Likewise.
9231 * gnulib/argp-xinl.c: Likewise.
9232 * gnulib/argp.h: Likewise.
9233
9234 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * kern/device.c (grub_device_iterate): Clear errors after failed
9237 opening device.
9238
9239 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9242 returned by firmware.
9243
9244 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9247 compilation on coreboot and qemu
9248
9249 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * include/multiboot2.h: Resync with spec.
9252
9253 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 Multiboot2 tag support
9256
9257 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9258 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9259 Remove loader/multiboot_loader.c.
9260 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9261 (grub_multiboot2_real_boot): Likewise.
9262 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9263 (grub_get_multiboot_mmap_count): New proto.
9264 (grub_fill_multiboot_mmap): Likewise.
9265 (grub_multiboot_set_video_mode): Likewise.
9266 (grub_multiboot_set_console): Likewise.
9267 (grub_multiboot_load): Likewise.
9268 (grub_multiboot_load_elf): Likewise.
9269 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9270 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9271 * include/multiboot.h: Resynced with specification.
9272 * include/multiboot2.h: Resynced with specification.
9273 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9274 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9275 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9276 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9277 users updated.
9278 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9279 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9280 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9281 Removed.
9282 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9283 Moved from here...
9284 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9285 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9286 Moved from here...
9287 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9288 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9289 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9290 All users updated.
9291 * loader/i386/multiboot_mbi2.c: New file.
9292
9293 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 Resync with gnulib.
9296
9297 * Makefile.in (GNULIB_CFLAGS): New variable.
9298 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9299 (grub_script_check_CFLAGS): New variable.
9300 * gnulib/alloca.h: Resync with gnulib.
9301 * gnulib/error.c: Likewise.
9302 * gnulib/error.h: Likewise.
9303 * gnulib/fnmatch.c: Likewise.
9304 * gnulib/fnmatch_loop.c: Likewise.
9305 * gnulib/getdelim.c: Likewise.
9306 * gnulib/getline.c: Likewise.
9307 * gnulib/getopt.c: Likewise.
9308 * gnulib/getopt1.c: Likewise.
9309 * gnulib/getopt_int.h: Likewise.
9310 * gnulib/gettext.h: Likewise.
9311 * gnulib/progname.c: Likewise.
9312 * gnulib/progname.h: Likewise.
9313
9314 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9315
9316 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9317 which is the case with --disabled-nls.
9318
9319 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9320 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9321 * util/misc.c: Likewise.
9322 * util/mkisofs/mkisofs.c: Likewise.
9323 * util/mkisofs/mkisofs.h: Likewise.
9324
9325 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 Simplify Apple CC support.
9328
9329 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9330 Add 0 byte at the end not to have a symbol with empty target.
9331 * mmap/i386/pc/mmap_helper.S: Likewise.
9332 * genmk.rb: Ignore errors 2030 and 2050.
9333 * kern/i386/pc/startup.S: Use LOCAL when possible.
9334
9335 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9336
9337 Testcase and the fix for final semicolon on cmdline.
9338
9339 * tests/grub_script_final_semicolon.in: New testcase.
9340 * conf/tests.rmk: Rules for the new testcase.
9341 * script/parser.y: Grammar fix.
9342
9343 2010-03-26 BVK Chaitanya <bvk@localhost>
9344
9345 Blank lines testcase for GRUB script.
9346
9347 * tests/grub_script_blanklines.in: New testcase.
9348 * conf/tests.rmk: Rules for the new testcase.
9349
9350 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 Don't use __FILE__.
9353
9354 * genmk.rb: Add -DGRUB_FILE to all C targets.
9355 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9356 * include/grub/list.h: Likewise.
9357 * include/grub/misc.h: Likewise.
9358 * include/grub/mm.h: Likewise.
9359 * include/grub/test.h: Likewise.
9360 * kern/mm.c: Likewise.
9361 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9362
9363 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 Sunpc partitions support.
9366
9367 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9368 (grub_fstest_SOURCES): Likewise.
9369 (pkglib_MODULES): Add part_sunpc.mod.
9370 (part_sunpc_mod_SOURCES): New variable.
9371 (part_sunpc_mod_CFLAGS): Likewise.
9372 (part_sunpc_mod_LDFLAGS): Likewise.
9373 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9374 * partmap/sunpc.c: New file.
9375
9376 2010-03-26 BVK Chaitanya <bvk@localhost>
9377
9378 For loop support to GRUB script.
9379
9380 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9381 (grub_script_create_cmdfor): New function prototype.
9382 (grub_script_execute_cmdfor): New function prototype.
9383 * script/execute.c (grub_script_execute_cmdfor): New function.
9384 * script/parser.y (command): New for command.
9385 (forcmd): New grammar rule.
9386 * script/script.c (grub_script_create_cmdfor): New function.
9387 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9388 function.
9389 * tests/grub_script_for1.in: New testcase.
9390 * conf/tests.rmk: Rules for new testcase.
9391
9392 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 Nested partitions
9395
9396 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9397 'partition' is NULL, grub_partition_get_start already does that.
9398 * commands/loadenv.c (check_blocklists): Likewise.
9399 (write_blocklists): Likewise.
9400 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9401 (grub_fstest_SOURCES): Likewise.
9402 (pkglib_MODULES): Add part_bsd.mod.
9403 (part_bsd_mod_SOURCES): New variable.
9404 (part_bsd_mod_CFLAGS): Likewise.
9405 (part_bsd_mod_LDFLAGS): Likewise.
9406 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9407 (grub_emu_SOURCES): Likewise.
9408 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9409 * include/grub/bsdlabel.h: New file.
9410 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9411 'get_name'.
9412 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9413 (grub_partition_map_list): New variable.
9414 (grub_partition_map_register): Inline.
9415 (grub_partition_map_unregister): Likewise.
9416 (FOR_PARTITION_MAPS): New macro.
9417 (grub_partition_map_iterate): Removed.
9418 (grub_partition_get_start): Handle nested partitions.
9419 * include/grub/msdos_partition.h: Remove bsd-related entries.
9420 (grub_pc_partition): Remove.
9421 * kern/disk.c (grub_disk_close): Free partition data.
9422 (grub_disk_adjust_range): Handle nested partitions.
9423 * kern/partition.c (grub_partition_map_probe): New function.
9424 (grub_partition_probe): Parse name to number, handle subpartitions.
9425 (get_partmap): New function.
9426 (grub_partition_iterate): Handle subpartitions.
9427 (grub_partition_get_name): Likewise.
9428 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9429 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9430 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9431 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9432 Set 'number'.
9433 (acorn_partition_map_probe): Remove.
9434 (acorn_partition_map_get_name): Likewise.
9435 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9436 Set 'number'.
9437 Set 'index' to 0 since there can be only one partition entry per sector.
9438 (amiga_partition_map_probe): Remove.
9439 (amiga_partition_map_get_name): Likewise.
9440 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9441 Set 'number'.
9442 Set 'offset' and 'index' to real positions of partitions.
9443 (apple_partition_map_probe): Remove.
9444 (apple_partition_map_get_name): Likewise.
9445 * partmap/bsdlabel.c: New file.
9446 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9447 Set 'number'.
9448 Allocate 'data' so it can be correctly freed.
9449 Set 'index' to offset inside sector.
9450 (gpt_partition_map_probe): Remove.
9451 (gpt_partition_map_get_name): Likewise.
9452 * partmap/msdos.c (grub_partition_parse): Remove.
9453 (pc_partition_map_iterate): Don't force raw access.
9454 Set 'number'.
9455 Make 'ext_offset' a local variable.
9456 (pc_partition_map_probe): Remove.
9457 (pc_partition_map_get_name): Remove.
9458 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9459 Set 'number'.
9460 (sun_partition_map_probe): Remove.
9461 (sun_partition_map_get_name): Likewise.
9462 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9463 (grub_pcpart_type): Likewise.
9464 * util/hostdisk.c (open_device): Handle new numbering scheme.
9465 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9466 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9467 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9468 * util/grub-install.in: Insert all subpartition modules.
9469 * util/ieee1275/grub-install.in: Likewise.
9470
9471 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9472
9473 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9474 grammar.
9475
9476 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9477
9478 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9479
9480 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9481
9482 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9483 match where 'make install' puts them.
9484 * util/i386/efi/grub-install.in: Likewise.
9485
9486 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9487
9488 * .bzrignore: Add gentrigtables, grub-script-check,
9489 grub_script_check_init.c, grub_script_check_init.h, and
9490 trigtables.c.
9491
9492 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * kern/parser.c: Indented.
9495
9496 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9499
9500 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9503 alpha_mask_size == 0 case.
9504
9505 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9506
9507 GRUB shell lexer and parser improvements.
9508
9509 * conf/any-emu.rmk: Build rule updates.
9510 * conf/common.rmk: Likewise.
9511 * conf/i386-coreboot.rmk: Likewise.
9512 * conf/i386-efi.rmk: Likewise.
9513 * conf/i386-ieee1275.rmk: Likewise.
9514 * conf/i386-pc.rmk: Likewise.
9515 * conf/powerpc-ieee1275.rmk: Likewise.
9516 * conf/x86_64-efi.rmk: Likewise.
9517
9518 * configure.ac: Configure check for flex.
9519
9520 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9521 types.
9522 (grub_lexer_param): Struct member updates.
9523 (grub_parser_param): Likewise.
9524 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9525 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9526 (grub_script_lexer_init): Prototype update.
9527 (grub_script_lexer_record_start): Likewise.
9528 (grub_script_lexer_record_stop): Likewise.
9529 (grub_script_lexer_yywrap): New function prototype.
9530 (grub_script_lexer_fini): Likewise.
9531 (grub_script_execute_argument_to_string): Removed by...
9532 (grub_script_execute_argument_to_argv): ...better version.
9533
9534 * script/execute.c (ROUND_UPTO): New macro.
9535 (grub_script_execute_cmdline): Out of memory fixes.
9536 (grub_script_execute_menuentry): Likewise.
9537 (grub_script_execute_argument_to_string): Removed. Update all
9538 users by...
9539 (grub_script_execute_argument_to_argv): ...better version.
9540 * script/function.c (grub_script_function_create): Use
9541 grub_script_execute_argument_to_argv instead of
9542 grub_script_execute_argument_to_string.
9543
9544 * script/lexer.c (check_varstate): Removed.
9545 (check_textstate): Removed.
9546 (grub_script_lexer_record_start): Likewise.
9547 (grub_script_lexer_record_stop): Likewise.
9548 (recordchar): Replaced with...
9549 (grub_script_lexer_record): ...new function.
9550 (nextchar): Removed.
9551 (grub_script_lexer_init): Rewritten.
9552 (grub_script_yylex): Rewritten.
9553 (append_newline): New function.
9554 (grub_script_lexer_yywrap): New function.
9555 (grub_script_lexer_fini): New function.
9556 (grub_script_yyerror): Sets error flag.
9557
9558 * script/yylex.l: New file.
9559 (grub_lexer_yyfree): Wrapper for flex yyffre.
9560 (grub_lexer_yyalloc): Likewise.
9561 (grub_lexer_yyrealloc): Likewise.
9562 * script/parser.y: Refactored.
9563
9564 * script/script.c (grub_script_arg_add): Out of memory fixes.
9565 (grub_script_add_arglist): Likewise.
9566 (grub_script_create_cmdline): Likewise.
9567 (grub_script_create_cmdmenu): Likewise.
9568 (grub_script_add_cmd): Likewise.
9569 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9570 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9571 unnecessary code.
9572
9573 * tests/grub_script_echo1.in: New testcase.
9574 * tests/grub_script_vars1.in: New testcase.
9575 * tests/grub_script_echo_keywords.in: New testcase.
9576
9577 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Remove some redundancy in build system.
9580
9581 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9582 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9583 (TARGET_LDFLAGS): Add -nostdlib.
9584 (TARGET_IMG_LDFLAGS): Likewise.
9585 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9586 anything since mmap isn't available.
9587 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9588 Add util/time.c.
9589 (pkglib_MODULES): Remove reboot.mod.
9590 (reboot_mod_SOURCES): Removed.
9591 (reboot_mod_CFLAGS): Likewise.
9592 (reboot_mod_LDFLAGS): Likewise.
9593 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9594 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9595 (DEFSYMFILES): Add kernel_syms.lst.
9596 (kernel_img_HEADERS): Add common headers.
9597 (symlist.c): New target.
9598 (kernel_syms.lst): Likewise.
9599 (pkglib_MODULES): Add memdisk.mod.
9600 (memdisk_mod_SOURCES): New variable.
9601 (memdisk_mod_CFLAGS): Likewise.
9602 (memdisk_mod_LDFLAGS): Likewise.
9603 (pkglib_MODULES): Add reboot.mod.
9604 (reboot_mod_SOURCES): New variable.
9605 (reboot_mod_CFLAGS): Likewise.
9606 (reboot_mod_LDFLAGS): Likewise.
9607 (pkglib_MODULES): Add date.mod.
9608 (date_mod_SOURCES): New variable.
9609 (date_mod_CFLAGS): Likewise.
9610 (date_mod_LDFLAGS): Likewise.
9611 (pkglib_MODULES): Add datehook.mod.
9612 (datehook_mod_SOURCES): New variable.
9613 (datehook_mod_CFLAGS): Likewise.
9614 (datehook_mod_LDFLAGS): Likewise.
9615 (pkglib_MODULES): Add lsmmap.mod.
9616 (lsmmap_mod_SOURCES): New variable.
9617 (lsmmap_mod_CFLAGS): Likewise.
9618 (lsmmap_mod_LDFLAGS): Likewise.
9619 (pkglib_MODULES): Add boot.mod.
9620 (boot_mod_SOURCES): New variable.
9621 (boot_mod_CFLAGS): Likewise.
9622 (boot_mod_LDFLAGS): Likewise.
9623 * conf/i386-coreboot.rmk: Removed redundant parts.
9624 * conf/i386-ieee1275.rmk: Likewise.
9625 * conf/i386-pc.rmk: Likewise.
9626 * conf/mips-yeeloong.rmk: Likewise.
9627 * conf/mips.rmk: Likewise.
9628 * conf/powerpc-ieee1275.rmk: Likewise.
9629 * conf/sparc64-ieee1275.rmk: Likewise.
9630 * conf/x86_64-efi.rmk: Likewise.
9631 * conf/i386-coreboot.rmk: Moved qemu parts ..
9632 * conf/i386-qemu.rmk: ... here
9633 * conf/i386-efi.rmk: Moved common parts to...
9634 * conf/x86-efi.rmk: ... here.
9635 * conf/i386.rmk: Added modules common to all x86 variants.
9636 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9637 * disk/memdisk.c: Remove grub/machine/kernel.h.
9638 * gensymlist.sh.in: Include symbol.h.
9639 * hook/datehook.c: Correct module name.
9640 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9641 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9642 * include/grub/i386/efi/serial.h: New file.
9643 * include/grub/x86_64/efi/serial.h: Likewise.
9644 * util/time.c: Likewise.
9645 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9646
9647 2010-03-14 Colin King <colin.king@ubuntu.com>
9648 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9649
9650 Shrink the pre-partition-table part of boot.img by eight bytes.
9651
9652 * boot/i386/pc/boot.S (ERR): New macro.
9653 (chs_mode): Use ERR.
9654 (geometry_error): Likewise.
9655 (hd_probe_error): Remove. This is only used once, so we wrwite
9656 it inline instead.
9657 (read_error): Instead of printing read_error_string, just set up
9658 %si and fall through to ...
9659 (error_message): ... this new function, also used by ERR.
9660
9661 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9662
9663 Speed up consecutive hostdisk operations on the same device.
9664
9665 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9666 (grub_util_biosdisk_open): Initialise disk->data.
9667 (struct linux_partition_cache): New structure.
9668 (linux_find_partition): Cache partition start positions; these are
9669 expensive to compute on every read and write.
9670 (open_device): Cache open file descriptor in disk->data, so that we
9671 don't have to reopen it and flush the buffer cache for consecutive
9672 operations on the same device.
9673 (grub_util_biosdisk_close): New function.
9674 (grub_util_biosdisk_dev): Set `close' member.
9675
9676 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9677 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9678 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9679 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9680 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9681
9682 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 Compile parts of grub-emu as modules.
9685
9686 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9687 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9688 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9689 (all-local): Add $(GRUB_EMU).
9690 (install-local): Install $(GRUB_EMU).
9691 (uninstall): Uninstall $(GRUB_EMU).
9692 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9693 * kern/dl.c: Likewise.
9694 * commands/sleep.c: Not include machine/time.h.
9695 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9696 (COMMON_CFLAGS): Likewise.
9697 (sbin_UTILITIES): Remove grub-emu.
9698 (grub_emu_SOURCES): Removed.
9699 (kernel_img_RELOCATABLE): New variable.
9700 (pkglib_PROGRAMS): Add kernel.img.
9701 (kernel_img_SOURCES): New variable
9702 (kernel_img_CFLAGS): Likewise.
9703 (kernel_img_LDFLAGS): Likewise.
9704 (TARGET_NO_STRIP): Likewise.
9705 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9706 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9707 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9708 (grub-emu): New target.
9709 (GRUB_EMU): New variable.
9710 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9711 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9712 * loader/xnu.c: Likewise.
9713 * include/grub/pci.h: Likewise.
9714 * genemuinit.sh: New file.
9715 * genemuinitheader.sh: Likewise.
9716 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9717 Support TARGET_NO_DYNAMIC_MODULES.
9718 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9719 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9720 * disk/loopback.c: Likewise.
9721 * font/font_cmd.c: Likewise.
9722 * partmap/acorn.c: Likewise.
9723 * partmap/amiga.c: Likewise.
9724 * partmap/apple.c: Likewise.
9725 * partmap/gpt.c: Likewise.
9726 * partmap/msdos.c: Likewise.
9727 * partmap/sun.c: Likewise.
9728 * parttool/msdospart.c: Likewise.
9729 * term/gfxterm.c: Likewise.
9730 * video/bitmap.c: Likewise.
9731 * video/readers/jpeg.c: Likewise.
9732 * video/readers/png.c: Likewise.
9733 * video/readers/tga.c: Likewise.
9734 * video/video.c: Likewise.
9735 * util/grub-emu.c (read_command_list): Removed.
9736 (main): Don't call util_init_nls.
9737 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9738 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9739
9740 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9743 date.mod, datehook.mod.
9744 (datetime_mod_SOURCES): New variable.
9745 (datetime_mod_CFLAGS): Likewise.
9746 (datetime_mod_LDFLAGS): Likewise.
9747 (date_mod_SOURCES): Likewise.
9748 (date_mod_CFLAGS): Likewise.
9749 (date_mod_LDFLAGS): Likewise.
9750 (datehook_mod_SOURCES): Likewise.
9751 (datehook_mod_CFLAGS): Likewise.
9752 (datehook_mod_LDFLAGS): Likewise.
9753 * conf/sparc64-ieee1275.rmk: Likewise.
9754 * lib/ieee1275/datetime.c: New file.
9755
9756 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9759 (ieee1275_fb_mod_SOURCES): New variable.
9760 (ieee1275_fb_mod_CFLAGS): Likewise.
9761 (ieee1275_fb_mod_LDFLAGS): Likewise.
9762 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9763 New proto.
9764 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9765 (HEAP_MAX_ADDR): Likewise.
9766 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9767 type.
9768 Correct stop condition.
9769 (grub_ieee1275_devices_iterate): New function.
9770 * video/ieee1275.c: New file.
9771
9772 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9775
9776 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9777 as scratch.
9778 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9779 SCRATCH_PAD_DISKBOOT as scratch.
9780 (bootit): Pass Openfirmware pointer in %o4.
9781 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9782 of 0x200000.
9783 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9784 with util/grub-mkrawimage.c.
9785 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9786 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9787 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9788 (grub_aout_load) [GRUB_UTIL]: Likewise.
9789 * include/grub/kernel.h (grub_modules_get_end): New proto.
9790 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9791 (SCRATCH_PAD_BOOT): New definition.
9792 (SCRATCH_PAD_DISKBOOT): Likewise.
9793 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9794 * include/grub/sparc64/ieee1275/ieee1275.h
9795 (grub_ieee1275_original_stack): New variable
9796 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9797 New definition
9798 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9799 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9800 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9801 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9802 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9803 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9804 (grub_platform_image_format_t): New type.
9805 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9806 * kern/main.c (grub_modules_get_end)
9807 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9808 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9809 (codestart): Switch stacks.
9810 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9811 variable.
9812 (grub_heap_init): Use grub_modules_get_end.
9813 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9814 stack.
9815 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9816 (main): Likewise.
9817 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9818
9819 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9820
9821 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9822
9823 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9824
9825 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9826 bug #559005).
9827
9828 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * genmoddep.awk: Output all missing symbols and not only first.
9831
9832 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * NEWS: Put the date of 1.98 release.
9835
9836 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9839 ft2build.h.
9840
9841 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9844 completition in the middle of string.
9845
9846 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * util/grub-mkrescue.in: Use mktemp with explicit template.
9849
9850 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9853
9854 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9857 right pointer.
9858
9859 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 Fix FreeBSD compilation.
9862
9863 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9864 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9865
9866 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9869
9870 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9873
9874 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9877
9878 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9879
9880 Support relative image path in theme file.
9881
9882 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9883 (image_set_property): Handle theme_dir and relative path.
9884
9885 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * configure.ac: Alias amd64 to x86_64.
9888
9889 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * NEWS: mention multiboot on EFI.
9892
9893 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * kern/main.c (grub_load_modules): Handle errors from init functions of
9896 embeded modules.
9897
9898 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * normal/autofs.c (autoload_fs_module): Handle errors.
9901
9902 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 Disable linux.mod on qemu-mips since it's not functional and leads
9905 to compilation failure.
9906
9907 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9908 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9909 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9910 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9911 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9912 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9913 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9914 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9915 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9916 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9917 Reported by: BVK Chaitanya
9918
9919 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9920
9921 * INSTALL: Add gettext as a dependency and add qemu to a new section
9922 "Prerequisites for make-check".
9923
9924 2010-03-04 Christian Franke <franke@computer.org>
9925
9926 * util/grub-pe2elf.c: Add missing include "progname.h".
9927
9928 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * normal/crypto.c (read_crypto_list): Fix a typo.
9931 Reported by: Seth Goldberg.
9932
9933 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
9936 Reported by: Seth Goldberg.
9937
9938 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9941 ascii.bitmaps.
9942
9943 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 * genmk.rb: Remove terminal*.lst in make clean.
9946 Reported by: Seth Goldberg.
9947
9948 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * util/i386/efi/grub-install.in: Copy gettext files.
9951
9952 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9955
9956 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 Wait for user entry basing on presence of output rather than on errors.
9959
9960 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9961 (grub_install_newline_hook): Likewise.
9962 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9963 * normal/menu.c (show_menu): Check line_counter to determine presence
9964 of output.
9965 * normal/term.c (grub_normal_line_counter): New variable.
9966 (grub_normal_get_line_counter): New function.
9967 (grub_install_newline_hook): Likewise.
9968
9969 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9972
9973 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * configure.ac: Update version to 1.98.
9976
9977 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub.d/10_linux.in (linux_entry): Don't default to
9980 gfxpayload=keep if Linux doesn't support video handover.
9981
9982 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Don't compile video modules on yeeloong since video subsystem is part
9985 of kernel.
9986
9987 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9988 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9989 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9990 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9991 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9992 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9993 * include/grub/bitmap_scale.h: Likewise.
9994 * include/grub/bufio.h: Likewise.
9995 * include/grub/font.h: Likewise.
9996 * include/grub/gfxterm.h: Likewise.
9997 * include/grub/video.h: Likewise.
9998 * include/grub/vbe.h: Don't include video_fb.h.
9999 * video/i386/pc/vbe.c: Include video_fb.h.
10000 * commands/i386/pc/vbetest.c: Include video.h.
10001
10002 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10003
10004 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10005 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10006 default entry if GRUB_SAVEDEFAULT=true. This allows using
10007 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10008 saving a new default on every boot.
10009
10010 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10013 * normal/term.c (read_terminal_list): Likewise.
10014 * normal/main.c (grub_normal_init_page): Likewise.
10015 (grub_normal_read_line_real): Likewise.
10016
10017 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10020 memory leak.
10021 Reported by: Seth Goldberg.
10022
10023 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10024
10025 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10026 duplicate declaration of `start'.
10027
10028 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10031 filename.
10032 Reported by: Georgy Buranov
10033
10034 2010-02-20 Carles Pina i Estany <carles@pina.cat>
10035
10036 * util/grub-mkrawimage.c (usage): Change string formatting to
10037 improve gettext.
10038
10039 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10040
10041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10042 backspace keys.
10043
10044 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10047 Reported by: Michael Suchanek.
10048
10049 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
10050
10051 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10052 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10053
10054 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Remove any reference to non-free fonts.
10057
10058 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10059 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10060 uses non-free components.
10061 * font/font.c (grub_font_get_name): Remove example name.
10062 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10063 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10064 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10065 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10066
10067 2010-02-16 Georgy Buranov <gburanov@gmail.com>
10068
10069 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10070
10071 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10074 Double divisor.
10075 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10076 features.
10077 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10078
10079 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10082
10083 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10084
10085 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10086 * docs/grub.texi (Command-line and menu entry commands): Document play
10087 command.
10088
10089 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10090
10091 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10092 parse arguments as inline tempo and notes. Move code for playing notes
10093 to...
10094 (play): ... new function.
10095
10096 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10097
10098 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10099 grub_uint16_t instead of short.
10100 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10101 disk from little endian to cpu endianness.
10102
10103 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10104
10105 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10106 GRUB_TICKS_PER_SECOND instead of 120.
10107
10108 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10111 escape sequence after \e.
10112
10113 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10116 non-ASCII characters.
10117
10118 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10121 set root in single quotes to prevent \, from being unescaped.
10122
10123 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 Prevent unknown commands from stopping menuentry execution.
10126
10127 * script/execute.c (grub_script_execute_cmdline): Print error after
10128 unknown command.
10129
10130 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10133 Reported by: Pavel Pisa.
10134
10135 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10138
10139 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Merge grub_ieee1275_map_physical into grub_map and rename to
10142 grub_ieee1275_map
10143
10144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10145 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10146 Remove.
10147 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10148 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10149 necessary.
10150 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10151
10152 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10155 opening and not after.
10156
10157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10160 constants.
10161
10162 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10165 (alloc_phys): Use ALIGN_UP instead of align_addr.
10166
10167 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10170
10171 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10174
10175 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10178 verbose dprintf.
10179
10180 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 Fix over-4GiB seek on sparc64.
10183
10184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10185 Replace pos_i and pos_lo with pos. All users updated.
10186 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10187 New constant.
10188 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10189 Likewise.
10190 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10191 and pos_lo.
10192
10193 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * util/grub-mkrawimage.c (main): Call set_program_name.
10196
10197 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Properly align 64-bit targets.
10200
10201 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10202 (generate_image): Use ALIGN_ADDR.
10203
10204 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Properly create cross-endian images.
10207
10208 * include/grub/types.h (grub_host_to_target_addr): New macro
10209 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10210
10211 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10214
10215 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10218
10219 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10220 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10221 (grub_linux_boot): Divide by 64K when on VESA.
10222
10223 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Support GRUB_GFXPAYLOAD_LINUX.
10226
10227 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10228 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10229
10230 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10233 to show messages instead of discarding them.
10234 Process errors after executing command and not before. Keep old method
10235 too as precaution.
10236
10237 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * configure.ac: Check for ft2build.h.
10240
10241 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10244
10245 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * genkernsyms.sh.in: Use TARGET_CC.
10248
10249 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
10250
10251 * NEWS: Update.
10252
10253 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * include/grub/multiboot2.h: Remove leftover file.
10256 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10257 * include/grub/partition.h [GRUB_UTIL]: Likewise.
10258
10259 2010-02-07 Yves Blusseau <blusseau@zetam.org>
10260
10261 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
10262
10263 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 Fix warnings in grub-emu when compiling with maximum warning options.
10266
10267 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10268 (grub_arch_modules_addr): Return 0 and not NULL.
10269 * util/misc.c (ENABLE_RELOCATABLE): New definition.
10270 (xstrdup): Use newstr instead of dup.
10271 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10272 of disk to dsk to avoid shadowing.
10273 (find_free_slot): Fix prototype.
10274 * util/getroot.c (grub_util_is_dmraid): Make static.
10275 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10276 Add missing prototype.
10277 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
10278
10279 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10282 appropriately.
10283
10284 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10287 code out.
10288
10289 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10292 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10293 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10294 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10295 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10296 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10297
10298 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * include/grub/err.h (grub_err_printf): Don't export.
10301
10302 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10305
10306 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10309 * kern/misc.c (grub_gettext_dummy): Make static.
10310
10311 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10314 by non-valid ones.
10315 * kern/term.c (grub_putchar): Likewise.
10316
10317 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10320 buggy hook call and memory leak.
10321
10322 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10325
10326 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10329
10330 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10333 modevar.
10334 Return grub_errno on allocation error.
10335
10336 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10339
10340 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10341
10342 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10343 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10344
10345 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10348 non-pxe disk.
10349 (grub_pxefs_open): Likewise.
10350
10351 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10352
10353 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10354 * util/grub.d/10_kfreebsd.in: Likewise.
10355 * util/grub.d/10_linux.in: Likewise.
10356
10357 2010-02-06 Colin D Bennett <colin@gibibit.com>
10358
10359 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10360 (gfxmenu_mod_SOURCES): New variable.
10361 (gfxmenu_mod_CFLAGS): Likewise.
10362 (gfxmenu_mod_LDFLAGS): Likewise.
10363 * include/grub/term.h (grub_term_set_current_output): Declare
10364 argument as const.
10365 * docs/gfxmenu-theme-example.txt: New file.
10366 * gfxmenu/gfxmenu.c: Likewise.
10367 * gfxmenu/gui_box.c: Likewise.
10368 * gfxmenu/gui_canvas.c: Likewise.
10369 * gfxmenu/gui_circular_progress.c: Likewise.
10370 * gfxmenu/gui_image.c: Likewise.
10371 * gfxmenu/gui_label.c: Likewise.
10372 * gfxmenu/gui_list.c: Likewise.
10373 * gfxmenu/gui_progress_bar.c: Likewise.
10374 * gfxmenu/gui_string_util.c: Likewise.
10375 * gfxmenu/gui_util.c: Likewise.
10376 * gfxmenu/icon_manager.c: Likewise.
10377 * gfxmenu/model.c: Likewise.
10378 * gfxmenu/named_colors.c: Likewise.
10379 * gfxmenu/theme_loader.c: Likewise.
10380 * gfxmenu/view.c: Likewise.
10381 * gfxmenu/widget-box.c: Likewise.
10382 * include/grub/gfxmenu_model.h: Likewise.
10383 * include/grub/gfxmenu_view.h: Likewise.
10384 * include/grub/gfxwidgets.h: Likewise.
10385 * include/grub/gui.h: Likewise.
10386 * include/grub/gui_string_util.h: Likewise.
10387 * include/grub/icon_manager.h: Likewise.
10388
10389 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 Agglomerate scrolling in gfxterm.
10392
10393 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10394 (grub_virtual_screen_setup): Initialise 'total_screen'.
10395 (write_char): Split to ...
10396 (paint_char): ... this ...
10397 (write_char): ... and this.
10398 (paint_char): Handle delayed scrolling.
10399 (draw_cursor): Likewise.
10400 (scroll_up): Split to ...
10401 (real_scroll): ... this ...
10402 (scroll_up): ... and this.
10403 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10404 characters.
10405 (grub_gfxterm_refresh): Call real_scroll.
10406
10407 2010-02-06 Colin D Bennett <colin@gibibit.com>
10408
10409 * include/grub/misc.h (grub_iscntrl): New inline function.
10410 (grub_isalnum): Likewise.
10411 (grub_strtol): Likewise.
10412
10413 2010-02-06 Colin D Bennett <colin@gibibit.com>
10414
10415 * normal/menu_text.c (get_entry_number): Move from here ...
10416 * normal/menu.c (get_entry_number): ... moved here.
10417 * include/grub/menu.h (grub_menu_get_default_entry_index):
10418 New prototype.
10419 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10420 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10421 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10422 (grub_menu_viewer_should_return): Likewise.
10423 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10424 * normal/menu_text.c (run_menu): Enable menu switching.
10425 * normal/menu_viewer.c (should_return): New variable.
10426 (menu_viewer_changed): Likewise.
10427 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10428 (grub_menu_viewer_should_return): New function.
10429 (menuviewer_write_hook): Likewise.
10430 (grub_menu_viewer_init): Likewise.
10431
10432 2010-02-06 Colin D Bennet <colin@gibibit.com>
10433 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 Support for gfxterm in a window.
10436
10437 * include/grub/gfxterm.h: New file.
10438 * include/grub/video.h (struct grub_video_rect): New declaration.
10439 (grub_video_rect_t): Likewise.
10440 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10441 (refcount): New variable.
10442 (render_target): Likewise.
10443 (window): Likewise.
10444 (repaint_callback): Likewise.
10445 (grub_virtual_screen_setup): Use 'render_target'.
10446 (init_window): New function.
10447 (grub_gfxterm_init_window): Likewise.
10448 (grub_gfxterm_init): Check reference counter.
10449 Use init_window.
10450 (destroy_window): New function.
10451 (grub_gfxterm_destroy_window): Likewise.
10452 (grub_gfxterm_fini): Check reference counter.
10453 Use destroy_window.
10454 (redraw_screen_rect): Restore viewport.
10455 Use 'render_target' and 'window'.
10456 Call 'repaint_callback'.
10457 (write_char): Use 'render_target'.
10458 (draw_cursor): Likewise.
10459 (scroll_up): Restore viewport.
10460 Use 'render_target' and 'window'.
10461 Call 'repaint_callback'.
10462 (grub_gfxterm_cls): Likewise.
10463 (grub_gfxterm_refresh): Use 'window'.
10464 (grub_gfxterm_set_repaint_callback): New function.
10465 (grub_gfxterm_background_image_cmd): Use 'window'.
10466 (grub_gfxterm_get_term): New function.
10467 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10468
10469 2010-02-06 Colin D Bennett <colin@gibibit.com>
10470
10471 Bitmap scaling support.
10472
10473 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10474 (bitmap_scale_mod_SOURCES): New variable.
10475 (bitmap_scale_mod_CFLAGS): Likewise.
10476 (bitmap_scale_mod_LDFLAGS): Likewise.
10477 * include/grub/bitmap_scale.h: New file.
10478 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10479 (background_image_cmd_options): New variable.
10480 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10481 (cmd): Rename and change type to ...
10482 (background_image_cmd_handle): ... this. All users updated.
10483 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10484 * video/bitmap_scale.c: New file.
10485
10486 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 SDL support.
10489
10490 * Makefile.in (LIBSDL): New variable.
10491 (enable_grub_emu_sdl): Likewise.
10492 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10493 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10494 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10495 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10496 * util/sdl.c: New file.
10497
10498 2010-02-06 Colin D Bennett <colin@gibibit.com>
10499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 Double buffering support.
10502
10503 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10504 * include/grub/video.h: Update comment.
10505 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10506 New type.
10507 (grub_video_fb_doublebuf_blit_init): New prototype.
10508 * term/gfxterm.c (scroll_up): Support double buffering.
10509 (grub_gfxterm_refresh): Likewise.
10510 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10511 (grub_video_fb_doublebuf_blit_init): Likewise.
10512 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10513 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10514 'displayed_page', 'render_page' and 'update_screen'.
10515 (grub_video_vbe_fini): Free offscreen buffer.
10516 (doublebuf_pageflipping_commit): New function.
10517 (doublebuf_pageflipping_update_screen): Likewise.
10518 (doublebuf_pageflipping_init): Likewise.
10519 (double_buffering_init): Likewise.
10520 (grub_video_vbe_setup): Enable doublebuffering.
10521 (grub_video_vbe_swap_buffers): Implement.
10522 (grub_video_vbe_set_active_render_target): Handle double buffering.
10523 (grub_video_vbe_get_active_render_target): Likewise.
10524 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10525 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10526 (grub_video_vbe_enable_double_buffering): Likewise.
10527 (grub_video_vbe_swap_buffers): Use update_screen.
10528 (grub_video_set_mode): Use double buffering.
10529
10530 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10531
10532 * maintainance/gentrigtables.py: Remove.
10533 * lib/trig.c: Likewise.
10534
10535 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10536
10537 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10538 `trigtables.c'.
10539 (trigtables.c): New rule.
10540 (gentrigtables): Likewise.
10541 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10542
10543 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10544
10545 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10546 integer constants.
10547
10548 2010-02-06 Colin D Bennet <colin@gibibit.com>
10549
10550 Trigonometry support.
10551
10552 * include/grub/trig.h: New file.
10553 * lib/trig.c: Likewise.
10554 * maintainance/gentrigtables.py: Likewise.
10555 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10556 (trig_mod_SOURCES): New variable.
10557 (trig_mod_CFLAGS): Likewise.
10558 (trig_mod_LDFLAGS): Likewise.
10559
10560 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10563 disk devices.
10564
10565 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10568 error.
10569
10570 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * util/hostdisk.c (open_device): Don't use partition device when reading
10573 before the partition.
10574 (grub_util_biosdisk_read): Don't read from partition and before the
10575 partition in single operation.
10576 (grub_util_biosdisk_write): Don't write to partition and before the
10577 partition in single operation.
10578
10579 2010-02-03 Torsten Landschoff <torsten@debian.org>
10580
10581 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10582 last sectors.
10583
10584 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10587 CDROM reads.
10588 (grub_biosdisk_write): Refuse to write to CDROM.
10589
10590 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10593
10594 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * font/font.c (find_glyph): Check that bmp_idx is available before
10597 using it.
10598 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10599 with (font == NULL).
10600
10601 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10602
10603 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10604
10605 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10606
10607 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10608 * util/grub-script-check.c (getline): Fix empty lines case.
10609
10610 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10611
10612 * Makefile.in (check): Exit with fail status when one of the tests
10613 fails.
10614 * tests/example_functional_test.c (example_test): Fix reversed assert.
10615 * tests/example_unit_test.c (example_test): Likewise.
10616
10617 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10618
10619 * util/grub.d/10_linux.in: This script does not use any of the
10620 contents of gettext.sh, only the external command `gettext', so stop
10621 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10622 the same prefix as GRUB.)
10623 * util/grub.d/10_kfreebsd.in: Likewise.
10624
10625 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10628 of the line.
10629
10630 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10633 last sectors.
10634
10635 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10638 having a 4KiB and not 32KiB buffer size.
10639
10640 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10641
10642 * util/hostfs.c: Include `<errno.h>'.
10643 (grub_hostfs_read): Handle errors from fseeko() and fread().
10644
10645 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10646
10647 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10648 loop when using read hooks on files whose size isn't sector-aligned.
10649
10650 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10651
10652 Remove unused parameter.
10653
10654 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10655 (grub_iso9660_open): Remove initialization of `data->length'.
10656
10657 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10658
10659 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10660 memleak conditions.
10661
10662 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10663
10664 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10665 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10666
10667 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10668
10669 * util/bin2h.c (usage): Fix warning (space after backslash).
10670
10671 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10672
10673 * font/font.c: Include `grub/fontformat.h.
10674 Remove font file format constants.
10675 (grub_font_load): Use the new macros.
10676 * include/grub/fontformat.h: New file.
10677 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10678 (write_font_pf2): Use the new macros.
10679
10680 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10681
10682 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10683 does.
10684
10685 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10686
10687 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10688
10689 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10690 (_start): Macroify `0x7F'.
10691
10692 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10693 (make_install_device): Use "(pxe)" as fallback prefix when booting
10694 via PXE.
10695
10696 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * configure.ac: Reset LIBS after check for libgcc symbols.
10699
10700 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10701
10702 * util/hostdisk.c (open_device): Add trailing newline to debug
10703 message.
10704
10705 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10706
10707 * configure.ac: Check for `limits.h'.
10708 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10709
10710 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10711
10712 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10713 capitalize error strings.
10714
10715 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10716
10717 * util/grub.d/10_hurd.in: Add a recovery mode.
10718
10719 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * configure.ac: Check for libgcc symbols with -nostdlib.
10722
10723 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10724
10725 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10726
10727 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10730 stack since heap may be unavailable at that point.
10731 (grub_ofconsole_gotoxy): Likewise.
10732
10733 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * configure.ac: Check for _restgpr_14_x.
10736 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10737 and _savegpr_* prototypes.
10738
10739 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10740
10741 Use generic grub_reboot() for i386-efi.
10742
10743 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10744 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10745 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10746
10747 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10750 presence of "prefix" variable as it breaks when normal.mod is
10751 embedded.
10752
10753 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10756 stack since heap is unavailable at that point.
10757
10758 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10761 (grub_freebsd_bootinfo): Rewritten.
10762 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10763
10764 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10767
10768 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10769
10770 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10771 domain now.
10772
10773 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10774
10775 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10776 around for handling "/" to the correct fix. Fix a memory leak. Use
10777 xstrdup instead of strdup.
10778
10779 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10782
10783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10786
10787 * font/font.c (struct grub_font): New member 'bmp_idx'.
10788 (font_init): Initialise 'bmp_idx'.
10789 (load_font_index): Fill 'bmp_idx'.
10790 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10791
10792 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10795 unnecessary calls.
10796
10797 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 Move context handling out of the kernel.
10800
10801 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10802 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10803 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10804 * conf/i386-efi.rmk: Likewise.
10805 * conf/i386-ieee1275.rmk: Likewise.
10806 * conf/i386-pc.rmk: Likewise.
10807 * conf/powerpc-ieee1275.rmk: Likewise.
10808 * conf/sparc64-ieee1275.rmk: Likewise.
10809 * conf/x86_64-efi.rmk: Likewise.
10810 * include/grub/env.h: Include grub/menu.h.
10811 (grub_env_var_type): Removed.
10812 (grub_env_var): Replaced field 'type' with 'global'.
10813 (grub_env_find): New prototype.
10814 (grub_env_context_open): Remove EXPORT_FUNC.
10815 (grub_env_context_close): Likewise.
10816 (grub_env_export): Likewise.
10817 (grub_env_set_data_slot): Removed.
10818 (grub_env_get_data_slot): Likewise.
10819 (grub_env_unset_data_slot): Likewise.
10820 (grub_env_unset_menu): New prototype.
10821 (grub_env_set_menu): Likewise.
10822 (grub_env_get_menu): Likewise.
10823 * include/grub/env_private.h: New file.
10824 * include/grub/normal.h (grub_context_init): New prototype.
10825 (grub_context_fini): Likewise.
10826 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10827 * normal/context.c (grub_cmd_export): ... to here.
10828 * kern/env.c: Include env_private.h.
10829 (HASHSZ): Moved to include/grub/env_private.h.
10830 (grub_env_context): Likewise.
10831 (grub_env_sorted_var): Likewise.
10832 (current_context): Renamed from this ...
10833 (grub_current_context): ...to this. 'static' removed. All users updated.
10834 (grub_env_find): Removed 'static'.
10835 (grub_env_context_open): Moved to normal/context.c.
10836 (grub_env_context_close): Likewise.
10837 (grub_env_export): Likewise.
10838 (mangle_data_slot_name): Removed.
10839 (grub_env_set_data_slot): Likewise.
10840 (grub_env_get_data_slot): Likewise.
10841 (grub_env_unset_data_slot): Likewise.
10842 * kern/main.c (grub_set_root_dev): Don't export root.
10843 It will be done later.
10844 (grub_main): Don't export prefix.
10845 It will be done later.
10846 * normal/context.c: New file.
10847 * normal/main.c (free_menu): Use grub_env_unset_menu.
10848 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10849 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10850 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10851 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10852
10853 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 setpci support.
10856
10857 * commands/setpci.c: New file.
10858 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10859 (setpci_mod_SOURCES): New variable.
10860 (setpci_mod_CFLAGS): Likewise.
10861 (setpci_mod_LDFLAGS): Likewise.
10862
10863 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 Byte-addressable PCI configuration space.
10866
10867 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10868 dword address.
10869 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10870 GRUB_PCI_REG_CACHELINE.
10871 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10872 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10873 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10874 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10875 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10876 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10877 grub_pci_make_address.
10878 (lock_rom_area): Likewise.
10879 * commands/lspci.c (grub_lspci_iter): Use macroses
10880 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10881 of grub_pci_make_address.
10882 * disk/ata.c (grub_ata_pciinit): Likewise.
10883 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10884 (GRUB_PCI_REG_VENDOR): Likewise.
10885 (GRUB_PCI_REG_DEVICE): Likewise.
10886 (GRUB_PCI_REG_COMMAND): Likewise.
10887 (GRUB_PCI_REG_STATUS): Likewise.
10888 (GRUB_PCI_REG_REVISION): Likewise.
10889 (GRUB_PCI_REG_CLASS): Likewise.
10890 (GRUB_PCI_REG_CACHELINE): Likewise.
10891 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10892 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10893 (GRUB_PCI_REG_BIST): Likewise.
10894 (GRUB_PCI_REG_ADDRESSES): Likewise.
10895 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10896 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10897 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10898 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10899 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10900 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10901 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10902 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10903 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10904 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10905 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10906 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10907 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10908 (GRUB_PCI_REG_MIN_GNT): Likewise.
10909 (GRUB_PCI_REG_MAX_LAT): Likewise.
10910 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10911 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10912 * video/efi_uga.c (find_framebuf): Likewise.
10913 * video/sm712.c (grub_video_sm712_setup): Likewise.
10914 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10915 space.
10916
10917 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10918
10919 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10920 can be reliably determined to be supported.
10921
10922 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10923
10924 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10925 that VESA is supported.
10926 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10927 supported.
10928
10929 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10932
10933 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10934
10935 * util/misc.c (make_system_path_relative_to_its_root): Work around
10936 special-casing of "/", as previous incarnation of this routine did.
10937
10938 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 Fix any-emu compilation.
10941
10942 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10943 * grub_bin2h_SOURCES: New variable.
10944
10945 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10946
10947 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10948
10949 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10950
10951 * util/grub.d/00_header.in: Fix handling of locale_dir.
10952
10953 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10956 as possible unifont location (Gentoo).
10957 Reported by: Alexander Brüning
10958
10959 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 Don't try to generate lists for kernel.img.
10962
10963 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10964 (pkglib_MODULES): Remove kernel.img.
10965 (kernel_img_EXPORTS): Removed.
10966 (kernel_img_RELOCATABLE): New variable.
10967 * conf/x86_64-efi.rmk: Likewise.
10968 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10969
10970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10973 grub_xasprintf or grub_snprintf.
10974 (grub_vsprintf): Likewise.
10975 (grub_snprintf): New proto.
10976 (grub_vsnprintf): Likewise.
10977 (grub_xasprintf): Likewise.
10978 (grub_xvasprintf): Likewise.
10979 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10980 (grub_sprintf): Removed.
10981 (grub_vsnprintf): New function.
10982 (grub_snprintf): Likewise.
10983 (grub_xvasprintf): Likewise.
10984 (grub_xasprintf): Likewise.
10985 (grub_vsprintf): Renamed to ...
10986 (grub_vsnprintf_real): ...this. New argument max_len.
10987
10988 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10989
10990 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10991 fix grub-script-check warning.
10992
10993 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/font.h (grub_font_load): Fix prototype.
10996
10997 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11000
11001 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * include/grub/x86_64/at_keyboard.h: New file.
11004
11005 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * loader/mips/linux.c: Include missing grub/i18n.h.
11008
11009 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11010
11011 * normal/menu.c (notify_execution_failure): Clarify error message.
11012
11013 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11014
11015 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11016 return value (and revert all return statements). Update users.
11017
11018 2010-01-20 Dan Merillat <debian@dan.merillat.org>
11019
11020 * kern/device.c (grub_device_iterate): Allocate new part_ent
11021 structure based on sizeof (*p) rather than sizeof (p->next), to
11022 account for structure padding.
11023
11024 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11025 disk is NULL, which might happen for LVM physical volumes with no
11026 LVM signature.
11027
11028 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11029
11030 * loader/mips/linux.c (grub_cmd_initrd)
11031 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11032
11033 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11034
11035 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11036 (grub_video_video_init, grub_video_bitmap_init)
11037 (grub_font_manager_init, grub_term_gfxterm_init)
11038 (grub_at_keyboard_init): New extern declarations.
11039 (grub_machine_init): Initialize gfxterm and at_keyboard.
11040
11041 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11042
11043 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11044 `gfxterm.mod' into core image.
11045
11046 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11047 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11048 (kernel_img_FORMAT): Copy to ...
11049
11050 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11051 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11052 (kernel_img_FORMAT): ... here, and ...
11053
11054 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11055 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11056 (kernel_img_FORMAT): ... here.
11057
11058 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11059 and input (at_keyboard) terminals in kernel.
11060 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11061
11062 (pkglib_MODULES): Remove `pci.mod'.
11063 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11064 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11065 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11066 (at_keyboard_mod_LDFLAGS): Remove variables.
11067
11068 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
11069
11070 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11071
11072 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11073
11074 * include/grub/mips/libgcc.h: Only export symbols for functions
11075 that libgcc provides.
11076
11077 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 MIPS support.
11080
11081 * bus/bonito.c: New file.
11082 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11083 GRUB_PCI_NUM_DEVICES.
11084 * term/i386/pc/serial.c: Move to ...
11085 * term/serial.c: ... here. All users updated.
11086 * util/i386/pc/grub-mkimage.c: Move to ...
11087 * util/grub-mkrawimage.c: ... here. All users updated.
11088 * term/i386/pc/at_keyboard.c: Move to ...
11089 * term/at_keyboard.c: ... here. All users updated.
11090 * conf/mips-qemu-mips.rmk: New file.
11091 * conf/mips-yeeloong.rmk: Likewise.
11092 * conf/mips.rmk: Likewise.
11093 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11094 mipsel-qemu-mips.
11095 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11096 to port addresses.
11097 (grub_ata_pciinit): Support CS5536.
11098 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11099 * font/font_cmd.c (loadfont_command): Open file before passing it to
11100 grub_font_load.
11101 (pseudo_file_read): New function.
11102 (pseudo_file_close): Likewise.
11103 (pseudo_fs): New structure.
11104 (load_font_module): New function.
11105 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11106 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11107 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11108 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11109 * include/grub/i386/at_keyboard.h: Split into ...
11110 * include/grub/at_keyboard.h: ... this ...
11111 * include/grub/i386/at_keyboard.h: ... and this.
11112 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11113 New prototype.
11114 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11115 updated.
11116 (grub_elf64_size): Likewise.
11117 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11118 filename.
11119 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11120 * include/grub/i386/coreboot/serial.h: Rewritten.
11121 * include/grub/i386/ieee1275/serial.h: Include
11122 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11123 * include/grub/i386/pc/serial.h: Moved from here ...
11124 * include/grub/serial.h: ... to here. All users updated.
11125 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11126 (GRUB_PCI_NUM_BUS): Likewise.
11127 (GRUB_PCI_NUM_DEVICES): Likewise.
11128 (grub_pci_device_map_range): Add missing volatile keyword.
11129 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11130 * include/grub/mips/at_keyboard.h: New file.
11131 * include/grub/mips/cache.h: Likewise.
11132 * include/grub/mips/io.h: Likewise.
11133 * include/grub/mips/kernel.h: Likewise.
11134 * include/grub/mips/libgcc.h: Likewise.
11135 * include/grub/mips/pci.h: Likewise.
11136 * include/grub/mips/qemu-mips/boot.h: Likewise.
11137 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11138 * include/grub/mips/qemu-mips/loader.h: Likewise.
11139 * include/grub/mips/qemu-mips/memory.h: Likewise.
11140 * include/grub/mips/qemu-mips/serial.h: Likewise.
11141 * include/grub/mips/qemu-mips/time.h: Likewise.
11142 * include/grub/mips/relocator.h: Likewise.
11143 * include/grub/mips/time.h: Likewise.
11144 * include/grub/mips/types.h: Likewise.
11145 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11146 * include/grub/mips/yeeloong/boot.h: Likewise.
11147 * include/grub/mips/yeeloong/kernel.h: Likewise.
11148 * include/grub/mips/yeeloong/loader.h: Likewise.
11149 * include/grub/mips/yeeloong/memory.h: Likewise.
11150 * include/grub/mips/yeeloong/pci.h: Likewise.
11151 * include/grub/mips/yeeloong/serial.h: Likewise.
11152 * include/grub/mips/yeeloong/time.h: Likewise.
11153 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11154 * kern/elf.c (grub_elf32_size): New parameter. All users
11155 updated.
11156 (grub_elf64_size): Likewise.
11157 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11158 Load modules before saying "Welcome to GRUB!".
11159 Call grub_refresh after saying "Welcome to GRUB!".
11160 * kern/mips/cache.S: New file.
11161 * kern/mips/cache_flush.S: Likewise.
11162 * kern/mips/dl.c: Likewise.
11163 * kern/mips/init.c: Likewise.
11164 * kern/mips/qemu-mips/init.c: Likewise.
11165 * kern/mips/startup.S: Likewise.
11166 * kern/mips/yeeloong/init.c: Likewise.
11167 * kern/term.c (grub_putcode): Handle NULL terminal.
11168 (grub_getcharwidth): Likewise.
11169 (grub_getkey): Likewise.
11170 (grub_checkkey): Likewise.
11171 (grub_getkeystatus): Likewise.
11172 (grub_getxy): Likewise.
11173 (grub_getwh): Likewise.
11174 (grub_gotoxy): Likewise.
11175 (grub_cls): Likewise.
11176 (grub_setcolorstate): Likewise.
11177 (grub_setcolor): Likewise.
11178 (grub_getcolor): Likewise.
11179 (grub_refresh): Likewise.
11180 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11181 (write_jump): Add hatch nop.
11182 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11183 * lib/mips/setjmp.S: New file.
11184 * loader/mips/linux.c: Likewise.
11185 * term/i386/pc/at_keyboard.c: Move from here ...
11186 * term/at_keyboard.c: ... to here.
11187 * term/i386/pc/serial.c: Moved from here ...
11188 * term/serial.c: ... to here. All users updated.
11189 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11190 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11191 (serial_translate_key_sequence): Avoid deadlock.
11192 (grub_serial_getkey): Handle backspace.
11193 (grub_serial_putchar): Fix newline handling.
11194 * util/i386/pc/grub-mkimage.c: Move from here ...
11195 * util/grub-mkrawimage.c: ... to here. All users updated.
11196 (generate_image): New parameters 'font_path' and 'format'.
11197 Support embedding font.
11198 Use grub_host_to_target* instead of grub_cpu_to_le*.
11199 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11200 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11201 (options): New option "--font".
11202 (usage): Likewise.
11203 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11204 (main): Handle "--font".
11205 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11206 (grub_virtual_screen_setup): Set bg_color_display.
11207 (redraw_screen_rect): Use bg_color_display instead of incorrect
11208 bg_color.
11209 (grub_gfxterm_cls): Likewise.
11210 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11211 Support embedding config file.
11212 (add_segments): Likewise.
11213 (options): New option "--config".
11214 (main): Handle "--config".
11215 * video/sm712.c: New file.
11216
11217 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11218
11219 Fix parallel builds.
11220
11221 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11222 font.c depend on ascii.h).
11223
11224 2010-01-12 Carles Pina i Estany <carles@pina.cat>
11225
11226 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11227
11228 2010-01-11 Carles Pina i Estany <carles@pina.cat>
11229
11230 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11231 By default: disabled.
11232 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11233 parameter.
11234
11235 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11236
11237 * font/font.c: Update copyright years.
11238 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11239
11240 2010-01-10 Carles Pina i Estany <carles@pina.cat>
11241
11242 * font/font.c: Include `ascii.h'.
11243 (ASCII_BITMAP_SIZE): New macro.
11244 (ascii_font_glyph): Define.
11245 (ascii_glyph_lookup): New function.
11246 (grub_font_get_string_width): Change comment. If glyph not found, use
11247 ascii_glyph_lookup.
11248 (grub_font_get_glyph_with_fallback): If glyph not available returns
11249 ascii_glyph_lookup.
11250 * util/grub-mkfont.c (file_formats): New enum.
11251 (options): Add `ascii-bitmaps' new option.
11252 (usage): Add `asii-bitmaps' new option.
11253 (write_font_ascii_bitmap): New function.
11254 (write_font): Rename to ...
11255 (write_font_p2): ... this. Remove print_glyphs call.
11256 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11257 used. Call print_glyphs.
11258 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11259
11260 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11261
11262 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11263 (grub_bin2h_SOURCES): New variable.
11264 * util/bin2h.c: New file.
11265
11266 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * include/multiboot.h: Resynced with spec.
11269 * include/multiboot2.h: Likewise.
11270 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11271 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11272
11273 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11274
11275 * include/grub/term.h (grub_term_register_input,
11276 grub_term_register_output): Check return of terminal init()
11277 routines, and abort if errors are raised.
11278
11279 * commands/terminal.c: Update copyright year.
11280
11281 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11282
11283 * commands/terminal.c (grub_cmd_terminal_input)
11284 (grub_cmd_terminal_output): Check return of terminal init()
11285 routines, and abort if errors are raised.
11286
11287 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * include/grub/i386/bsd.h: Fix include pathes.
11290
11291 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 Add missing *BSD copyright headers.
11294
11295 * include/grub/aout.h: Add BSD licence.
11296 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11297 * include/grub/i386/freebsd_linker.h: ... here,
11298 * include/grub/i386/freebsd_reboot.h: ... here,
11299 * include/grub/i386/netbsd_bootinfo.h: ... here,
11300 * include/grub/i386/netbsd_reboot.h: ... here,
11301 * include/grub/i386/openbsd_bootarg.h: ... here,
11302 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11303 licence to each file.
11304
11305 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11306
11307 * acinclude.m4: Remove `nop' assembly instruction; it's not
11308 implemented by all architectures.
11309
11310 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11311
11312 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11313 ELILO. This is no longer necessary.
11314
11315 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11316
11317 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11318
11319 * util/grub-script-check.c: grub-script-check tool.
11320 * conf/common.rmk: Make rules for grub-script-check.
11321
11322 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11323
11324 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11325 spotting it back in 2008. Shame on me for forgetting he did.
11326
11327 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11328
11329 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11330
11331 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11332 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11333 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11334 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11335 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11336 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11337
11338 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11339
11340 * include/grub/test.h: Add license header.
11341 * tests/example_functional_test.c: Likewise.
11342 * tests/example_unit_test.c: Likewise.
11343 * tests/lib/functional_test.c: Likewise.
11344 * tests/lib/test.c: Likewise.
11345 * tests/lib/unit_test.c: Likewise.
11346
11347 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Use flag-based instead of hook-based video mode selection and "auto"
11350 keyword.
11351
11352 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11353 (grub_video_set_mode): Changed prototype. All users updated.
11354 (grub_video_check_mode_flag): New inline function.
11355 * video/video.c (parse_modespec): New function.
11356 (grub_video_set_mode): Parse flags and keywords.
11357
11358 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11359
11360 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11361 fprintf call.
11362
11363 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11364
11365 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11366
11367 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11368
11369 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11370 string.
11371 * util/grub-emu.c (usage): Likewise.
11372 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11373 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11374 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11375 * util/i386/pc/grub-setup.c (usage): Likewise.
11376
11377 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11378
11379 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11380 the message.
11381 (grub_util_info): Likewise.
11382 (grub_util_error): Likewise.
11383 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11384 and/or new lines in `grub_util_warna', `grub_util_info',
11385 `grub_util_error' calls.
11386 * util/getroot.c: Likewise.
11387 * util/grub-editenv.c: Likewise.
11388 * util/grub-emu.c: Likewise.
11389 * util/grub-fstest.c: Likewise.
11390 * util/grub-mkdevicemap.c: Likewise.
11391 * util/grub-mkfont.c: Likewise.
11392 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11393 * util/grub-mkrelpath.c: Likewise.
11394 * util/grub-pe2elf.c: Likewise.
11395 * util/grub-probe.c: Likewise.
11396 * util/hostdisk.c: Likewise.
11397 * util/i386/efi/grub-mkimage.c: Likewise.
11398 * util/i386/pc/grub-mkimage.c: Likewise.
11399 * util/i386/pc/grub-setup.c: Likewise.
11400 * util/ieee1275/ofpath.c: Likewise.
11401 * util/mkisofs/eltorito.c: Likewise.
11402 * util/mkisofs/rock.c: Likewise.
11403 * util/mkisofs/write.c: Likewise.
11404 * util/raid.c: Likewise.
11405 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11406 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11407
11408 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 Enable multiboot on non-pc.
11411
11412 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11413 multiboot.mod and multiboot2.mod to ...
11414 * conf/i386.rmk (pkglib_MODULES): ... here.
11415 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11416 Moved to ...
11417 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11418 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11419 Moved to ...
11420 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11421 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11422 Moved to ...
11423 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11424 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11425 Moved to ...
11426 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11427 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11428 relocator.mod.
11429 (ata_mod_SOURCES): Removed.
11430 (ata_mod_CFLAGS): Likewise.
11431 (ata_mod_LDFLAGS): Likewise.
11432 (relocator_mod_SOURCES): Removed.
11433 (relocator_mod_CFLAGS): Likewise.
11434 (relocator_mod_ASFLAGS): Likewise.
11435 (relocator_mod_LDFLAGS): Likewise.
11436 Include i386.mk.
11437 * include/grub/x86_64/multiboot.h: New file.
11438 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11439 Terminate EFI.
11440
11441 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 Video multiboot support.
11444
11445 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11446 New prototype.
11447 * include/multiboot.h: Resynced with multiboot specification.
11448 * include/multiboot2.h: Likewise.
11449 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11450 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11451 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11452 (HAS_VGA_TEXT): Likewise.
11453 (accepts_video): New variable.
11454 (grub_multiboot_set_accepts_video): New function.
11455 (grub_multiboot_get_mbi_size): Account for video structures.
11456 (set_video_mode): New function.
11457 (retrieve_video_parameters): Likewise.
11458 (grub_multiboot_make_mbi): Fill video fields.
11459
11460 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 Video driver ids.
11463
11464 * include/grub/video.h (grub_video_driver_id): New type.
11465 (grub_video_adapter): New member 'id'. All users updated.
11466 (grub_video_get_driver_id): New proto.
11467 * video/video.c (grub_video_get_driver_id): New function.
11468
11469 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11470
11471 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11472 `var=val'.
11473
11474 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11475
11476 * normal/cmdline.c (print_completion): Gettextizze.
11477
11478 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11479
11480 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11481
11482 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11483
11484 * gettext/gettext.c (grub_gettext_translate): Push and pop
11485 grub_errno.
11486 (grub_gettext_delete_list): Change comment style.
11487 * kern/err.c (grub_error): Gettextizze.
11488 (grub_fatal): Gettextizze.
11489
11490 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11491
11492 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11493 (grub_linux16_real_boot): ... this.
11494 * kern/i386/loader.S: Likewise.
11495 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11496 (grub_linux16_boot): New function. Switches to text mode and calls
11497 grub_linux16_real_boot().
11498
11499 * loader/i386/bsd.c: Include `<grub/video.h>'.
11500 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11501 text mode before calling grub_unix_real_boot().
11502
11503 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11504 (grub_multiboot_boot): Switch to text mode before calling
11505 grub_relocator32_boot().
11506
11507 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11508 (grub_chainloader_boot): Switch to text mode before calling
11509 grub_chainloader_real_boot().
11510
11511 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11512 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11513
11514 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11515 non-empty value.
11516
11517 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11518 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11519
11520 * util/grub.d/00_header.in: Define a "savedefault" function for use
11521 in menu entries.
11522 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11523
11524 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11525 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11528 saved_entry if boot_once is unset.
11529 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11530 previous saved entry (i.e. grub-reboot).
11531
11532 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11533
11534 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11535
11536 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11537
11538 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11539 `var=val'.
11540 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11541
11542 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11543
11544 * util/grub-reboot.in: Fix --version output.
11545 * util/grub-set-default.in: Likewise.
11546
11547 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11548
11549 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11550 blocks.
11551
11552 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11553
11554 * util/grub.d/00_header.in: Quote the value assigned to `default',
11555 in case it contains spaces.
11556
11557 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11558
11559 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11560 `save_default_entry' call from the macosx case to the linux case.
11561
11562 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11563 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11564
11565 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11566 in `chosen' environment variable.
11567 * normal/menu_text.c (get_entry_number): Check if the variable
11568 matches the title of a menu entry.
11569 (run_menu): Pass menu to get_entry_number.
11570
11571 * util/grub-reboot.in: New file.
11572 * util/grub-set-default.in: New file.
11573 * conf/common.rmk (grub-reboot): New utility.
11574 (grub-set-default): New utility.
11575
11576 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11577 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11578 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11579 move it to `saved_entry' for the next boot. Load environment on
11580 initialisation.
11581 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11582 * util/grub.d/10_hurd.in: Likewise.
11583 * util/grub.d/10_linux.in (linux_entry): Likewise.
11584 * util/grub.d/10_windows.in: Likewise.
11585 * util/grub.d/30_os-prober.in: Likewise.
11586
11587 * util/grub-install.in: Create environment block.
11588 * util/i386/efi/grub-install.in: Likewise.
11589 * util/ieee1275/grub-install.in: Likewise.
11590 * util/sparc64/ieee1275/grub-install.in: Likewise.
11591
11592 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11593
11594 Unit testing framework for GRUB.
11595
11596 * Makefile.in: Test framework build rules for 'make check'.
11597 * conf/tests.rmk: Build rules for individual tests and framework.
11598
11599 * include/grub/test.h: Header file for whitebox tests.
11600 * tests/lib/functional_test.c: Framework support for whitebox
11601 functional tests.
11602 * tests/lib/test.c: Common whitebox testing code for unit and
11603 functional tests.
11604 * tests/lib/unit_test.c: Framework support for whitebox unit
11605 tests.
11606
11607 * tests/util/grub-shell-tester.in: Support utility for grub-script
11608 tests.
11609 * tests/util/grub-shell.in: Utility to execute grub-script
11610 commands in a Qemu instance.
11611
11612 * tests/example_functional_test.c: Example whitebox functional
11613 test.
11614 * tests/example_grub_script_test.in: Example grub-script test.
11615 * tests/example_scripted_test.in: Example scripted test.
11616 * tests/example_unit_test.c: Example whitebox unit test.
11617
11618 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11621 Add loader/i386/multiboot_mbi.c.
11622 (multiboot2_mod_SOURCES): Likewise.
11623 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11624 (multiboot2_mod_SOURCES): Likewise.
11625 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11626 (grub_multiboot_make_mbi): Likewise.
11627 (grub_multiboot_free_mbi): Likewise.
11628 (grub_multiboot_init_mbi): Likewise.
11629 (grub_multiboot_add_module): Likewise.
11630 (grub_multiboot_set_bootdev): Likewise.
11631 * loader/i386/multiboot.c (mbi): Removed.
11632 (mbi_dest): Likewise.
11633 (alloc_mbi): New variable.
11634 (grub_multiboot_payload_size): Removed. All users updated.
11635 (grub_multiboot_pure_size): New variable.
11636 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11637 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11638 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11639 (grub_fill_multiboot_mmap): Likewise.
11640 (grub_multiboot_get_bootdev): Likewise.
11641 (grub_multiboot): Use multiboot_mbi functions.
11642 * loader/i386/multiboot_mbi.c: New file.
11643
11644 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11647 it would result in module crash.
11648
11649 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11652 (grub_ofconsole_getwh): Split to ...
11653 (grub_ofconsole_getwh): ... this.
11654 (grub_ofconsole_dimensions): ...and this.
11655 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11656
11657 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11658
11659 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11660
11661 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * loader/i386/pc/multiboot2.c: Removed stalled file.
11664
11665 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11668 Reported by: Grégoire Sutre
11669
11670 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11671
11672 * util/misc.c (canonicalize_file_name): New function.
11673 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11674 instead of realpath().
11675
11676 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11677
11678 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11679 and make it clearer that it's optional. Based on confusion
11680 witnessed on IRC.
11681
11682 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11685 in premature implicit newline.
11686
11687 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11690 which resulted in garbled command line at the end of screen.
11691
11692 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11693
11694 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11695 initialization with similar approach as with other Linux loaders.
11696
11697 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11698
11699 Fix i386-ieee1275 build.
11700
11701 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11702 and grub_term_height() for video_{width,height} initialization.
11703
11704 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11705
11706 Fix grub-emu build.
11707
11708 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11709
11710 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11711 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11712
11713 Support for multiple terminals.
11714
11715 * Makefile.in (pkglib_DATA): terminal.lst.
11716 (terminal.lst): New target.
11717 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11718 (GRUB_MOD_INIT(handler)): Likewise.
11719 (GRUB_MOD_FINI(handler)): Likewise.
11720 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11721 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11722 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11723 (grub_cmd_sleep): Use grub_term_save_pos.
11724 * commands/terminal.c: New file.
11725 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11726 commands/terminal.c and lib/charset.c.
11727 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11728 (pkglib_MODULES): Add terminal.mod.
11729 (terminal_mod_SOURCES): New variable.
11730 (terminal_mod_CFLAGS): Likewise.
11731 (terminal_mod_LDFLAGS): Likewise.
11732 * genhandlerlist.sh: Don't handle terminals.
11733 * genmk.rb: Generate terminal-*.lst.
11734 * genterminallist.sh: New file.
11735 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11736 (grub_is_valid_utf8): Likewise.
11737 (grub_utf8_to_ucs4_alloc): Likewise.
11738 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11739 (grub_menu_register_viewer): Changed argument.
11740 (grub_menu_try_text): New proto.
11741 (grub_gfxmenu_try_hook): New declaration.
11742 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11743 (grub_menu_init_page): Additional argument term.
11744 (grub_normal_init_page): Likewise.
11745 (grub_cmdline_get): Arguments simplified.
11746 (grub_utf8_to_ucs4_alloc): Removed.
11747 (grub_print_ucs4): Additional argument term.
11748 (grub_getstringwidth): Likewise.
11749 (grub_print_message_indented): Likewise.
11750 (grub_menu_text_register_instances): New proto.
11751 (grub_show_menu): Likewise.
11752 (read_terminal_list): Likewise.
11753 (grub_set_more): Likewise.
11754 * include/grub/parser.h: Include handler.h.
11755 * include/grub/reader.h: Rewritten.
11756 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11757 (GRUB_TERM_WIDTH): Changed to function.
11758 (GRUB_TERM_HEIGHT): Likewise.
11759 (GRUB_TERM_BORDER_WIDTH): Likewise.
11760 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11761 (GRUB_TERM_NUM_ENTRIES): Likewise.
11762 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11763 (GRUB_TERM_CURSOR_X): Likewise.
11764 (grub_term_input_class): Likewise.
11765 (grub_term_output_class): Likewise.
11766 (grub_term_outputs_disabled): New declaration.
11767 (grub_term_inputs_disabled): Likewise.
11768 (grub_term_outputs): Likewise.
11769 (grub_term_inputs): Likewise.
11770 (grub_term_register_input): Rewritten.
11771 (grub_term_register_output): Likewise.
11772 (grub_term_unregister_input): Likewise.
11773 (grub_term_unregister_output): Likewise.
11774 (FOR_ACTIVE_TERM_INPUTS): New macro.
11775 (FOR_DISABLED_TERM_INPUTS): Likewise.
11776 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11777 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11778 * include/grub/terminfo.h: Add oterm argument to all protypes.
11779 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11780 Use grub_rescue_run.
11781 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11782 All users updated.
11783 * kern/reader.c: Removed. All users updated.
11784 * kern/rescue_reader.c (grub_rescue_init): Removed.
11785 (grub_rescue_reader): Likewise.
11786 (grub_register_rescue_reader): Likewise.
11787 (grub_rescue_run): New function based on kern/reader.c.
11788 * kern/term.c: Adapted for multiterm.
11789 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11790 (grub_is_valid_utf8): Likewise.
11791 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11792 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11793 right terminal.
11794 * loader/i386/linux.c (grub_linux_boot): Likewise.
11795 * normal/auth.c (grub_username_get): New function.
11796 (grub_auth_check_authentication): Use grub_username_get.
11797 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11798 * normal/color.c: Adapt for multiterm.
11799 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11800 (grub_normal_init_page): Additional argument term.
11801 (read_lists): Call read_terminal_lists.
11802 (grub_enter_normal_mode): Call grub_cmdline_run.
11803 Handle grub_normal_exit_level.
11804 (grub_cmd_normal): Make reentrant.
11805 (grub_cmd_normal_exit): New function.
11806 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11807 * normal/menu.c: Adapt for multiterm.
11808 * normal/menu_entry.c: Likewise.
11809 * normal/menu_text.c: Likewise.
11810 * normal/menu_viewer.c: Removed. All users updated.
11811 * normal/term.c: New file.
11812 * util/console.c: Change order of includes to workaround a bug in
11813 ncurses headers.
11814 * term/terminfo.c: New argument oterm on all exported functions.
11815 All users updated.
11816 * util/grub-editenv.c (grub_term_input_class): Removed.
11817 (grub_term_output_class): Likewise.
11818
11819 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11820
11821 Make loader output a bit more user-friendly.
11822
11823 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11824 is being loaded. Likewise for the Hurd.
11825
11826 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11827 that kernel of FreeBSD ${version} is being loaded.
11828
11829 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11830 grub_dprintf().
11831 (grub_cmd_initrd): Likewise.
11832 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11833 that Linux ${version} is being loaded. Likewise for initrd.
11834
11835 2010-01-09 Carles Pina i Estany <carles@pina.cat>
11836
11837 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11838
11839 2010-01-08 Carles Pina i Estany <carles@pina.cat>
11840
11841 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11842 (GRUB_MOD_INIT): Gettextizze.
11843 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11844 (GRUB_MOD_INIT): Gettextizze.
11845 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11846 (grub_cmd_linux): Capitalise Linux.
11847 (GRUB_MOD_INIT): Gettextizze.
11848 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11849 (grub_cmd_linux): Capitalise Linux.
11850 (GRUB_MOD_INIT): Gettextizze.
11851 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11852 (grub_cmd_linux): Capitalise Linux.
11853 (GRUB_MOD_INIT): Gettextizze.
11854 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11855 (GRUB_MOD_INIT): Gettextizze.
11856 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11857 (grub_cmd_linux): Capitalise Linux.
11858 (GRUB_MOD_INIT): Gettextizze.
11859 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11860 (grub_cpu_xnu_init): Gettextizze.
11861 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11862 (GRUB_MOD_INIT): Gettextizze.
11863 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11864 (GRUB_MOD_INIT): Gettextizze.
11865 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11866 (grub_linux_load64): Capitalise Linux.
11867 (GRUB_MOD_INIT): Gettextizze.
11868 * loader/xnu.c: Include `<grub/i18n.h>'.
11869 (GRUB_MOD_INIT): Gettextizze.
11870 * po/POTFILES: Add `loader/efi/appleloader.c',
11871 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11872 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11873 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11874 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11875 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11876 and `loader/xnu.c'.
11877
11878 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11879
11880 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11881
11882 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11883
11884 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11885 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11886 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11887
11888 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11889
11890 Reset Multiboot 2 support. New loader implements the draft in
11891 /branches/multiboot2 and shares as much code as possible with the
11892 production Multiboot 1 implementation.
11893
11894 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11895 * loader/multiboot2.c: Likewise.
11896 * loader/i386/multiboot_helper.S: Likewise.
11897 * include/multiboot2.h: Replace with latest version from the draft
11898 in /branches/multiboot2.
11899
11900 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11901 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11902 and `loader/multiboot2.c'.
11903 (pkglib_MODULES): Add `multiboot2.mod'.
11904 (multiboot2_mod_SOURCES): New variable.
11905 (multiboot2_mod_LDFLAGS): Likewise.
11906 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11907
11908 * conf/i386-pc.rmk: Likewise.
11909
11910 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11911 (multiboot_mod_SOURCES): Remove variable.
11912 (multiboot_mod_LDFLAGS): Likewise.
11913 (multiboot_mod_CFLAGS): Likewise.
11914
11915 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11916 `<multiboot2.h>' instead of `<multiboot.h>'.
11917 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11918 (MULTIBOOT_HEADER_MAGIC): New macros.
11919
11920 * loader/multiboot_loader.c (module_version_status): Remove variable.
11921 (find_multi_boot2_header): Remove function.
11922 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11923 logic. Always check for the Multiboot version we're compiling for.
11924 (grub_cmd_module_loader): Likewise.
11925 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11926 command instead of `multiboot'.
11927
11928 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11929
11930 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11931 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11932 all users.
11933
11934 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11935 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Fix breakage introduced with previous commit.
11938
11939 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11940 commands.
11941 * normal/handler.c (read_handler_list): Revert part of previous commit
11942 affecting this file.
11943 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11944 (grub_normal_execute): ... here.
11945
11946 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11947
11948 Merge prefix-redefinition-fix branch.
11949
11950 * normal/autofs.c (read_fs_list): Make function capable of being
11951 run multiple times, gracefuly replacing the previous data
11952 structures.
11953 * normal/dyncmd.c (read_command_list): Likewise.
11954 * normal/handler.c (read_handler_list): Likewise.
11955 * normal/main.c (read_lists): New function. Calls all the
11956 list reading functions.
11957 (grub_normal_execute): Use read_lists() instead of calling all
11958 list reading functions explicitly. Register read_lists() as a
11959 variable hook attached to ${prefix}.
11960
11961 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 Merge crypto branch.
11964
11965 * Makefile.in (pkglib_DATA): Add crypto.lst.
11966 (crypto.lst): New target.
11967 * commands/hashsum.c: New file.
11968 * commands/password.c (check_password): Use grub_crypto_memcmp.
11969 * commands/password_pbkdf2.c: New file.
11970 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11971 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11972 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11973 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11974 -I$(srcdir)/lib/libgcrypt_wrap.
11975 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11976 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11977 password_pbkdf2.mod.
11978 (crypto_mod_SOURCES): New variable.
11979 (crypto_mod_CFLAGS): Likewise.
11980 (crypto_mod_LDFLAGS): Likewise.
11981 (hashsum_mod_SOURCES): New variable.
11982 (hashsum_mod_CFLAGS): Likewise.
11983 (hashsum_mod_LDFLAGS): Likewise.
11984 (pbkdf2_mod_SOURCES): New variable.
11985 (pbkdf2_mod_CFLAGS): Likewise.
11986 (pbkdf2_mod_LDFLAGS): Likewise.
11987 (password_pbkdf2_mod_SOURCES): New variable.
11988 (password_pbkdf2_mod_CFLAGS): Likewise.
11989 (password_pbkdf2_mod_LDFLAGS): Likewise.
11990 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11991 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11992 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11993 Include conf/gcry.rmk.
11994 * include/grub/auth.h: Rewritten.
11995 * include/grub/crypto.h: New file.
11996 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11997 * include/grub/normal.h (read_crypto_list): New prototype.
11998 * lib/crypto.c: New file.
11999 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12000 * lib/pbkdf2.c: Likewise.
12001 * normal/auth.c (grub_auth_strcmp): Removed.
12002 (grub_iswordseparator): Likewise.
12003 (grub_auth_strword): Likewise.
12004 (is_authenticated): Use grub_strword.
12005 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12006 and grub_strword. Pass entered password to authentication callback.
12007 * normal/crypto.c: New file.
12008 * normal/main.c: Call read_crypto_list.
12009 * util/grub-mkpasswd-pbkdf2.c: New file.
12010 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12011
12012 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 Fix descent and ascent calculation.
12015
12016 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12017 (options): New option "asce".
12018 (usage): Likewise.
12019 (add_char): Ignore invalid glyphs for descent calculation.
12020 Calculate ascent from actual content.
12021 (print_glyphs): Use 'asce'.
12022 (write_font): Likewise. Allow ascent override.
12023 (main): Handle "asce" option.
12024
12025 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12026
12027 * kern/err.c: Include `<grub/i18n.h>'.
12028 (grub_print_error): Add full stop. Gettextizze.
12029 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12030 (grub_bsd_load_elf): Capitalise ELF.
12031 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12032 (grub_cmd_freebsd_module): Likewise.
12033 (grub_cmd_freebsd_module_elf): Likewise.
12034 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12035
12036 2010-01-06 Carles Pina i Estany <carles@pina.cat>
12037
12038 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12039 * commands/search_file.c (HELP_MESSAGE): New macro.
12040 * commands/search_label.c (HELP_MESSAGE): Likewise.
12041 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12042 * po/POTFILES: Add `commands/search_file.c',
12043 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12044 `commands/search.c'.
12045
12046 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12047
12048 * config.rpath: Update from Gnulib.
12049
12050 2010-01-05 Yves Blusseau <blusseau@zetam.org>
12051
12052 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12053
12054 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12055
12056 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12057
12058 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12059
12060 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12061 arguments to fread so that we get a return value in bytes, rather
12062 than something that will normally be rounded down to 0.
12063 Adjust error handling to avoid producing garbage when size_t is not
12064 the same size as long long.
12065
12066 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
12067
12068 * util/mkisofs/write.c (padblock_write): Check return value of
12069 fread.
12070
12071 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12072
12073 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12074 floppy images now.
12075
12076 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12077
12078 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12079
12080 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12081 instead of manual alignment.
12082 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12083 verbose). Avoid attempts to read past end of the device
12084 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12085 but GRUB_DISK_CACHE_SIZE may exceed that).
12086
12087 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12088
12089 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12090 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12091 it to upper layer.
12092
12093 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12096 New constant.
12097 (grub_efi_piwg_device_path): New structure
12098 (grub_efi_piwg_device_path_t): New type.
12099 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12100 (devpath_1): Transform to a structure. All users updated.
12101 (devpath_2): Likewise.
12102 (devpath_3): Likewise.
12103 (devpath_4): Likewise.
12104 (devpath_5): Likewise.
12105
12106 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * loader/efi/appleloader.c: Restored. Update all users.
12109
12110 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12111
12112 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12113
12114 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12115 (struct boot_blocklist): Move from here ...
12116 * include/grub/i386/pc/boot.h [ASM_FILE]
12117 (struct grub_boot_blocklist): ... to here. Update all users.
12118 (setup): Only initialize `start' member of `first_block'
12119 structure. Add assert() calls to verify the other members.
12120
12121 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12122 (generate_image): Fix broken blocklist length initialization.
12123 Add assert() call to verify blocklist `segment' field.
12124
12125 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12126
12127 * loader/efi/appleloader.c: Remove. Update all users.
12128
12129 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12130
12131 * boot/i386/pc/boot.S: Update copyright year.
12132 * boot/i386/pc/cdboot.S: Likewise.
12133 * boot/i386/pc/diskboot.S: Likewise.
12134 * boot/i386/pc/lnxboot.S: Likewise.
12135 * boot/i386/pc/pxeboot.S: Likewise.
12136 * bus/pci.c: Likewise.
12137 * commands/cmp.c: Likewise.
12138 * commands/help.c: Likewise.
12139 * commands/hexdump.c: Likewise.
12140 * commands/i386/pc/halt.c: Likewise.
12141 * commands/i386/pc/play.c: Likewise.
12142 * commands/i386/pc/vbeinfo.c: Likewise.
12143 * commands/ls.c: Likewise.
12144 * commands/test.c: Likewise.
12145 * disk/dmraid_nvidia.c: Likewise.
12146 * disk/i386/pc/biosdisk.c: Likewise.
12147 * disk/ieee1275/nand.c: Likewise.
12148 * disk/ieee1275/ofdisk.c: Likewise.
12149 * disk/lvm.c: Likewise.
12150 * disk/raid.c: Likewise.
12151 * disk/raid6_recover.c: Likewise.
12152 * disk/scsi.c: Likewise.
12153 * fs/affs.c: Likewise.
12154 * fs/cpio.c: Likewise.
12155 * fs/ext2.c: Likewise.
12156 * fs/hfs.c: Likewise.
12157 * fs/iso9660.c: Likewise.
12158 * fs/ntfs.c: Likewise.
12159 * fs/sfs.c: Likewise.
12160 * fs/udf.c: Likewise.
12161 * fs/ufs.c: Likewise.
12162 * fs/xfs.c: Likewise.
12163 * gencmdlist.sh: Likewise.
12164 * genmk.rb: Likewise.
12165 * include/grub/disk.h: Likewise.
12166 * include/grub/efi/api.h: Likewise.
12167 * include/grub/efi/efi.h: Likewise.
12168 * include/grub/efi/pe32.h: Likewise.
12169 * include/grub/elf.h: Likewise.
12170 * include/grub/fs.h: Likewise.
12171 * include/grub/i386/at_keyboard.h: Likewise.
12172 * include/grub/i386/pc/memory.h: Likewise.
12173 * include/grub/i386/pc/vbe.h: Likewise.
12174 * include/grub/i386/pci.h: Likewise.
12175 * include/grub/i386/tsc.h: Likewise.
12176 * include/grub/ieee1275/ieee1275.h: Likewise.
12177 * include/grub/ntfs.h: Likewise.
12178 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12179 * include/grub/sparc64/libgcc.h: Likewise.
12180 * include/grub/symbol.h: Likewise.
12181 * include/grub/types.h: Likewise.
12182 * include/multiboot2.h: Likewise.
12183 * io/gzio.c: Likewise.
12184 * kern/device.c: Likewise.
12185 * kern/disk.c: Likewise.
12186 * kern/efi/efi.c: Likewise.
12187 * kern/efi/mm.c: Likewise.
12188 * kern/elf.c: Likewise.
12189 * kern/file.c: Likewise.
12190 * kern/i386/dl.c: Likewise.
12191 * kern/i386/pc/init.c: Likewise.
12192 * kern/i386/pc/startup.S: Likewise.
12193 * kern/ieee1275/ieee1275.c: Likewise.
12194 * kern/ieee1275/init.c: Likewise.
12195 * kern/main.c: Likewise.
12196 * kern/mm.c: Likewise.
12197 * kern/powerpc/dl.c: Likewise.
12198 * kern/sparc64/dl.c: Likewise.
12199 * kern/x86_64/dl.c: Likewise.
12200 * lib/hexdump.c: Likewise.
12201 * loader/efi/appleloader.c: Likewise.
12202 * loader/i386/ieee1275/linux.c: Likewise.
12203 * loader/i386/pc/chainloader.c: Likewise.
12204 * loader/i386/pc/linux.c: Likewise.
12205 * loader/i386/pc/multiboot2.c: Likewise.
12206 * loader/ieee1275/multiboot2.c: Likewise.
12207 * loader/multiboot2.c: Likewise.
12208 * loader/multiboot_loader.c: Likewise.
12209 * loader/powerpc/ieee1275/linux.c: Likewise.
12210 * normal/completion.c: Likewise.
12211 * normal/menu_entry.c: Likewise.
12212 * partmap/apple.c: Likewise.
12213 * util/grub.d/10_hurd.in: Likewise.
12214 * util/hostfs.c: Likewise.
12215 * video/readers/png.c: Likewise.
12216
12217 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
12218
12219 * include/grub/misc.h (GNUC_PREREQ): New macro.
12220 (ATTRIBUTE_ERROR): New macro.
12221 * include/grub/list.h (grub_bad_type_cast_real): Use
12222 ATTRIBUTE_ERROR.
12223
12224 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12225
12226 * normal/menu_text.c (print_message): Change messages.
12227
12228 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12229
12230 * normal/menu_entry.c (store_completion): Gettextizze.
12231
12232 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12233
12234 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12235
12236 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12237
12238 * po/POTFILES: Sort correctly.
12239
12240 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12241
12242 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12243 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12244 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12245 full stop.
12246 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12247 summary. Gettextizze the strings.
12248 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12249 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12250 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12251 full stop.
12252 (GRUB_MOD_INIT): Remove command name from summary.
12253 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12254 summary.
12255 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12256 * term/i386/pc/serial.c (options): Add full stops.
12257 (GRUB_MOD_INIT): Remove command name from the summary.
12258
12259 2010-01-03 Carles Pina i Estany <carles@pina.cat>
12260
12261 * commands/acpi.c: Gettextizze help strings and/or options. Include
12262 `grub/i18n.h' if needed.
12263 * commands/blocklist.c: Likewise.
12264 * commands/boot.c: Likewise.
12265 * commands/cat.c: Likewise.
12266 * commands/cmp.c: Likewise.
12267 * commands/configfile.c: Likewise.
12268 * commands/crc.c: Likewise.
12269 * commands/date.c: Likewise.
12270 * commands/echo.c: Likewise.
12271 * commands/efi/fixvideo.c: Likewise.
12272 * commands/efi/loadbios.c: Likewise.
12273 * commands/gptsync.c: Likewise.
12274 * commands/halt.c: Likewise.
12275 * commands/handler.c: Likewise.
12276 * commands/hdparm.c: Likewise.
12277 * commands/hexdump.c: Likewise.
12278 * commands/i386/cpuid.c: Likewise.
12279 * commands/i386/pc/drivemap.c: Likewise.
12280 * commands/i386/pc/halt.c: Likewise.
12281 * commands/i386/pc/pxecmd.c: Likewise.
12282 * commands/i386/pc/vbeinfo.c: Likewise.
12283 * commands/i386/pc/vbetest.c: Likewise.
12284 * commands/ieee1275/suspend.c: Likewise.
12285 * commands/keystatus.c: Likewise.
12286 * commands/loadenv.c: Likewise.
12287 * commands/ls.c: Likewise.
12288 * commands/lsmmap.c: Likewise.
12289 * commands/lspci.c: Likewise.
12290 * commands/memrw.c: Likewise.
12291 * commands/minicmd.c: Likewise.
12292 * commands/parttool.c: Likewise.
12293 * commands/password.c: Likewise.
12294 * commands/probe.c: Likewise.
12295 * commands/read.c: Likewise.
12296 * commands/reboot.c: Likewise.
12297 * commands/search.c: Likewise.
12298 * commands/sleep.c: Likewise.
12299 * commands/test.c: Likewise.
12300 * commands/true.c: Likewise.
12301 * commands/usbtest.c: Likewise.
12302 * commands/videotest.c: Likewise.
12303 * commands/xnu_uuid.c: Likewise.
12304 * disk/loopback.c: Likewise.
12305 * hello/hello.c: Likewise.
12306 * loader/i386/bsd.c: Likewise.
12307 * term/i386/pc/serial.c: Likewise.
12308 * po/POTFILES: Add new files.
12309
12310 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12311
12312 * term/i386/pc/at_keyboard.c
12313 (keyboard_controller_wait_untill_ready): Rename to ...
12314 (keyboard_controller_wait_until_ready): ... this. Update all users.
12315
12316 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12317
12318 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12319 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12320 string using string width.
12321 * normal/menu_text.c (grub_print_message_indented): Use
12322 grub_print_spaces and not print_spaces.
12323 (print_timeout): Likewise.
12324 (print_spaces): Move to...
12325 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12326
12327 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12328
12329 Import from Gnulib.
12330
12331 * gnulib/getdelim.c: New file.
12332 * gnulib/getline.c: Likewise.
12333
12334 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12335
12336 * include/grub/list.h (grub_assert_fail): Removed.
12337 (grub_bad_type_cast_real): New function.
12338 (grub_bad_type_cast): New macro.
12339 (GRUB_AS_LIST): Use grub_bad_type_cast.
12340 (GRUB_AS_LIST_P): Likewise.
12341 (GRUB_AS_NAMED_LIST): Likewise.
12342 (GRUB_AS_NAMED_LIST_P): Likewise.
12343 (GRUB_AS_PRIO_LIST): Likewise.
12344 (GRUB_AS_PRIO_LIST_P): Likewise.
12345 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12346
12347 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12350 Fix syntax error.
12351
12352 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12353
12354 * configure.ac: Check for TARGET_CFLAGS initialization before we
12355 initialize it ourselves (sigh).
12356 Move a few modifications to TARGET_CFLAGS to be unconditional
12357 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12358 eh_frame)
12359
12360 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12361 * term/i386/pc/at_keyboard.c
12362 (keyboard_controller_wait_untill_ready): Likewise.
12363 (keyboard_controller_led): Rename `led_status' paramter to avoid
12364 name conflict.
12365
12366 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12367
12368 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12369 quotes.
12370
12371 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12374
12375 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * normal/menu_text.c (grub_print_message_indented): Prevent
12378 past-the-end-of-array dereference.
12379
12380 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12383 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12384
12385 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12386
12387 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12388 * normal/main.c (grub_normal_read_line): Remove a space from the
12389 default prompt.
12390
12391 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12392
12393 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12394 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12395 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12396 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12397 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12398 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12399 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12400
12401 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12402
12403 * video/readers/jpeg.c (cmd): Declare.
12404 (grub_cmd_jpegtest): Use `grub_command_t' type.
12405 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12406 Assign to `cmd'.
12407 (GRUB_MOD_FINI): Use `cmd' to unregister.
12408 * video/readers/png.c (cmd): Declare.
12409 (grub_cmd_pngtest): Use `grub_command_t' type.
12410 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12411 Assign to `cmd'.
12412 (GRUB_MOD_FINI): Use `cmd' to unregister.
12413 * video/readers/tga.c (cmd): Declare.
12414 (grub_cmd_tgatest): Use `grub_command_t' type.
12415 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12416 Assign to `cmd'.
12417 (GRUB_MOD_FINI): Use `cmd' to unregister.
12418
12419 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12420
12421 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12422 stops.
12423 * kern/corecmd.c (grub_register_core_commands): Likewise.
12424 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12425 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12426 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12427 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12428 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12429 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12430 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12431 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12432 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12433 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12434 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12435 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12436 * normal/handler.c (insert_handler): Likewise.
12437 * normal/main.c (GRUB_MOD_INIT): Likewise.
12438 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12439
12440 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12441
12442 * commands/help.c (grub_cmd_help): Print the command name before the
12443 summary.
12444 (GRUB_MOD_INIT): Remove command name from the summary.
12445 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12446 string as summary.
12447 * lib/arg.c (find_long): Print the command name before the summary.
12448 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12449 summary.
12450 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12451 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12452 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12453 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12454 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12455 * commands/date.c (GRUB_MOD_INIT): Likewise.
12456 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12457 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12458 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12459 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12460 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12461 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12462 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12463 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12464 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12465 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12466 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12467 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12468 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12469 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12470 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12471 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12472 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12473 * commands/password.c (GRUB_MOD_INIT): Likewise.
12474 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12475 * commands/read.c (GRUB_MOD_INIT): Likewise.
12476 * commands/search.c (GRUB_MOD_INIT): Likewise.
12477 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12478 * commands/test.c (GRUB_MOD_INIT): Likewise.
12479 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12480 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12481 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12482 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12483 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12484 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12485 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12486 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12487 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12488 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12489 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12490 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12491 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12492 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12493
12494 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Use search command for preliminar UUID search.
12497
12498 * commands/search.c: Split into ...
12499 * commands/search_wrap.c: ...this
12500 * commands/search.c: ...and this.
12501 * commands/search_file.c: New file.
12502 * commands/search_label.c: New file.
12503 * commands/search_uuid.c: New file.
12504 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12505 Add commands/search_wrap.c, commands/search_file.c,
12506 commands/search_label.c and commands/search_uuid.c.
12507 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12508 (search_mod_SOURCES): Set to commands/search_wrap.c.
12509 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12510 search_label.mod.
12511 (search_fs_file_mod_SOURCES): New variable.
12512 (search_fs_file_mod_CFLAGS): Likewise.
12513 (search_fs_file_mod_LDFLAGS): Likewise.
12514 (search_label_mod_SOURCES): Likewise.
12515 (search_label_mod_CFLAGS): Likewise.
12516 (search_label_mod_LDFLAGS): Likewise.
12517 (search_fs_uuid_mod_SOURCES): New variable.
12518 (search_fs_uuid_mod_CFLAGS): Likewise.
12519 (search_fs_uuid_mod_LDFLAGS): Likewise.
12520 (fs_file_mod_SOURCES): Removed.
12521 (fs_file_mod_CFLAGS): Likewise.
12522 (fs_file_mod_LDFLAGS): Likewise.
12523 (fs_uuid_mod_SOURCES): Removed.
12524 (fs_uuid_mod_CFLAGS): Likewise.
12525 (fs_uuid_mod_LDFLAGS): Likewise.
12526 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12527 Set to util/grub-install.in.
12528 * disk/fs_file.c: Removed.
12529 * disk/fs_uuid.c: Likewise.
12530 * include/grub/search.h: New file.
12531 * util/grub-install.in: Handle sparc64.
12532 Create and use load.cfg.
12533 * util/sparc64/ieee1275/grub-install.in: Removed.
12534
12535 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12538 Ignore return status if CF is cleared.
12539 (grub_biosdisk_get_diskinfo_standard): Likewise.
12540
12541 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12542
12543 * term/i386/pc/at_keyboard.c
12544 (keyboard_controller_wait_untill_ready): New function.
12545 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12546 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12547 for keyboard polling, rather than duplicate the same loop. This
12548 saves a few bytes in code size.
12549
12550 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 Support for (pxe[:server[:gateway]]) syntax and
12553 use environment variable for PXE.
12554
12555 * commands/i386/pc/pxecmd.c (options): Removed.
12556 (print_ip): Removed.
12557 (grub_cmd_pxe): Removed
12558 (grub_cmd_pxe_unload): New function.
12559 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12560 (grub_pxe_your_ip): Made static.
12561 (grub_pxe_default_server_ip): Likewise.
12562 (grub_pxe_default_gateway_ip): Likewise.
12563 (grub_pxe_blksize): Likewise.
12564 (parse_ip): New function.
12565 (grub_pxe_open): Support server and gateway specification.
12566 (grub_pxe_close): Free disk->data.
12567 (grub_pxefs_open): Use disk->data.
12568 (grub_pxefs_read): Likewise.
12569 (grub_env_write_readonly): New function.
12570 (set_mac_env): Likewise.
12571 (set_env_limn_ro): Likewise.
12572 (parse_dhcp_vendor): Likewise.
12573 (grub_pxe_detect): Set the environment variables.
12574 (set_ip_env): New function.
12575 (write_ip_env): Likewise.
12576 (grub_env_write_pxe_default_server): Likewise.
12577 (grub_env_write_pxe_default_gateway): Likewise.
12578 (grub_env_write_pxe_blocksize): Likewise.
12579 (GRUB_MOD_INIT(pxe)): Set environment variables.
12580 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12581 (grub_pxe_mac_addr_t): ... this. All users updated.
12582 (grub_pxe_your_ip): Removed.
12583 (grub_pxe_server_ip): Likewise.
12584 (grub_pxe_gateway_ip): Likewise.
12585 (grub_pxe_blksize): Likewise.
12586
12587 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12588
12589 * commands/help.c: Include `<grub/i18n.h>'.
12590 (grub_cmd_help): Gettextizze.
12591 (GRUB_MOD_INIT): Likewise.
12592 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12593 (GRUB_MOD_INIT): Gettextizze.
12594 * commands/search.c: Include `<grub/i18n.h>'.
12595 (options): Gettextizze.
12596 (GRUB_MOD_INIT): Gettextizze.
12597 * lib/arg.c: Include `<grub/i18n.h>'.
12598 (help_options): Gettextizze.
12599 (find_long): Likewise.
12600 (grub_arg_show_help): Likewise.
12601 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12602 (read_command_list): Gettextizze.
12603 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12604 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12605
12606 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12607
12608 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12609 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12610 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12611 (led_status): New variable.
12612 (keyboard_controller_led): New function.
12613 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12614 update led status for caps lock, num lock and scroll lock.
12615
12616 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12617
12618 * util/hostdisk.c (open_device): Fix a comment.
12619
12620 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12621
12622 * util/grub-install.in (host_os): New variable.
12623 * util/i386/efi/grub-install.in (host_os): Likewise.
12624
12625 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12626
12627 * util/mkisofs/write.c (padblock_write): Abort when given an
12628 excedingly large embed image, instead of silently truncating it.
12629
12630 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12631
12632 * include/multiboot.h: Indentation fixes.
12633
12634 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12635
12636 * include/multiboot.h (struct multiboot_aout_symbol_table)
12637 (struct multiboot_elf_section_header_table): New structure
12638 declarations (stolen from GRUB Legacy).
12639 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12640 table information.
12641
12642 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12643 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12644 type aliases.
12645
12646 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12647
12648 * include/multiboot.h: Make comments src2texi-friendly.
12649
12650 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12651
12652 For consistency with [multiboot]/docs/boot.S.
12653
12654 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12655 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12656 (MULTIBOOT_MAGIC2): Rename from this ...
12657 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12658
12659 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12660
12661 * include/multiboot.h: Remove `<grub/types.h>'.
12662 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12663 types. Update all users.
12664
12665 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12666
12667 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12668 `couldn't' and `can not' by `cannot'.
12669 * commands/i386/pc/drivemap.c: Likewise.
12670 * disk/ata.c: Likewise.
12671 * disk/ieee1275/nand.c: Likewise.
12672 * fs/affs.c: Likewise.
12673 * fs/fat.c: Likewise.
12674 * fs/hfs.c: Likewise.
12675 * fs/hfsplus.c: Likewise.
12676 * fs/iso9660.c: Likewise.
12677 * fs/jfs.c: Likewise.
12678 * fs/minix.c: Likewise.
12679 * fs/reiserfs.c: Likewise.
12680 * fs/sfs.c: Likewise.
12681 * fs/udf.c: Likewise.
12682 * fs/ufs.c: Likewise.
12683 * fs/xfs.c: Likewise.
12684 * loader/powerpc/ieee1275/linux.c: Likewise.
12685 * loader/sparc64/ieee1275/linux.c: Likewise.
12686 * util/grub-probe.c: Likewise.
12687 * util/misc.c: Likewise.
12688
12689 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12690
12691 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12692 grub_errno calls.
12693 * commands/acpi.c: Likewise.
12694 * commands/blocklist.c: Likewise.
12695 * commands/efi/loadbios.c: Likewise.
12696 * commands/i386/pc/drivemap.c: Likewise.
12697 * commands/loadenv.c: Likewise.
12698 * commands/memrw.c: Likewise.
12699 * commands/password.c: Likewise.
12700 * commands/videotest.c: Likewise.
12701 * disk/ata.c: Likewise.
12702 * disk/ata_pthru.c: Likewise.
12703 * disk/dmraid_nvidia.c: Likewise.
12704 * disk/ieee1275/nand.c: Likewise.
12705 * disk/ieee1275/ofdisk.c: Likewise.
12706 * disk/loopback.c: Likewise.
12707 * disk/lvm.c: Likewise.
12708 * disk/mdraid_linux.c: Likewise.
12709 * disk/raid.c: Likewise.
12710 * disk/raid6_recover.c: Likewise.
12711 * disk/scsi.c: Likewise.
12712 * efiemu/main.c: Likewise.
12713 * efiemu/mm.c: Likewise.
12714 * efiemu/pnvram.c: Likewise.
12715 * efiemu/symbols.c: Likewise.
12716 * font/font.c: Likewise.
12717 * fs/cpio.c: Likewise.
12718 * fs/hfsplus.c: Likewise.
12719 * fs/iso9660.c: Likewise.
12720 * fs/jfs.c: Likewise.
12721 * fs/minix.c: Likewise.
12722 * fs/ntfs.c: Likewise.
12723 * fs/ntfscomp.c: Likewise.
12724 * fs/reiserfs.c: Likewise.
12725 * fs/ufs.c: Likewise.
12726 * fs/xfs.c: Likewise.
12727 * gettext/gettext.c: Likewise.
12728 * include/grub/auth.h: Likewise.
12729 * kern/elf.c: Likewise.
12730 * kern/file.c: Likewise.
12731 * kern/ieee1275/init.c: Likewise.
12732 * kern/ieee1275/mmap.c: Likewise.
12733 * kern/ieee1275/openfw.c: Likewise.
12734 * kern/powerpc/dl.c: Likewise.
12735 * kern/sparc64/dl.c: Likewise.
12736 * lib/arg.c: Likewise.
12737 * loader/i386/bsd.c: Likewise.
12738 * loader/i386/bsdXX.c: Likewise.
12739 * loader/i386/efi/linux.c: Likewise.
12740 * loader/i386/efi/xnu.c: Likewise.
12741 * loader/i386/ieee1275/linux.c: Likewise.
12742 * loader/i386/linux.c: Likewise.
12743 * loader/i386/multiboot.c: Likewise.
12744 * loader/i386/pc/linux.c: Likewise.
12745 * loader/i386/pc/multiboot2.c: Likewise.
12746 * loader/i386/xnu.c: Likewise.
12747 * loader/ieee1275/multiboot2.c: Likewise.
12748 * loader/macho.c: Likewise.
12749 * loader/machoXX.c: Likewise.
12750 * loader/multiboot2.c: Likewise.
12751 * loader/multiboot_loader.c: Likewise.
12752 * loader/powerpc/ieee1275/linux.c: Likewise.
12753 * loader/sparc64/ieee1275/linux.c: Likewise.
12754 * loader/xnu.c: Likewise.
12755 * loader/xnu_resume.c: Likewise.
12756 * mmap/i386/pc/mmap.c: Likewise.
12757 * normal/menu_viewer.c: Likewise.
12758 * partmap/acorn.c: Likewise.
12759 * partmap/amiga.c: Likewise.
12760 * partmap/apple.c: Likewise.
12761 * script/lexer.c: Likewise.
12762 * term/gfxterm.c: Likewise.
12763 * term/i386/pc/serial.c: Likewise.
12764 * term/i386/pc/vga.c: Likewise.
12765 * term/ieee1275/ofconsole.c: Likewise.
12766 * term/terminfo.c: Likewise.
12767 * video/bitmap.c: Likewise.
12768 * video/efi_gop.c: Likewise.
12769 * video/efi_uga.c: Likewise.
12770 * video/fb/video_fb.c: Likewise.
12771 * video/i386/pc/vbe.c: Likewise.
12772 * video/readers/tga.c: Likewise.
12773 * video/video.c: Likewise.
12774
12775 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12776
12777 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12778 * commands/lspci.c: Likewise.
12779 * commands/probe.c: Likewise.
12780 * commands/xnu_uuid.c: Likewise.
12781 * conf/i386-coreboot.rmk: Likewise.
12782 * conf/i386-efi.rmk: Likewise.
12783 * conf/i386-ieee1275.rmk: Likewise.
12784 * conf/i386-pc.rmk: Likewise.
12785 * conf/powerpc-ieee1275.rmk: Likewise.
12786 * conf/sparc64-ieee1275.rmk: Likewise.
12787 * conf/x86_64-efi.rmk: Likewise.
12788 * fs/i386/pc/pxe.c: Likewise.
12789 * gettext/gettext.c: Likewise.
12790 * include/grub/efi/graphics_output.h: Likewise.
12791 * include/grub/i386/pc/memory.h: Likewise.
12792 * kern/env.c: Likewise.
12793 * kern/i386/qemu/startup.S: Likewise.
12794 * lib/i386/pc/biosnum.c: Likewise.
12795 * lib/i386/relocator.c: Likewise.
12796 * lib/i386/relocator_asm.S: Likewise.
12797 * lib/relocator.c: Likewise.
12798 * loader/i386/bsd.c: Likewise.
12799 * loader/i386/multiboot.c: Likewise.
12800 * loader/i386/pc/chainloader.c: Likewise.
12801 * loader/i386/xnu.c: Likewise.
12802 * loader/xnu.c: Likewise.
12803 * normal/main.c: Likewise.
12804 * normal/menu_text.c: Likewise.
12805 * util/getroot.c: Likewise.
12806 * util/grub-mkconfig_lib.in: Likewise.
12807 * util/grub.d/00_header.in: Likewise.
12808 * util/i386/pc/grub-mkimage.c: Likewise.
12809 * util/mkisofs/eltorito.c: Likewise.
12810 * util/mkisofs/exclude.h: Likewise.
12811 * util/mkisofs/hash.c: Likewise.
12812 * util/mkisofs/iso9660.h: Likewise.
12813 * util/mkisofs/joliet.c: Likewise.
12814 * util/mkisofs/mkisofs.c: Likewise.
12815 * util/mkisofs/mkisofs.h: Likewise.
12816 * util/mkisofs/multi.c: Likewise.
12817 * util/mkisofs/name.c: Likewise.
12818 * util/mkisofs/rock.c: Likewise.
12819 * util/mkisofs/tree.c: Likewise.
12820 * util/mkisofs/write.c: Likewise.
12821 * video/efi_gop.c: Likewise.
12822
12823 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12826 size counting.
12827
12828 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12829
12830 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12831 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12832
12833 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12836 (GRUB_MOD_INIT(memrw)): Update help line.
12837
12838 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12841 Use grub_extcmd_t. All users updated.
12842 (options): New variable.
12843 (grub_cmd_read): Restructure for readability. Support "-v" option.
12844 (grub_cmd_write): Restructure for readability.
12845
12846 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12847
12848 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12849
12850 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12851
12852 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12853 with the actual contents of the correspondending make variable.
12854 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12855 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12856 specifying `*.lst' and `efiemu??.o'
12857
12858 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12859
12860 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12861 after function name.
12862 Noticed by Rene Engelhard <rene@debian.org>.
12863
12864 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12867 (options): New variable.
12868 (iospace): Likewise.
12869 (grub_lspci_iter): List IO spaces if "-i" was given.
12870 (grub_cmd_lspci): Parse options.
12871 (GRUB_MOD_INIT(lspci)): Use extcmd.
12872 (GRUB_MOD_FINI(lspci)): Likewise.
12873
12874 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12875
12876 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12877 `function' keyword.
12878 Patch by Tony Mancill <tmancill@debian.org>.
12879
12880 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12883 (grub_uhci_portstatus): Likewise.
12884 (grub_uhci_portstatus): Add necessary delay.
12885 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
12886
12887 2009-12-21 Carles Pina i Estany <carles@pina.cat>
12888
12889 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12890 (GRUB_MOD_INIT): Likewise.
12891 * commands/boot.c (GRUB_MOD_INIT): Likewise.
12892 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12893 * commands/echo.c (options): Fix capitalizations and/or full stops.
12894 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12895 (enable_rom_area): Likewise.
12896 (GRUB_MOD_INIT): Likewise.
12897 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12898 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12899 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12900 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12901 * commands/hexdump.c (options): Likewise.
12902 * commands/i386/cpuid.c (options): Likewise.
12903 (GRUB_MOD_INIT): Likewise.
12904 * commands/i386/pc/drivemap.c (options): Likewise.
12905 (GRUB_MOD_INIT): Likewise.
12906 * commands/i386/pc/halt (options): Likewise.
12907 (GRUB_MOD_INIT): Likewise.
12908 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12909 * commands/i386/pc/pxecmd.c (options): Likewise.
12910 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12911 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12912 * commands/keystatus.c (options): Likewise.
12913 (GRUB_MOD_INIT): Likewise.
12914 * commands/loadenv.c (options): Likewise.
12915 * commands/ls.c (options): Likewise.
12916 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12917 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12918 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12919 * commands/parttool.c (helpmsg): Likewise.
12920 * commands/probe.c (options): Likewise.
12921 * commands/read.c (GRUB_MOD_INIT): Likewise.
12922 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12923 * commands/search.c (options): Likewise.
12924 * commands/sleep.c (options): Likewise.
12925 * commands/test.c (GRUB_MOD_INIT): Likewise.
12926 * commands/true.c (GRUB_MOD_INIT): Likewise.
12927 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12928 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12929 * lib/arg.c (help_options): Likewise.
12930 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12931 `$(XGETTEXT)'.
12932 * po/POTFILES: Add `commands/loadenv.c'.
12933
12934 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
12935
12936 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
12937 instead of specifying them explicit.
12938
12939 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12940
12941 * NEWS: Add grub-probe support for GNU/Hurd.
12942
12943 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12944
12945 * NEWS: gettext was added after 1.97.
12946
12947 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12948
12949 * util/mkisofs/msdos_partition.h: New file (based on
12950 include/grub/msdos_partition.h).
12951 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12952 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12953 (ld_options, main): Recognize --protective-msdos-label.
12954 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12955 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12956 (padblock_write): If `use_protective_msdos_label' is set, patch a
12957 protective DOS-style label in the output image.
12958
12959 * util/grub-mkrescue.in: Use --protective-msdos-label.
12960
12961 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12962
12963 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12964 boot.
12965
12966 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12967
12968 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12969 variables.
12970 (ld_options, main): Recognize `--embedded-boot'.
12971 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12972 declarations.
12973 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12974 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12975 (padblock_write): Likewise. Rewrite to support embedded boot image.
12976
12977 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12978 for BIOS-based disk boot instead of only ElTorito.
12979
12980 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12981
12982 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12983 build (not needed for bootstrap).
12984
12985 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12986
12987 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12988 from i386-pc build (not needed for bootstrap).
12989 Rewrite a pair of strings.
12990
12991 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12992
12993 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12994
12995 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12998
12999 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13000
13001 * kern/env.c (grub_env_context_open): Mark exported variable for
13002 reexport.
13003
13004 2009-12-21 Andreas Born <futur.andy@googlemail.com>
13005
13006 * kern/env.c (grub_env_export): Create nonexistent variables before
13007 exporting.
13008
13009 2009-12-20 Carles Pina i Estany <carles@pina.cat>
13010
13011 * include/grub/auth.h: Include `<grub/i18n.h>'.
13012 (GRUB_GET_PASSWORD): Gettextizze string.
13013 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13014 menu_text.c.
13015 (grub_utf8_to_ucs4_alloc): Fix indentation.
13016 (grub_print_ucs4): Likewise.
13017 (grub_getstringwidth): Likewise.
13018 (print_message_indented): New declaration.
13019 * normal/auth.c: Include `<grub/i18n.h>'.
13020 (grub_auth_check_authentication): Gettexttize string.
13021 * normal/cmdline.c: Include `<grub/i18n.h>'.
13022 (grub_cmdline_get): Gettextizze.
13023 * normal/color.c: Include `<grub/i18n.h>'.
13024 (grub_parse_color_name_pair): Gettexttize strings.
13025 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13026 string (use `print_message_indented').
13027 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13028 `include/grub/normal.h'.
13029 (print_message_indented): Renamed to ...
13030 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13031 used in normal/main.c).
13032 (print_message): Use `grub_print_message_indented' instead of
13033 `print_message_indented'.
13034 (print_timeout): Likewise.
13035 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13036 (grub_normal_print_device_info): Gettexttize strings.
13037 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13038
13039 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13042 of arguments. Return number of tokens and not arguments. All users
13043 updated.
13044
13045 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13048 non-MSDOS paritions.
13049
13050 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * include/grub/types.h (UNUSED): Removed since it conflicts with
13053 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13054 Reported by Grégoire Sutre.
13055
13056 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13057
13058 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13059 (grub_print_ucs4_alloc): Likewise.
13060 (grub_getstringwidth): Likewise.
13061 * normal/main.c (grub_normal_init_page): Gettextize version string.
13062 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13063 (getstringwidth): Renamed to ...
13064 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13065 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13066 (grub_print_ucs4): Remove `static' qualifer (now used in
13067 normal/main.c).
13068 * po/POTFILES: Add normal/main.c.
13069
13070 2009-12-19 Carles Pina i Estany <carles@pina.cat>
13071
13072 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13073 (print_message_indented): Add `margin_left' and `margin_right'
13074 parameters.
13075 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13076 strings.
13077 (print_timeout): Use `print_message_indented' to print the message.
13078 Deletes `second_stage' parameter.
13079 (run_menu): Update `print_timeout' calls.
13080
13081 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Fix console palette on OpenFirmware.
13084
13085 * term/ieee1275/ofconsole.c (MAX): Removed.
13086 (colors): Redone based on VGA palette.
13087 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13088 colors are supported.
13089 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13090
13091 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 Fix potential EfiEmu double prepare.
13094
13095 * efiemu/main.c (prepared): New variable
13096 (grub_efiemu_unload): Set prepare to '0'.
13097 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13098
13099 set_virtual_address_map support.
13100
13101 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13102 prototype.
13103 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13104 prototype.
13105 (grub_efiemu_crc32): Likewise.
13106 (grub_efiemu_crc64): Likewise.
13107 (grub_efiemu_set_virtual_address_map): Likewise.
13108 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13109 New definition.
13110 (grub_autoefi_set_virtual_address_map): Likewise.
13111 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13112 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13113 Restructure flow to accomodate it.
13114 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13115 (grub_efiemu_crc): Recompute CRC32.
13116 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13117 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13118 * efiemu/symbols.c (relocated_handle): New variable.
13119 (grub_efiemu_free_syms): Free relocated_handle.
13120 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13121 (grub_efiemu_write_sym_markers): New function.
13122 (grub_efiemu_set_virtual_address_map): Likewise.
13123
13124 Newer XNU parameters.
13125
13126 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13127 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13128 (grub_xnu_fill_devicetree): New prototype.
13129 (grub_xnu_heap_real_start): New variable.
13130 * loader/xnu.c (get_name_ptr): New function.
13131 (grub_xnu_load_driver): Fill namelen and name.
13132
13133 64-bit xnu support.
13134
13135 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13136 and 'loader/macho64.c'.
13137 * conf/i386-pc.rmk: Likewise.
13138 * conf/x86_64-efi.rmk: Likewise.
13139 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13140 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13141 * include/grub/macho.h (grub_macho_segment64): New structure.
13142 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13143 (grub_macho_size32): ... to this.
13144 (grub_macho32_get_entry_point): Renamed from ...
13145 (grub_macho_get_entry_point32): ... to this.
13146 (grub_macho_contains_macho64): New prototype.
13147 (grub_macho_size64): Likewise.
13148 (grub_macho_get_entry_point64): Likewise.
13149 (grub_macho32_load): Renamed from ...
13150 (grub_macho_load32): ... to this.
13151 (grub_macho32_filesize): Renamed from ...
13152 (grub_macho_filesize32): ... to this.
13153 (grub_macho32_readfile): Renamed from ...
13154 (grub_macho_readfile32): ... to this.
13155 (grub_macho_filesize64): New prototype.
13156 (grub_macho_readfile64): Likewise.
13157 (grub_macho_parse32): Likewise.
13158 (grub_macho_parse64): Likewise.
13159 * loader/macho.c: Split into ...
13160 * loader/machoXX.c: ... and this. Replace 32 with XX.
13161 * loader/macho32.c: New file.
13162 * loader/macho64.c: Likewise.
13163 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13164 (grub_cmd_xnu_kernel): Make 32-bit only.
13165 (grub_cmd_xnu_kernel64): New function.
13166 (grub_xnu_load_driver): Support Mach-O 64.
13167 (grub_cmd_xnu_mkext): Likewise.
13168 * util/grub.d/30_os-prober.in (osx_entry): New function.
13169 Generate entries for 64-bit boot too.
13170
13171 Eliminate ad-hoc tree format in XNU and EfiEmu.
13172
13173 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13174 * efiemu/pnvram.c: Rewritten to use environment variables.
13175 All users updated.
13176
13177 Inline utf16_to_utf8.
13178
13179 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13180 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13181 All users updated.
13182 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13183
13184 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13185 * commands/usbtest.c (grub_usb_get_string): ... move here.
13186 (usb_print_str): Fix error handling.
13187 * include/grub/usb.h (grub_usb_get_string): Remove.
13188
13189 UTF-8 to UTF-16 transformation.
13190
13191 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13192 (charset_mod_SOURCES): New variable.
13193 (charset_mod_CFLAGS): Likewise.
13194 (charset_mod_LDFLAGS): Likewise.
13195 * include/grub/utf.h: New file.
13196 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13197
13198 Support for device properties.
13199
13200 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13201 (grub_xnu_devprop_device_header): Likewise.
13202 (grub_xnu_devprop_device_descriptor): Likewise.
13203 (grub_xnu_devprop_add_device): New prototype.
13204 (grub_xnu_devprop_remove_device): Likewise.
13205 (grub_xnu_devprop_remove_property): Likewise.
13206 (grub_xnu_devprop_add_property_utf8): Likewise.
13207 (grub_xnu_devprop_add_property_utf16): Likewise.
13208 (grub_cpu_xnu_init): Likewise.
13209 (grub_cpu_xnu_fini): Likewise.
13210 (grub_cpu_xnu_unload): Likewise.
13211 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13212 (property_descriptor): Likewise.
13213 (devices): New variable.
13214 (grub_xnu_devprop_remove_property): New function.
13215 (grub_xnu_devprop_add_device): Likewise.
13216 (grub_xnu_devprop_remove_device): Likewise.
13217 (grub_xnu_devprop_add_property): Likewise.
13218 (grub_xnu_devprop_add_property_utf8): Likewise.
13219 (grub_xnu_devprop_add_property_utf16): Likewise.
13220 (hextoval): Likewise.
13221 (grub_cpu_xnu_fill_devprop): Likewise.
13222 (grub_cmd_devprop_load): Likewise.
13223 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13224 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13225 (cmd_devprop_load): New variable.
13226 (grub_cpu_xnu_init): New function.
13227 (grub_cpu_xnu_fini): Likewise.
13228 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13229 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13230 (grub_cmd_xnu_devtree): Likewise.
13231 (hextoval): New function.
13232 (unescape): Likewise.
13233 (grub_xnu_fill_devicetree): Likewise.
13234
13235 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13236 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13237
13238 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 Workaround for broken ATI VBE.
13241
13242 * video/i386/pc/vbe.c (last_set_mode): New variable.
13243 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13244 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13245 (grub_video_vbe_setup): Don't check for reserved flag.
13246
13247 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
13248
13249 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13250 the `find' command.
13251
13252 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 UUID support for HFS.
13255
13256 * fs/hfs.c (grub_hfs_uuid): New function.
13257 (grub_hfs_fs): New value .uuid.
13258 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13259
13260 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
13261
13262 Fix a segfault with parsing unknown long options.
13263
13264 * util/grub-mkrelpath.c (options): Zero terminate it.
13265
13266 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13267
13268 * include/grub/misc.h (grub_puts): New declaration.
13269 (grub_puts_): Likewise.
13270 * kern/misc.c (grub_puts): New definition.
13271 (grub_puts_): Likewise.
13272
13273 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13274
13275 * util/grub-probe.c (probe): Improve error message.
13276
13277 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13278
13279 * loader/i386/multiboot_elfxx.c
13280 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13281 initialization.
13282
13283 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Relocator framework
13286
13287 * loader/i386/xnu_helper.S: Removed. All users updated.
13288 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13289 (relocator_mod_SOURCES): New variable.
13290 (relocator_mod_CFLAGS): Likewise.
13291 (relocator_mod_LDFLAGS): Likewise.
13292 (relocator_mod_ASFLAGS): Likewise.
13293 * conf/x86_64.rmk: Likewise.
13294 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13295 (grub_multiboot_payload_entry_offset): Likewise.
13296 (grub_multiboot_forward_relocator): Likewise.
13297 (grub_multiboot_forward_relocator_end): Likewise.
13298 (grub_multiboot_backward_relocator): Likewise.
13299 (grub_multiboot_backward_relocator_end): Likewise.
13300 (grub_multiboot_payload_eip): New variable.
13301 (grub_multiboot_payload_orig): Likewise.
13302 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13303 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13304 * include/grub/i386/memory.h
13305 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13306 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13307 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13308 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13309 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13310 * include/grub/i386/relocator.h: New file.
13311 * include/grub/x86_64/relocator.h: Likewise.
13312 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13313 (XNU_RELOCATOR): New macro.
13314 (grub_xnu_launcher_start): Remove.
13315 (grub_xnu_launcher_end): Likewise.
13316 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13317 (grub_xnu_heap_real_start): Remove.
13318 (grub_xnu_heap_start): Change to void *. All users updated.
13319 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13320 * lib/i386/relocator.c: New file.
13321 * lib/i386/relocator_asm.S: Likewise.
13322 * lib/i386/relocator_backward.S: Likewise.
13323 * lib/mips/relocator.c: Likewise.
13324 * lib/mips/relocator_asm.S: Likewise.
13325 * lib/relocator.c: Likewise.
13326 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13327 (entry): Removed.
13328 (playground): Likewise.
13329 (grub_multiboot_payload_orig): New variable.
13330 (grub_multiboot_payload_dest): Likewise.
13331 (grub_multiboot_payload_size): Likewise.
13332 (grub_multiboot_payload_eip): Likewise.
13333 (grub_multiboot_payload_esp): Likewise.
13334 (grub_multiboot_boot): Use grub_relocator32_boot.
13335 (grub_multiboot_unload): Free relocators.
13336 (grub_multiboot): Setup stack. Use relocators.
13337 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13338 (grub_multiboot_load_elfXX): Use relocators.
13339 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13340 (grub_multiboot_payload_size): Likewise.
13341 (grub_multiboot_payload_dest): Likewise.
13342 (grub_multiboot_payload_entry_offset): Likewise.
13343 (grub_multiboot_forward_relocator): Likewise.
13344 (grub_multiboot_backward_relocator): Likewise.
13345 (grub_multiboot_real_boot): Likewise.
13346 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13347 (grub_xnu_entry_point): Likewise.
13348 (grub_xnu_arg1): Likewise.
13349 (grub_xnu_stack): Likewise.
13350 (grub_xnu_launch): Removed.
13351 (grub_xnu_boot_resume): New function.
13352 (grub_xnu_boot): Use relocators.
13353 * loader/i386/xnu_helper.S: Removed.
13354 * loader/xnu.c (grub_xnu_heap_start): New variable.
13355 (grub_xnu_heap_size): Likewise.
13356 (grub_xnu_heap_malloc): Use relocators.
13357 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13358
13359 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13362 anything.
13363
13364 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13365
13366 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13367 GRUB_ERR_NONE before calling grub_env_set.
13368
13369 2009-12-12 Robert Millan <rmh@aybabtu.com>
13370
13371 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13372 * genmk.rb (video): New variable.
13373 (CLEANFILES, VIDEOFILES): Add #{video}.
13374 (#{video}): New target rule.
13375 * genvideolist.sh: New file.
13376 * Makefile.in (pkglib_DATA): Add video.lst.
13377 (video.lst): New target rule.
13378 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13379 `video.lst'.
13380 * util/grub.d/30_os-prober.in: Replace `vbe' with
13381 ${GRUB_VIDEO_BACKEND}.
13382
13383 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13384
13385 * THANKS: Add David Miller.
13386
13387 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 libpciaccess support.
13390
13391 * Makefile.in (LIBPCIACCESS): New variable.
13392 (enable_grub_emu_pci): Likewise.
13393 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13394 util/pci.c and commands/lspci.c.
13395 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13396 * configure.ac (grub-emu-pci): New option.
13397 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13398 (grub_pci_device_unmap_range): Likewise.
13399 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13400 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13401 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13402 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13403 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13404 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13405 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13406 * include/grub/pciutils.h: New file.
13407 * util/pci.c: Likewise.
13408
13409 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13410
13411 * util/misc.c: Don't include <errno.h> twice.
13412
13413 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13414
13415 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13416 name in an error message.
13417 (grub_biosdisk_rw): Likewise.
13418
13419 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Eliminate NTFS 4Gib barrier.
13422
13423 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13424 (read_run_data): Likewise.
13425 (grub_ntfs_read_run_list): Likewise.
13426 (grub_ntfs_read_block): Likewise.
13427 (grub_ntfs_iterate_dir): Likewise.
13428 (read_mft): Likewise.
13429 (read_data): Likewise.
13430 Use COM_LOG_LEN.
13431 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13432 to avoid 64-bit division
13433 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13434 (grub_ntfs_rlst): Use grub_disk_addr_t.
13435
13436 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Eliminate grub-fstest 4Gib barrier.
13439
13440 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13441 (read_file): Fix error reporting.
13442
13443 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 Eliminate hexdump 4Gib barrier.
13446
13447 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13448 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13449
13450 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13453 Fixes amarsh bug.
13454
13455 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13456
13457 Remove miscellaneous files in distclean target.
13458
13459 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13460
13461 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13462
13463 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13464 if they're already set. This resolves the conflict between my
13465 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13466 fixing the --grub-probe option again.
13467 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13468 change on 2009-10-06, so that we now once again source
13469 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13470
13471 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13472
13473 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13474 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13475 `util/devicemap.c'.
13476
13477 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13478
13479 * include/grub/misc.h (grub_printf_): New declaration.
13480 * kern/misc.c (grub_printf_): New definition.
13481 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13482 instead of `grub_printf' and `_'.
13483 * normal/menu_entry.c (store_completion): Likewise.
13484 (run): Likewise.
13485 (grub_menu_entry_run): Likewise.
13486 * normal/menu_text.c (grub_wait_after_message): Likewise.
13487 (notify_booting): Likewise.
13488 (notify_fallback): Likewise.
13489 (notify_execution_failure): Likewise.
13490
13491 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13492
13493 * configure.ac: Check for vasprintf.
13494 * util/misc.c (asprintf): Move allocation from here ...
13495 (vasprintf): ... to here. New function.
13496 (xasprintf): New function.
13497 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13498 prototypes.
13499 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13500 * util/grub-mkfont.c (write_font): Likewise.
13501 * util/grub-probe.c (probe): Likewise.
13502 * util/hostdisk.c (make_device_name): Likewise.
13503
13504 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13505
13506 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13507 anything even prefixed with 'cdrom' as a cdrom.
13508
13509 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13510
13511 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13512 mount points.
13513
13514 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13515
13516 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13517 grub_gettext_msg_list.
13518 (grub_gettext_gettranslation_from_position): Return const char *
13519 and not char *.
13520 (grub_gettext_translate): Add the translated strings into a list,
13521 returns from the list if existing there.
13522 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13523 (grub_gettext_delete_list): Delete the list.
13524 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13525 lang environment variable is changed.
13526 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13527
13528 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 Rename kernel.mod to kernel.img.
13531
13532 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13533 (kernel_mod_EXPORTS): Rename to ...
13534 (kernel_img_EXPORTS): ... this.
13535 (kernel_mod_SOURCES): Rename to ...
13536 (kernel_img_SOURCES): ... this.
13537 (kernel_mod_HEADERS): Rename to ...
13538 (kernel_img_HEADERS): ... this. All users updated.
13539 (kernel_mod_CFLAGS): Rename to ...
13540 (kernel_img_CFLAGS): ... this.
13541 (kernel_mod_ASFLAGS): Rename to ...
13542 (kernel_img_ASFLAGS): ... this.
13543 (kernel_mod_LDFLAGS): Rename to ...
13544 (kernel_img_LDFLAGS): ... this.
13545 * conf/x86_64-efi.rmk: Likewise.
13546 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13547 (read_kernel_image): ... this. All users updated.
13548 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13549
13550 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13551
13552 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13553 (print_spaces): New function.
13554 (grub_print_ucs4): New function.
13555 (getstringwidth): New function.
13556 (print_message_indented): New function.
13557 (print_message): Gettexttize strings using print_message_indented.
13558 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13559 width.
13560 (get_entry_number): Gettextize and uses dynamic terminal width.
13561 (notify_booting, notify_fallback, notify_execution_failure):
13562 Gettextize.
13563 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13564 string.
13565 (run): Likewise.
13566 (grub_menu_entry_run): Likewise.
13567 * PO/POTFILES: Add normal/menu_entry.c.
13568
13569 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13572
13573 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13574
13575 * util/grub-install.in: Install gettext .mo files.
13576 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13577
13578 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13579
13580 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13581 grub_dprintf.
13582
13583 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13584
13585 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13586 non-firmware-dependant one in realmode.S takes precedence.
13587
13588 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13589
13590 * commands/halt.c: Replace misc arch-specific headers with
13591 `<grub/misc.h>'.
13592 * commands/reboot.c: Likewise.
13593 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13594 `<grub/misc.h>'.
13595 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13596 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13597 (kernel_img_SOURCES): ... to here.
13598
13599 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13600 * include/grub/i386/pc/init.h: Likewise.
13601 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13602 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13603
13604 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13605
13606 * include/grub/i386/halt.h: Remove.
13607 * include/grub/i386/reboot.h: Likewise.
13608
13609 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13610
13611 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13612
13613 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13614 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13615 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13616 "progname.h"
13617 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13618 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13619 (usage): Add missing comma in printf.
13620
13621 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13622
13623 Use the same reboot approach on i386 coreboot and qemu as we do on
13624 BIOS.
13625
13626 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13627 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13628 * kern/i386/reboot.c: Remove.
13629 * include/grub/i386/reboot.h (grub_reboot): Export function.
13630 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13631 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13632 0xf000:0xfff0 instead of 0xffff:0x0000.
13633 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13634 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13635
13636 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13637
13638 Fix $srcdir != $objdir build.
13639
13640 * Makefile.in (po/%.po): Rewrite as ...
13641 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13642
13643 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13644
13645 Fix GNU/Hurd grub-install crash.
13646 * util/grub-probe.c (probe): Try to access `path' only when it is not
13647 NULL.
13648
13649 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 Correct module naming.
13652
13653 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13654 (GRUB_MOD_INIT(efi_uga)): ... to this
13655 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13656 (GRUB_MOD_FINI(efi_uga)): ... to this
13657 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13658 (GRUB_MOD_INIT(efi_gop)): ... to this
13659 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13660 (GRUB_MOD_FINI(efi_gop)): ... to this
13661
13662 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13663
13664 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13665 translatable.
13666 (usage): Translate `arg' strings using gettext().
13667 Thanks to Jordi Mallach for the suggestion.
13668
13669 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 GOP support. Based on patch from Bean
13672 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13673
13674 * video/efi_gop.c: New file.
13675 * include/grub/efi/graphics_output.h: Likewise.
13676 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13677 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13678 variables.
13679 * conf/x86_64-efi.rmk: Likewise.
13680
13681 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 Rename efi_fb to efi_uga.
13684
13685 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13686 'efi_uga.mod'.
13687 (efi_fb_mod_SOURCES): Rename this ...
13688 (efi_uga_mod_SOURCES): ... to this.
13689 (efi_fb_mod_CFLAGS): Rename this ...
13690 (efi_uga_mod_CFLAGS): ... to this.
13691 (efi_fb_mod_LDFLAGS): Rename this ...
13692 (efi_uga_mod_LDFLAGS): ... to this.
13693 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13694 'efi_uga.mod'.
13695 (efi_fb_mod_SOURCES): Rename this ...
13696 (efi_uga_mod_SOURCES): ... to this.
13697 (efi_fb_mod_CFLAGS): Rename this ...
13698 (efi_uga_mod_CFLAGS): ... to this.
13699 (efi_fb_mod_LDFLAGS): Rename this ...
13700 (efi_uga_mod_LDFLAGS): ... to this.
13701 * video/efi_fb.c: Move this ...
13702 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13703
13704 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13705
13706 * po/README: New file. Explain our PO file workflow.
13707
13708 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13709
13710 * po/ChangeLog: Remove. Move relevant entries back to ...
13711 * ChangeLog: ... here.
13712 * po/ca.po: Remove (now handled by TLP).
13713 * po/id.po: Likewise.
13714 * po/zh_CN.po: Likewise.
13715 * Makefile.in (LINGUAS): Initialize in a way that supports
13716 empty set.
13717
13718 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13719
13720 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13721 reliing on po/LINGUAS.
13722 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13723 (po/%.po): ... this.
13724
13725 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13726
13727 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13728 (main): Use `program_name' instead of nonexistent `progname'.
13729
13730 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13731
13732 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13733 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13734
13735 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13736
13737 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13738 commit.
13739 * conf/i386-efi.rmk: Likewise.
13740 * conf/i386-ieee1275.rmk: Likewise.
13741 * conf/powerpc-ieee1275.rmk: Likewise.
13742 * conf/sparc64-ieee1275.rmk: Likewise.
13743 * conf/x86_64-efi.rmk: Likewise.
13744
13745 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13746
13747 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13748
13749 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13750
13751 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13752
13753 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13754
13755 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13756 (grub_mkdevicemap_SOURCES): New variable.
13757 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13758 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13759 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13760 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13761 (grub_mkdevicemap_SOURCES): Remove.
13762 * conf/i386-efi.rmk: Likewise.
13763 * conf/i386-ieee1275.rmk: Likewise.
13764 * conf/i386-pc.rmk: Likewise.
13765 * conf/powerpc-ieee1275.rmk: Likewise.
13766 * conf/sparc64-ieee1275.rmk: Likewise.
13767 * conf/x86_64-efi.rmk: Likewise.
13768 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13769 (usage): Fix strings to use `program_name'.
13770 (main): Initialize gettext.
13771 * util/grub-editenv.c: Likewise.
13772 * util/grub-emu.c: Likewise.
13773 * util/grub-fstest.c: Likewise.
13774 * util/grub-mkdevicemap.c: Likewise.
13775 * util/grub-mkfont.c: Likewise.
13776 * util/grub-mkrelpath.c: Likewise.
13777 * util/grub-pe2elf.c: Likewise.
13778 * util/grub-probe.c: Likewise.
13779 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13780 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13781 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13782
13783 * util/misc.c: Include `"progname.h"'.
13784 (progname): Remove variable.
13785 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13786
13787 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13788
13789 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13790 printf and print a newline after the menuentry header line.
13791 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13792
13793 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13794
13795 autoconf >= 2.60 support $(localedir).
13796
13797 * INSTALL: Note that autoconf 2.60 is required.
13798 * configure.ac (AC_PREREQ): Bump to 2.60.
13799 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13800 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13801
13802 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13803
13804 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13805 aclocal is run.
13806
13807 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13808
13809 * normal/main.c (grub_normal_read_line): Fix off-by-one
13810 buffer overflow.
13811
13812 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13813
13814 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13815 "parser.grub" in grub_command_execute() call.
13816
13817 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13818
13819 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13820 * conf/i386-efi.rmk: Likewise.
13821 * conf/i386-ieee1275.rmk: Likewise.
13822 * conf/i386-pc.rmk: Likewise.
13823 * conf/powerpc-ieee1275.rmk: Likewise.
13824 * conf/sparc64-ieee1275.rmk: Likewise.
13825 * conf/x86_64-efi.rmk: Likewise.
13826 * gettext/gettex.c: Include <grub/i18n.h>.
13827 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13828 here ...
13829 * include/grub/i18n.h: ... to here
13830 * include/grub/i18n.h: ... to here.
13831 * kern/misc.c: Include <grub/i18n.h>
13832 (grub_gettext_dummy): Move above user.
13833
13834 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13835
13836 * util/Makefile.in (install-local): Convert a `for' into a normal
13837 shell expansion.
13838
13839 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13840
13841 * autogen.sh: Add automake call.
13842 * config.guess: Remove.
13843 * config.sub: Likewise.
13844 * install-sh: Likewise.
13845
13846 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13847
13848 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13849
13850 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13851
13852 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13853 function to a normal shell `for'.
13854
13855 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13856
13857 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13858
13859 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13860
13861 * util/grub-mkrelpath.c: New file.
13862 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13863 (grub_mkrelpath_SOURCES): New variable.
13864 * include/grub/util/misc.h: New function prototype.
13865 * util/misc.c (make_system_path_relative_to_its_root): New function.
13866
13867 * util/grub-mkconfig_lib.in (bindir): New variable.
13868 (grub_mkrelpath): Likewise.
13869 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13870
13871 * util/probe.c (probe): Make the file path relative to its root.
13872 Change a info message to use the GRUB path. Enable again the
13873 check if we can read the file with GRUB facilities.
13874
13875 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13876 to its root.
13877
13878 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13879
13880 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13881 platform.
13882
13883 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13884
13885 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13886 strncmp().
13887
13888 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13889
13890 * util/getroot.c (grub_util_is_dmraid): New function.
13891 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13892 devices as normal ones, not as LVM.
13893
13894 2009-11-23 Carles Pina i Estany <carles@pina.cat>
13895
13896 * conf/common.rmk: Add grub-gettext_lib target and updates
13897 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13898 LDFLAGS.
13899 * gettext/gettext.c: New file. (Reads mo files).
13900 * include/grub/file.h (grub_file_pread): New prototype.
13901 * include/grub/i18n.h (_): New prototype.
13902 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13903 prototypes.
13904 * kern/misc.c (grub_gettext_dummy): New function.
13905 * normal/menu_text.c: Include <grub/i18n.h>.
13906 * normal/menu_text.c (print_timeout): Gettexttize string.
13907 * normal/menu_text.c (print_message): Gettexttize string.
13908 * po/POTFILES: Add `normal/menu_text.c'.
13909 * po/ca.po: Add new translations.
13910 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13911 gettext module and defines locale_dir and lang in grub.cfg.
13912 * NEWS: Add gettext support.
13913
13914 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13915
13916 * util/hostdisk.c: Include `<grub/i18n.h>'.
13917 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13918 (make_device_name): Rewrite using asprintf.
13919 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13920 (find_system_device): If a device is not found, generate one just
13921 by reusing the OS path name.
13922 (read_device_map): Make it permissible for device.map not to exist.
13923
13924 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13925
13926 * script/sh/execute.c: Move from here ...
13927 * script/execute.c: ... to here. Update all users.
13928 * script/sh/function.c: Move from here ...
13929 * script/function.c: ... to here. Update all users.
13930 * script/sh/lexer.c: Move from here ...
13931 * script/lexer.c: ... to here. Update all users.
13932 * script/sh/main.c: Move from here ...
13933 * script/main.c: ... to here. Update all users.
13934 * script/sh/parser.y: Move from here ...
13935 * script/parser.y: ... to here. Update all users.
13936 * script/sh/script.c: Move from here ...
13937 * script/script.c: ... to here. Update all users.
13938
13939 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13940
13941 * configure.ac: Detect all `emu' platforms. Define
13942 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13943 --enable-grub-emu logic. Disable include/grub/machine
13944 symlink on `emu' platforms.
13945
13946 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13947 * gensymlist.sh.in: Likewise.
13948
13949 * include/grub/i386/coreboot/machine.h: Remove file.
13950 * include/grub/i386/efi/machine.h: Likewise.
13951 * include/grub/i386/ieee1275/machine.h: Likewise.
13952 * include/grub/i386/pc/machine.h: Likewise.
13953 * include/grub/i386/qemu/machine.h: Likewise.
13954 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13955 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13956 * include/grub/x86_64/efi/machine.h: Likewise.
13957
13958 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13959 * commands/halt.c: Likewise.
13960 * commands/reboot.c: Likewise.
13961 * include/grub/autoefi.h: Likewise.
13962 * include/grub/i386/at_keyboard.h: Likewise.
13963 * include/grub/i386/kernel.h: Likewise.
13964 * include/grub/i386/loader.h: Likewise.
13965 * include/grub/i386/pc/memory.h: Likewise.
13966 * kern/dl.c: Likewise.
13967 * kern/i386/coreboot/init.c: Likewise.
13968 * loader/i386/bsd.c: Likewise.
13969 * loader/i386/linux.c: Likewise.
13970 * loader/multiboot_loader.c: Likewise.
13971 * term/i386/pc/serial.c: Likewise.
13972 * term/usb_keyboard.c: Likewise.
13973
13974 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13975 `<grub/machine/machine.h>'
13976 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13977 * util/misc.c: Remove `<grub/machine/machine.h>' and
13978 `<grub/machine/time.h>'.
13979
13980 * Makefile.in (enable_grub_emu): Remove variable.
13981 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13982
13983 * conf/any-emu.rmk: New file.
13984 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13985 (grub_emu_init.c): Move from here ...
13986 * conf/any-emu.rmk: ... to here.
13987
13988 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13989 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13990 * conf/any-emu.rmk: ... to here.
13991
13992 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13993
13994 * include/grub/parser.h (grub_parser_register): Document need
13995 of `name' parameter.
13996 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13997 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13998 "sh" to "grub".
13999
14000 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14001
14002 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14003 `$(XGETTEXT)'.
14004 * include/grub/i18n.h (N_): New macro.
14005 * util/mkisofs/mkisofs.h: Likewise.
14006 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14007 around N_().
14008 (usage): Use gettext() to translate help strings when printing them.
14009
14010 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14011
14012 Based on patch from Bean
14013 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14014
14015 * video/efi_fb.c: New file.
14016 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14017 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14018 variables.
14019 * conf/x86_64-efi.rmk: Likewise.
14020
14021 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14022
14023 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14024 * util/i386/pc/grub-setup.c: Likewise.
14025
14026 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14027
14028 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14029 <hurd/fs.h>
14030 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14031 file_get_storage_info to implement grub_guess_root_device.
14032
14033 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14034
14035 * Makefile.in (target): Use make's builtin $(shell) function
14036 instead of calling directly $(SHELL) to create the locale directories,
14037 inside the $(foreach) function.
14038
14039 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14040
14041 * util/grub-mkrescue.in: Print an error and usage if output option
14042 has not been given.
14043
14044 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
14045
14046 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14047 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14048 root and /boot are on different devices.
14049
14050 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14051
14052 Fix build for srcdir != objdir.
14053
14054 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14055 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14056 $(srcdir).
14057 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14058 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14059 reference for input.
14060
14061 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14062
14063 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14064 or hardlinking it). Remove -J option, Joliet is not compatible with
14065 multiple source directories.
14066
14067 2009-11-21 Carles Pina i Estany <carles@pina.cat>
14068 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14069
14070 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14071 (process_input_dir): New function. Process an arbitrary input
14072 directory.
14073 Misc adjustments to support both "override mode" and system-wide mode.
14074
14075 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14076
14077 * configure.ac (UNIFONT_BDF): Rename to ...
14078 (FONT_SOURCE): ... this. Update all users.
14079
14080 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
14081
14082 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14083 to the list of unifont files to look for.
14084
14085 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14086
14087 Patch from Joe Auricchio <jauricchio@gmail.com>
14088 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14089 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14090 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14091
14092 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14093
14094 * Makefile.in (install-local): Add a missing backslash.
14095
14096 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
14097
14098 * include/grub/x86_64/io.h: New file.
14099
14100 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14101
14102 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14103 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14104 Include `"progname.h"'.
14105 (main): Initialize gettext.
14106 * util/i386/pc/grub-setup.c: Gettexttize.
14107 * util/i386/pc/grub-mkimage.c: Likewise.
14108
14109 * Makefile.in (po/*.po): Redefine as ...
14110 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14111
14112 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14113
14114 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14115
14116 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14117 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14118 (program_name): Remove.
14119 (main): Initialize gettext support.
14120 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14121 Include `<libintl.h>'.
14122 (_): New macro.
14123
14124 * util/mkisofs/eltorito.c: Gettexttize.
14125 * util/mkisofs/joliet.c: Likewise.
14126 * util/mkisofs/mkisofs.c: Likewise.
14127 * util/mkisofs/multi.c: Likewise.
14128 * util/mkisofs/rock.c: Likewise.
14129 * util/mkisofs/tree.c: Likewise.
14130 * util/mkisofs/write.c: Likewise.
14131
14132 * po/POTFILES: Update with new files.
14133
14134 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14135
14136 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14137 * util/mkisofs/iso9660.h: Likewise.
14138 * util/mkisofs/joliet.c: Likewise.
14139 * util/mkisofs/mkisofs.c: Likewise.
14140 * util/mkisofs/mkisofs.h: Likewise.
14141 * util/mkisofs/rock.c: Likewise.
14142 * util/mkisofs/tree.c: Likewise.
14143 * util/mkisofs/write.c: Likewise.
14144
14145 * util/mkisofs/eltorito.c (rcsid): Remove.
14146 * util/mkisofs/hash.c: Likewise.
14147 * util/mkisofs/joliet.c: Likewise.
14148 * util/mkisofs/name.c: Likewise.
14149 * util/mkisofs/rock.c: Likewise.
14150 * util/mkisofs/tree.c: Likewise.
14151 * util/mkisofs/write.c: Likewise.
14152
14153 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14154
14155 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14156 instead of static allocation.
14157 * util/mkisofs/match.h: Likewise.
14158
14159 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14160
14161 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14162 and `util/grub.d/10_linux.in'.
14163 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14164 translatable Shell files.
14165
14166 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14167
14168 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14169
14170 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14171
14172 * INSTALL: Document Automake is needed for bootstrap.
14173 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
14174 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14175 Add gettext initialization.
14176 (kfreebsd_entry): Make menuentry output translatable.
14177
14178 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14179
14180 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14181 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14182 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14183 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14184 (LINGUAS): Auto-generate using `po/LINGUAS'.
14185 * po/LINGUAS: New file.
14186
14187 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14188
14189 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14190 other things).
14191 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14192 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14193 bindtextdomain() calls for gettext initialization.
14194
14195 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14196
14197 * gnulib/progname.c: New file (imported from Gnulib).
14198 * gnulib/progname.h: Likewise.
14199 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14200 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14201 (usage): Replace `progname' with `program_name'.
14202 (main): Use set_program_name() for program name initialization.
14203
14204 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14205
14206 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14207 from here ...
14208 * Makefile.in (CPPFLAGS): ... to here.
14209
14210 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14211
14212 * aclocal.m4: Move from here ...
14213 * acinclude.m4: ... to here.
14214 * autogen.sh: Add call to `aclocal'.
14215 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14216
14217 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14218
14219 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14220 (LINGUAS): New variable.
14221 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14222 (install-local): Install MO files.
14223 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14224 * include/grub/i18n.h: New file.
14225 * po/POTFILES: New file.
14226 * po/ca.po: New file.
14227 * util/grub.d/10_linux.in (bindir): New variable.
14228 Add gettext initialization.
14229 (linux_entry): Make menuentry output translatable.
14230 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14231 (usage): Make --help output translatable.
14232 (main): Initialize gettext.
14233
14234 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14235
14236 * import_gcry.py: New file (written by Vladimir with minor
14237 adjustments).
14238 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14239 ciphers.
14240 * INSTALL: Document that Python is required for bootstrap.
14241
14242 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14243
14244 Import ciphers from libgcrypt 1.4.4.
14245
14246 * lib/libgcrypt/cipher/ChangeLog
14247 * lib/libgcrypt/cipher/ac.c
14248 * lib/libgcrypt/cipher/arcfour.c
14249 * lib/libgcrypt/cipher/bithelp.h
14250 * lib/libgcrypt/cipher/blowfish.c
14251 * lib/libgcrypt/cipher/camellia-glue.c
14252 * lib/libgcrypt/cipher/camellia.c
14253 * lib/libgcrypt/cipher/camellia.h
14254 * lib/libgcrypt/cipher/cast5.c
14255 * lib/libgcrypt/cipher/cipher.c
14256 * lib/libgcrypt/cipher/crc.c
14257 * lib/libgcrypt/cipher/des.c
14258 * lib/libgcrypt/cipher/dsa.c
14259 * lib/libgcrypt/cipher/ecc.c
14260 * lib/libgcrypt/cipher/elgamal.c
14261 * lib/libgcrypt/cipher/hash-common.c
14262 * lib/libgcrypt/cipher/hash-common.h
14263 * lib/libgcrypt/cipher/hmac-tests.c
14264 * lib/libgcrypt/cipher/md.c
14265 * lib/libgcrypt/cipher/md4.c
14266 * lib/libgcrypt/cipher/md5.c
14267 * lib/libgcrypt/cipher/primegen.c
14268 * lib/libgcrypt/cipher/pubkey.c
14269 * lib/libgcrypt/cipher/rfc2268.c
14270 * lib/libgcrypt/cipher/rijndael-tables.h
14271 * lib/libgcrypt/cipher/rijndael.c
14272 * lib/libgcrypt/cipher/rmd.h
14273 * lib/libgcrypt/cipher/rmd160.c
14274 * lib/libgcrypt/cipher/rsa.c
14275 * lib/libgcrypt/cipher/seed.c
14276 * lib/libgcrypt/cipher/serpent.c
14277 * lib/libgcrypt/cipher/sha1.c
14278 * lib/libgcrypt/cipher/sha256.c
14279 * lib/libgcrypt/cipher/sha512.c
14280 * lib/libgcrypt/cipher/tiger.c
14281 * lib/libgcrypt/cipher/twofish.c
14282 * lib/libgcrypt/cipher/whirlpool.c
14283
14284 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14285
14286 Fix build for systems without error().
14287
14288 * gnulib/error.c: New file (imported from Gnulib).
14289 * gnulib/error.h: Likewise.
14290 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14291 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14292 (this variable is now used by error()).
14293
14294 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14295
14296 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14297 instead of relying that char is signed.
14298
14299 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14302 blocksize different from specified.
14303 (grub_pxefs_read): Likewise.
14304
14305 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14306
14307 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14308
14309 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14310 (grub_ata_readwrite): Likewise. Update 2 format strings.
14311 (grub_atapi_read): Likewise.
14312
14313 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14314 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14315 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14316 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14317 (ata_mod_LDFLAGS): Move from here ...
14318 * conf/i386.rmk: ... to here ...
14319 * conf/x86_64-efi.rmk: ... and here.
14320 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14321 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14322
14323 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14324
14325 Relicense multiboot.h, with RMS' blessing.
14326
14327 * include/multiboot.h: Change to X11 license.
14328
14329 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14330
14331 Support --version in grub-mkisofs.
14332
14333 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14334 (OPTION_VERSION): New macro.
14335 (ld_options): Recognize --version.
14336 (usage): Move `program_name' from here ...
14337 (program_name): ... to here. Add `static' qualifier.
14338 (main): Recognize `OPTION_VERSION'.
14339
14340 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14341
14342 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14343 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14344
14345 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14346
14347 Fix help2man generation for mkisofs.
14348
14349 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14350 (usage): Send output to stdout (rather than stderr).
14351
14352 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14353
14354 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14355 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14356 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14357 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14358 (bin_SCRIPTS): Add `grub-mkfloppy'.
14359 (grub_mkfloppy_SOURCES): New variable.
14360
14361 * util/grub-mkrescue.in: New file.
14362 * util/i386/pc/grub-mkfloppy.in: New file.
14363
14364 * util/i386/coreboot/grub-mkrescue.in: Remove.
14365 * util/i386/pc/grub-mkrescue.in: Remove.
14366
14367 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14368
14369 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14370 from here ...
14371 * include/multiboot.h (struct multiboot_header): ... to here. Update
14372 all users.
14373 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14374 from here ...
14375 * include/multiboot.h (struct multiboot_info): ... to here. Update
14376 all users.
14377 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14378 from here ...
14379 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14380 Update all users.
14381 * include/grub/multiboot.h (struct grub_mod_list): Move
14382 from here ...
14383 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14384 Update all users.
14385
14386 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14387
14388 * include/multiboot2.h (multiboot_word): Rename from this ...
14389 (multiboot2_word): ... to this. Update all users.
14390 (multiboot_header): Rename from this ...
14391 (multiboot2_header): ... to this. Update all users.
14392 (multiboot_tag_header): Rename from this ...
14393 (multiboot2_tag_header): ... to this. Update all users.
14394 (multiboot_tag_start): Rename from this ...
14395 (multiboot2_tag_start): ... to this. Update all users.
14396 (multiboot_tag_name): Rename from this ...
14397 (multiboot2_tag_name): ... to this. Update all users.
14398 (multiboot_tag_module): Rename from this ...
14399 (multiboot2_tag_module): ... to this. Update all users.
14400 (multiboot_tag_memory): Rename from this ...
14401 (multiboot2_tag_memory): ... to this. Update all users.
14402 (multiboot_tag_unused): Rename from this ...
14403 (multiboot2_tag_unused): ... to this. Update all users.
14404 (multiboot_tag_end): Rename from this ...
14405 (multiboot2_tag_end): ... to this. Update all users.
14406
14407 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14408
14409 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14410 this platform we should support Multiboot1 first.
14411
14412 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14413 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14414 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14415
14416 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14417
14418 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14419 of write calls (converting them to fwrite() if they aren't already).
14420 (get_torito_desc): Likewise.
14421 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14422
14423 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14424
14425 * util/i386/pc/grub-install.in: Move from here ...
14426 * util/grub-install.in: ... to here. Update all users.
14427
14428 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14429
14430 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14431
14432 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14433
14434 Support for El Torito without floppy emulation.
14435
14436 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14437 (init_boot_catalog): Improve error handling.
14438 (get_torito_desc): Don't use floppy emulation unless requested by
14439 user. Patch boot information table when requested via
14440 `-boot-info-table'.
14441 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14442 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14443 (use_boot_info_table): New variables.
14444 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14445 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14446 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14447 `--eltorito-emul-floppy'.
14448 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14449 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14450 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14451 (use_boot_info_table, get_731): New prototypes.
14452 * util/mkisofs/write.c (get_731): New function.
14453
14454 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14455
14456 Fix the generation of the man page.
14457
14458 * util/pc/i386/grub-install.in: Source
14459 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14460
14461 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14462
14463 Large file support for grub-mkisofs.
14464
14465 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14466 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14467 (session_start): Upgrade type to `uint64_t'. Update all users.
14468 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14469 (struct directory_entry): Upgrade type of `starting_block' and
14470 `size' to `uint64_t'. Update all users.
14471 (struct deferred): Remove unused structure.
14472 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14473 Update all users.
14474 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14475 file is larger than `UINT32_MAX'.
14476 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14477 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14478 return value.
14479 (struct deferred_write): Upgrade type of `extent' and `size' to
14480 `uint64_t'. Update all users.
14481 (last_extent_written): Upgrade type to `uint64_t'. Update all
14482 users.
14483 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14484 Update all users. Upgrade type of `remain' to `int64_t' and
14485 `use' to `size_t'. Use error() to handle fread() errors.
14486 (write_files): Rely on write_one_file() rather than calling
14487 xfwrite() directly.
14488
14489 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14490
14491 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14492
14493 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14494
14495 * util/mkisofs/fnmatch.c: Remove.
14496 * util/mkisofs/getopt1.c: Likewise.
14497 * util/mkisofs/getopt.c: Likewise.
14498 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14499 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14500 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14501 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14502 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14503
14504 * configure.ac: Detect `mingw32msvc' host_os.
14505 Check for lstat(), getuid() and getgid().
14506
14507 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14508 instances of `u_char' with `uint8_t'.
14509
14510 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14511 [!HAVE_GETUID] (getuid): New function (stub).
14512 [!HAVE_GETGID] (getgid): Likewise.
14513 [!HAVE_LSTAT] (lstat): Likewise.
14514 [!S_IROTH] (S_IROTH): New macro (dummy).
14515 [!S_IRGRP] (S_IRGRP): Likewise.
14516
14517 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14518
14519 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14520 conditional expression).
14521
14522 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14523
14524 Import from Gnulib.
14525
14526 * gnulib/fnmatch.c: New file.
14527 * gnulib/fnmatch.h: Likewise.
14528 * gnulib/fnmatch_loop.c: Likewise.
14529 * gnulib/getopt.c: Likewise.
14530 * gnulib/getopt.h: Likewise.
14531 * gnulib/getopt1.c: Likewise.
14532 * gnulib/getopt_int.h: Likewise.
14533 * gnulib/gettext.h: Likewise.
14534
14535 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14536
14537 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14538 * normal/handler.c (read_handler_list): Likewise.
14539
14540 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14541
14542 Misc cleanup.
14543
14544 * kern/command.c (grub_register_command_prio): Use
14545 grub_zalloc() instead of explicitly zeroing data.
14546 * kern/list.c: Include `<grub/mm.h>'.
14547 (grub_named_list_find): Replace `0' with `NULL'.
14548 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14549 (fs_module_list): Change type to `grub_named_list_t'. Update all
14550 users.
14551 * normal/dyncmd.c (read_command_list): Add space between function
14552 call and parenthesis.
14553 * normal/handler.c (read_handler_list): Likewise.
14554
14555 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14556
14557 * normal/auth.c (punishment_delay): Moved from here ...
14558 (grub_auth_strcmp): ... to here (inside function).
14559
14560 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14561
14562 * include/grub/list.h (struct grub_named_list): Remove `const'
14563 qualifier from `name'.
14564 (struct grub_prio_list): Likewise.
14565
14566 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14567
14568 * normal/auth.c: Include `<grub/time.h>'.
14569 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14570
14571 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14572
14573 * normal/auth.c (punishment_delay): New variable.
14574 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14575 (grub_auth_check_authentication): Punish failed login attempts with
14576 an incremental (2^N) delay.
14577
14578 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14579
14580 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14581 path with $(srcdir).
14582
14583 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14586
14587 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14588
14589 * util/i386/coreboot/grub-mkrescue.in: New file.
14590 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14591 variables.
14592
14593 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14594 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14595 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14596 requirements.
14597 * util/mkisofs/defaults.h: New file.
14598 * util/mkisofs/eltorito.c: Likewise.
14599 * util/mkisofs/exclude.h: Likewise.
14600 * util/mkisofs/fnmatch.c: Likewise.
14601 * util/mkisofs/getopt.c: Likewise.
14602 * util/mkisofs/getopt1.c: Likewise.
14603 * util/mkisofs/hash.c: Likewise.
14604 * util/mkisofs/include/fctldefs.h: Likewise.
14605 * util/mkisofs/include/mconfig.h: Likewise.
14606 * util/mkisofs/include/prototyp.h: Likewise.
14607 * util/mkisofs/include/statdefs.h: Likewise.
14608 * util/mkisofs/iso9660.h: Likewise.
14609 * util/mkisofs/joliet.c: Likewise.
14610 * util/mkisofs/match.c: Likewise.
14611 * util/mkisofs/match.h: Likewise.
14612 * util/mkisofs/mkisofs.c: Likewise.
14613 * util/mkisofs/mkisofs.h: Likewise.
14614 * util/mkisofs/multi.c: Likewise.
14615 * util/mkisofs/name.c: Likewise.
14616 * util/mkisofs/rock.c: Likewise.
14617 * util/mkisofs/tree.c: Likewise.
14618 * util/mkisofs/write.c: Likewise.
14619
14620 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14623 being insecure.
14624
14625 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14626
14627 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14628 `grub-mkimage' (and use $0 when possible).
14629
14630 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14631
14632 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14633 error message for excessively large memory map.
14634
14635 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14636
14637 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14638 executable bit.
14639
14640 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14641
14642 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14643 message for coreboot users.
14644
14645 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14646
14647 Fix build with GNU gold.
14648
14649 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14650 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14651 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14652 link addresses.
14653 * aclocal.m4: Likewise.
14654
14655 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14656
14657 * configure.ac (AC_PREREQ): Bump to 2.59d.
14658 * INSTALL: Make it more clear when Autoconf and Ruby are
14659 needed and when to run `./autogen.sh'.
14660
14661 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14662
14663 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14664 OSes.
14665
14666 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14667
14668 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14669
14670 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14671
14672 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14673 giving it to GNU Mach.
14674
14675 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14676
14677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14678 GNU partition number to get internal GRUB partition number.
14679
14680 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14681
14682 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14683 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14684
14685 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14686
14687 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14688 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14689 case.
14690
14691 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14692
14693 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14694
14695 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 Fix build problem.
14698
14699 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14700 `-isystem=$(srcdir)/include'.
14701
14702 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14703
14704 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14705 checked (grub-install doesn't currently rely on it).
14706
14707 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14708
14709 Revert SVN r2660.
14710
14711 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14712 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14713 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14714 * conf/i386-ieee1275.rmk: Likewise.
14715 * conf/i386-pc.rmk: Likewise.
14716 * conf/powerpc-ieee1275.rmk: Likewise.
14717 * conf/sparc64-ieee1275.rmk: Likewise.
14718 * conf/x86_64-efi.rmk: Likewise.
14719
14720 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14721
14722 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14723
14724 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14725
14726 * include/grub/misc.h: Stop checking for APPLE_CC.
14727
14728 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14729
14730 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14731 doesn't cause an infinite call loop.
14732
14733 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14734
14735 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14736 strings.
14737
14738 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14739
14740 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14741 variable.
14742 * Makefile.in: Likewise.
14743
14744 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14745
14746 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14747
14748 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14749
14750 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14751
14752 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14753
14754 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14755
14756 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14757
14758 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14759 from here ...
14760 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14761
14762 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14763
14764 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14765 in $(MAKEINFO) invocation. This makes it clear in output that
14766 errors are being ignored.
14767
14768 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14769
14770 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14771 from here ...
14772 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14773 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14774 * conf/i386-ieee1275.rmk: Likewise.
14775 * conf/i386-pc.rmk: Likewise.
14776 * conf/powerpc-ieee1275.rmk: Likewise.
14777 * conf/sparc64-ieee1275.rmk: Likewise.
14778 * conf/x86_64-efi.rmk: Likewise.
14779
14780 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14781
14782 * util/grub-editenv.c (main): If only a command is given, use
14783 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14784 (usage): FILENAME is now optional and has a default.
14785
14786 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14787
14788 Improve grub-mkconfig performance when there are several menu
14789 entries on a single filesystem.
14790
14791 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14792 prepare_grub_to_access_device.
14793 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14794 * util/grub.d/30_os-prober.in: Likewise.
14795
14796 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14797
14798 * util/grub.d/10_freebsd.in: Remove.
14799 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14800 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14801
14802 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14803
14804 * docs/grub.cfg: Fix example usage of *BSD loaders.
14805
14806 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14807
14808 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14809 grub_util_error() call.
14810
14811 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14812
14813 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14814 `reserved_first_sector' member.
14815 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14816 `reserved_first_sector' to 1.
14817 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14818 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14819 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14820 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14821 filesystems which begin at first sector.
14822 (options): New option --skip-fs-probe.
14823 (main): Handle --skip-fs-probe and pass it to setup().
14824
14825 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14826
14827 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14828 (memset): Fix function prototype.
14829
14830 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14831 2009-10-25 Vasily Averin <vvs@parallels.com>
14832
14833 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14834 `dirent.direntlen == 0'.
14835
14836 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14837
14838 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14839 `cpio'.
14840 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14841
14842 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14843
14844 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14845 `__trampoline_setup' and `__ucmpdi2'.
14846 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14847 that libgcc provides.
14848
14849 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14850
14851 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14852 * include/grub/sparc64/libgcc.h (memset): Likewise.
14853 * include/grub/misc.h (memset, memcmp): New function prototypes.
14854
14855 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14856
14857 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14858 `cpio'.
14859 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14860
14861 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14862
14863 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14864 * docs/grub.cfg: Compensate for recent change in multiboot
14865 loader (since 2009-08-14 it won't pass filename to payload).
14866 * util/grub.d/10_hurd.in: Likewise.
14867
14868 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
14869
14870 * config.guess: Update to latest version from config git
14871 repository.
14872 * config.sub: Likewise.
14873
14874 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14875
14876 Fix build on sparc64.
14877
14878 * configure.ac: Perform checks for libgcc symbols before
14879 adding `-nostdlib' to LDFLAGS.
14880
14881 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 Let user specify OpenBSD root device.
14884
14885 * loader/i386/bsd.c (openbsd_root): New variable.
14886 (openbsd_opts): New option 'root'.
14887 (OPENBSD_ROOT_ARG): New macro.
14888 (grub_openbsd_boot): Use 'openbsd_root'.
14889 (grub_cmd_openbsd): Fill 'openbsd_root'.
14890
14891 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14892
14893 * NEWS: Misc adjustments.
14894
14895 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14898
14899 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14900
14901 * configure.ac: Bump version to 1.97.
14902
14903 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14906 -mno-3dnow on x86 architectures. Some toolchains enable these
14907 features by default, but they rely on registers that aren't enabled
14908 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14909
14910 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14911
14912 Make entry text a bit more readable.
14913
14914 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14915
14916 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14919
14920 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14923 operations.
14924
14925 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * configure.ac: Add missing dollar.
14928
14929 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14932
14933 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14934 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14935 exports.
14936 * include/grub/sparc64/libgcc.h: Likewise. Use
14937 preprocessor conditionals.
14938
14939 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14940
14941 * conf/common.rmk (grub-dumpbios): Remove rule.
14942 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14943 * util/grub-dumpbios.in: Remove file.
14944
14945 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14946
14947 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14948 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14949
14950 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14951 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14952 users.
14953
14954 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14955 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14956 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14957 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14958 users.
14959
14960 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14961
14962 * term/tparm.c: Switch to GPLv3.
14963
14964 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14965
14966 * include/grub/i386/cpuid.h: Add header protection.
14967
14968 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14969
14970 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14971
14972 * include/grub/i386/cpuid.h: New file.
14973 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14974 (has_longmode): Rename to ...
14975 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14976 `static' attribute.
14977 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14978 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14979 on a CPU that doesn't implement AMD64 instruction set.
14980
14981 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14982
14983 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14984 that version.texi is rebuilt on version number changes.
14985
14986 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14987
14988 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14989 Fixes bug #27602.
14990
14991 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14992
14993 * util/i386/pc/grub-install.in: Source
14994 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14995 that the --grub-probe option will work.
14996 * util/sparc64/ieee1275/grub-install.in: Likewise.
14997
14998 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14999
15000 * configure.ac: Bump version to 1.97~beta4.
15001
15002 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15003
15004 Resync grub-mkdevicemap in x86_64-efi.
15005
15006 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15007 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15008 `util/devicemap.c'.
15009
15010 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
15011
15012 * util/grub-editenv.c (create_envblk_file): Write new block with a
15013 .new suffix and then rename it into place, to ensure atomic
15014 creation.
15015
15016 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15017
15018 Do not automatically install headers.
15019
15020 * Makefile.in (include_DATA): Remove. Update all users.
15021
15022 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15023
15024 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15025 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15026
15027 * util/osdetect.lua: Remove.
15028 * script/lua/lauxlib.c: Likewise.
15029 * script/lua/ldebug.c: Likewise.
15030 * script/lua/grub_main.c: Likewise.
15031 * script/lua/lauxlib.h: Likewise.
15032 * script/lua/ldebug.h: Likewise.
15033 * script/lua/ltablib.c: Likewise.
15034 * script/lua/liolib.c: Likewise.
15035 * script/lua/lstrlib.c: Likewise.
15036 * script/lua/lualib.h: Likewise.
15037 * script/lua/ldo.c: Likewise.
15038 * script/lua/ldump.c: Likewise.
15039 * script/lua/ldo.h: Likewise.
15040 * script/lua/loslib.c: Likewise.
15041 * script/lua/lundump.c: Likewise.
15042 * script/lua/grub_lib.c: Likewise.
15043 * script/lua/ldblib.c: Likewise.
15044 * script/lua/lundump.h: Likewise.
15045 * script/lua/lmem.c: Likewise.
15046 * script/lua/grub_lib.h: Likewise.
15047 * script/lua/lmathlib.c: Likewise.
15048 * script/lua/lstate.c: Likewise.
15049 * script/lua/ltm.c: Likewise.
15050 * script/lua/lvm.c: Likewise.
15051 * script/lua/lmem.h: Likewise.
15052 * script/lua/lstate.h: Likewise.
15053 * script/lua/ltm.h: Likewise.
15054 * script/lua/ltable.c: Likewise.
15055 * script/lua/lvm.h: Likewise.
15056 * script/lua/llex.c: Likewise.
15057 * script/lua/lgc.c: Likewise.
15058 * script/lua/grub_lua.h: Likewise.
15059 * script/lua/loadlib.c: Likewise.
15060 * script/lua/lfunc.c: Likewise.
15061 * script/lua/lopcodes.c: Likewise.
15062 * script/lua/lparser.c: Likewise.
15063 * script/lua/ltable.h: Likewise.
15064 * script/lua/llex.h: Likewise.
15065 * script/lua/lgc.h: Likewise.
15066 * script/lua/lfunc.h: Likewise.
15067 * script/lua/lbaselib.c: Likewise.
15068 * script/lua/lopcodes.h: Likewise.
15069 * script/lua/lparser.h: Likewise.
15070 * script/lua/lzio.c: Likewise.
15071 * script/lua/linit.c: Likewise.
15072 * script/lua/lobject.c: Likewise.
15073 * script/lua/llimits.h: Likewise.
15074 * script/lua/lstring.c: Likewise.
15075 * script/lua/lzio.h: Likewise.
15076 * script/lua/lapi.c: Likewise.
15077 * script/lua/lcode.c: Likewise.
15078 * script/lua/lua.h: Likewise.
15079 * script/lua/lobject.h: Likewise.
15080 * script/lua/lstring.h: Likewise.
15081 * script/lua/lapi.h: Likewise.
15082 * script/lua/lcode.h: Likewise.
15083 * script/lua/luaconf.h: Likewise.
15084
15085 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * docs/grub.texi (Command-line and menu entry commands): Document
15088 date and echo commands.
15089
15090 2009-09-24 Pavel Roskin <proski@gnu.org>
15091
15092 * include/grub/kernel.h (struct grub_module_header): Remove
15093 `grub_module_header_types'. Make `type' unsigned. Make `size'
15094 32-bit on all platforms.
15095 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15096 8-bit field. Use grub_host_to_target32() for `size'.
15097 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15098 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15099 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15100
15101 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15102
15103 Fix "lost keypress" bug in at_keyboard.
15104
15105 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15106 Checks for readyness of input buffer (without flushing it).
15107 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15108 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15109
15110 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15111
15112 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15113 size check within GRUB_MACHINE_PCBIOS section.
15114
15115 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15116
15117 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15118 return value.
15119 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15120 KEYBOARD_ISREADY check.
15121 (grub_at_keyboard_checkkey): Rename to ...
15122 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15123 Remove gratuitous cast.
15124
15125 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
15126
15127 * configure.ac: Call AC_PROG_MKDIR_P.
15128 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15129 version.texi in $(builddir) rather than $(srcdir).
15130 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15131 to makeinfo's @include search path.
15132
15133 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15134
15135 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15136
15137 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
15138
15139 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15140 for `*.dpkg-new'.
15141
15142 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
15143
15144 Build info documentation. Some code borrowed from Automake.
15145
15146 * configure.ac: Check for makeinfo.
15147 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15148 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15149 docs/version.texi.
15150 (MOSTLYCLEANFILES): Add vti.tmp.
15151 (docs/version.texi, docs/stamp-vti): Update automatically.
15152 (docs/grub.info): Build info documentation. Use --force and ignore
15153 errors for now.
15154 (all-local): Add $(INFOS).
15155 (install-local): Install info files.
15156 (uninstall): Uninstall info files.
15157 * docs/version.texi: Remove from revision control. This file is
15158 automatically generated on build now.
15159 * gendistlist.sh: Add `*.info'.
15160
15161 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15162
15163 * kern/term.c: Fix indentation.
15164
15165 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
15166
15167 * util/hostdisk.c: Fix a comment.
15168
15169 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15170
15171 Fix regression introduced in r2539.
15172
15173 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15174 to 0xA1.
15175
15176 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
15177
15178 * util/grub.d/30_os-prober.in: Don't throw away stderr from
15179 os-prober. Under normal operation, it does not print anything to
15180 stderr; if it does, we need to debug it, and throwing away stderr
15181 makes that excessively difficult.
15182
15183 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15186
15187 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15188
15189 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15190 AC_LANG_PROGRAM from autoconf.
15191 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15192 prototypes (fixes warning).
15193
15194 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15195 `--disable-werror' was used.
15196
15197 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15198
15199 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15200 uninitialized `lastaddr'.
15201
15202 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
15205
15206 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15207
15208 * commands/test.c (get_fileinfo): Return immediately if
15209 grub_fs_probe fails.
15210
15211 2009-09-14 José Martínez <xosemp@gmail.com>
15212
15213 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15214
15215 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
15216
15217 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15218 output.
15219
15220 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15221
15222 * configure.ac: Remove --enable-grub-pe2elf. Only build
15223 grub-pe2elf when needed by the build system itself.
15224 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15225
15226 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15227
15228 * configure.ac: Bump version to 1.97~beta3.
15229 * docs/version.texi: Likewise.
15230
15231 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15232
15233 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15234 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15235 from here ...
15236 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15237 (grub_linux_setup_video): ... to here (with some adjustments).
15238
15239 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15240
15241 Fix memory corruption issue (spotted by Colin Watson).
15242
15243 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15244 causing returned size to be stored in an incorrect memory location.
15245 Fix use of uninitialized value when storing the returned size.
15246
15247 2009-09-12 Yves Blusseau <blusseau@zetam.org>
15248
15249 Change clean rules to properly remove files
15250
15251 * genmk.rb: add new clean rules
15252 * Makefile.in (clean): add the new targets
15253 (mostlyclean): likewise
15254
15255 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15256
15257 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15258 to grub_uint64_t.
15259 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15260 non-resident files.
15261
15262 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
15263
15264 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15265 part of bug #27349.
15266
15267 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15268
15269 * util/grub-mkconfig.in: Make the created config mode 400 and
15270 print a warning if it fails.
15271
15272 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15273
15274 * util/grub.d/40_custom.in: Ask user to type custom entries below
15275 comment, rather than below 'exec tail' line.
15276
15277 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15280 visible in grub.cfg.
15281
15282 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
15283
15284 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15285 file.
15286
15287 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
15288
15289 * docs/grub.cfg: Add an example menu entry for memtest86+.
15290
15291 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
15292
15293 * config.guess: Update to latest version from config git.
15294 * config.sub: Likewise.
15295
15296 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
15297
15298 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15299 unknown-command case. Fixes bug #27320.
15300
15301 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15302
15303 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15304 `help' if the command exists.
15305
15306 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15307
15308 * INSTALL: Require GCC 4.1.3 or later.
15309
15310 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15311
15312 * Makefile.in (RMKFILES): add i386-qemu.rmk
15313 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15314 $(srcdir)/stamp-h.in
15315
15316 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15317
15318 * util/grub-probe.c (probe): Comment out buggy codepath, which
15319 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15320 should be re-enabled after 1.97.
15321
15322 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15323
15324 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15325 find searches for.
15326
15327 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15330 unnecessary calls to grub_error.
15331
15332 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15333
15334 * NEWS: Mention `keystatus' and Unicode fonts.
15335
15336 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15337
15338 * configure.ac: Bump version to 1.97~beta2.
15339 * docs/version.texi: Likewise.
15340
15341 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15344 containing unwind information in some cases where it previously did
15345 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15346 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15347 discussion.
15348
15349 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15350
15351 Embedding loadenv module into grub-emu
15352
15353 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15354 commands/loadenv.c
15355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15357 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15359 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15361
15362 2009-09-03 Magnus Granberg <zorry@ume.nu>
15363
15364 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15365 include -fPIE in the default specs.
15366 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15367 to TARGET_CFLAGS.
15368
15369 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15370
15371 * INSTALL: Note that GNU Bison 2.3 or later is required.
15372
15373 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15374
15375 * kern/i386/pc/startup.S: Fix typo.
15376
15377 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15380 according to GCS.
15381
15382 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15383
15384 * docs/grub.texi (Naming convention): Describe one-based partition
15385 numbering.
15386 (Device syntax): Likewise.
15387 (File name syntax): Likewise.
15388 (Block list syntax): Likewise.
15389 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15390 menu.lst.
15391 (File name syntax): Likewise.
15392 (Command-line and menu entry commands): Document acpi, blocklist,
15393 crc, export, insmod, keystatus, ls, set, and unset commands.
15394
15395 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15396
15397 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15398 to avoid implying that only one of --shift, --ctrl, or --alt may be
15399 used.
15400
15401 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15402
15403 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15404 rather than comparing against S_IFREG, which will almost never work.
15405
15406 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15409 (write_blocklists): Likewise.
15410
15411 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15412
15413 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15414 argument to grub_printf.
15415
15416 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15417
15418 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15419 non GNU test.
15420
15421 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * kern/file.c (grub_file_read): Spelling fix
15424
15425 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15428 loading of headers in some cases.
15429
15430 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15431
15432 * configure.ac: Bump version to 1.97~beta1.
15433 * docs/version.texi: Likewise.
15434
15435 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * include/grub/i386/xnu.h: Add license header.
15438 include grub/err.h explicitly.
15439
15440 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15441
15442 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15443 to `ufs' in the vfs.root.mountfrom kernel parameter.
15444
15445 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15446
15447 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15448
15449 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15450 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15451
15452 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15453 `ARRAY_SIZE' macro.
15454
15455 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * kern/file.c (grub_file_read): Check offset.
15458 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15459 * fs/jfs.c (grub_jfs_read_file): Likewise.
15460 * fs/ntfs.c (grub_ntfs_read): Likewise.
15461 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15462 * fs/minix.c (grub_minix_read_file): Correct offset check.
15463 * fs/ufs.c (grub_ufs_read_file): Likewise.
15464
15465 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * term/i386/pc/console.c (bios_data_area): Cast
15468 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15469
15470 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 1-bit optimised blitters.
15473
15474 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15475 prototype.
15476 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15477 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15478 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15479 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15480 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15481 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15482 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15483 function.
15484 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15485 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15486 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15487 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15488 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15489 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15490 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15491 when possible.
15492 * video/video.c (grub_video_get_blit_format): Return
15493 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15494
15495 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15496
15497 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15498 the first argument to grub_printf.
15499
15500 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15501 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15502
15503 Add `getkeystatus' terminal method. Add a new `keystatus' command
15504 to query it.
15505
15506 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15507 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15508 modifier key bitmasks.
15509 (struct grub_term_input): Add `getkeystatus' member.
15510 (grub_getkeystatus): Add prototype.
15511 * kern/term.c (grub_getkeystatus): New function.
15512
15513 * include/grub/i386/pc/memory.h
15514 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15515 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15516 Data Area layout.
15517 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15518 (grub_console_term_input): Set `getkeystatus' member.
15519 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15520 constants.
15521 (grub_usb_keyboard_getreport): Likewise.
15522 (grub_usb_keyboard_checkkey): Likewise.
15523 (grub_usb_keyboard_getkeystatus): New function.
15524 (grub_usb_keyboard_term): Set `getkeystatus' member.
15525
15526 * commands/keystatus.c: New file.
15527 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15528 (keystatus_mod_SOURCES): New variable.
15529 (keystatus_mod_CFLAGS): Likewise.
15530 (keystatus_mod_LDFLAGS): Likewise.
15531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15532 commands/keystatus.c.
15533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15538 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15539
15540 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Split befs.mod and afs.mod into *_be.mod and *.mod
15543
15544 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15545 (grub_fstest_SOURCES): Likewise.
15546 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15547 (afs_be_mod_SOURCES): New variable.
15548 (afs_be_mod_CFLAGS): Likewise.
15549 (afs_be_mod_LDFLAGS): Likewise.
15550 (befs_be_mod_SOURCES): Likewise.
15551 (befs_be_mod_CFLAGS): Likewise.
15552 (befs_be_mod_LDFLAGS): Likewise.
15553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15554 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15556 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15557 (grub_emu_SOURCES): Likewise.
15558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15561 * fs/afs_be.c: New file.
15562 * fs/befs_be.c: New file.
15563 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15564 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15565 (U16): Replaced with ...
15566 (grub_afs_to_cpu16): ...this. All users updated.
15567 (U32): Replaced with ...
15568 (grub_afs_to_cpu32): ...this. All users updated.
15569 (U64): Replaced with ...
15570 (grub_afs_to_cpu64): ...this. All users updated.
15571 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15572 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15573 (grub_afs_validate_sblock): Check only one endianness.
15574 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15575 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15576 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15577 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15578 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15579 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15580 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15581 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15582
15583 2009-08-26 Bean <bean123ch@gmail.com>
15584
15585 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15586 64-bit number.
15587 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15588 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15589 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15590
15591 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 NetBSD memory map support.
15594
15595 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15596 (grub_netbsd_btinfo_mmap_header): New structure.
15597 (grub_netbsd_btinfo_mmap_entry): Likewise.
15598 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15599
15600 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 Enable bsd.mod on coreboot.
15603
15604 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15605 (bsd_mod_SOURCES): New variable.
15606 (bsd_mod_CFLAGS): Likewise.
15607 (bsd_mod_LDFLAGS): Likewise.
15608 (bsd_mod_ASFLAGS): Likewise.
15609 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15610 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15611
15612 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 Cleanup NetBSD root support.
15615
15616 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15617 grub_bsd_get_device.
15618 Fix typo.
15619
15620 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15621
15622 * util/grub.d/00_header.in: Move check for the video backend of
15623 gfxterm from here ...
15624 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15625 a suitable video backend.
15626
15627 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 Fix breakage in grub-setup.
15630
15631 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15632 "msdos_partition_map".
15633
15634 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 Fix breakage in normal/auth.c.
15637
15638 * normal/auth.c (grub_iswordseparator): New function.
15639
15640 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Authentication support.
15643
15644 * commands/password.c: New file.
15645 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15646 (password_mod_SOURCES): New variable.
15647 (password_mod_CFLAGS): Likewise.
15648 (password_mod_LDFLAGS): Likewise.
15649 (normal_mod_SOURCES): Add normal/auth.c.
15650 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15651 normal/auth.c.
15652 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15654 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15656 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15657 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15658 * include/grub/auth.h: New file.
15659 * include/grub/err.h (grub_err_t): New enum value
15660 GRUB_ERR_ACCESS_DENIED.
15661 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15662 'users'.
15663 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15664 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15665 users updated.
15666 * normal/auth.c: New file.
15667 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15668 (grub_cmdline_run): Don't allow to go to command line without
15669 authentication.
15670 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15671 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15672 menuentry without superuser rights.
15673 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15674 user isn't a superuser.
15675
15676 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 Save space by inlining misc.c functions.
15679
15680 * kern/misc.c (grub_iswordseparator): Made static.
15681 * kern/misc.c (grub_strcat): Moved from here ...
15682 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15683 * kern/misc.c (grub_strncat): Moved from here ...
15684 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15685 * kern/misc.c (grub_strcasecmp): Moved from here ...
15686 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15687 * kern/misc.c (grub_strncasecmp): Moved from here ...
15688 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15689 * kern/misc.c (grub_isalpha): Moved from here ...
15690 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15691 * kern/misc.c (grub_isdigit): Moved from here ...
15692 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15693 * kern/misc.c (grub_isgraph): Moved from here ...
15694 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15695 * kern/misc.c (grub_tolower): Moved from here ...
15696 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15697
15698 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * script/sh/function.c (grub_script_function_find): Cut error message
15701 not to flood terminal.
15702 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15703 limit.
15704 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15705
15706 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15707
15708 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15709 `report' grub_uint8_t *.
15710 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15711 Use a 50-millisecond timeout rather than just repeating
15712 grub_usb_keyboard_getreport 50 times.
15713 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15714
15715 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 Rename *_partition_map to part_*
15718
15719 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15720 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15721 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15722 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15723 All users updated.
15724 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15725 All users updated.
15726 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15727 * util/grub-probe.c (probe_partmap): Don't transform partition name
15728 to get module name.
15729
15730 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 Fix OpenBSD and NetBSD support.
15733
15734 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15735 memory address conflict.
15736 (OPENBSD_MMAP_ACPI): New definition.
15737 (OPENBSD_MMAP_NVS): Likewise.
15738 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15739 and OPENBSD_MMAP_NVS.
15740 Add memory map terminator
15741 Explicit cast when calling grub_unix_real_boot.
15742 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15743
15744 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 Let user specify NetBSD root device.
15747
15748 * loader/i386/bsd.c (netbsd_root): New variable.
15749 (netbsd_opts): New option 'root'.
15750 (NETBSD_ROOT_ARG): New macro.
15751 (grub_netbsd_boot): Use 'netbsd_root'.
15752 (grub_bsd_unload): Free 'netbsd_root'.
15753 (grub_cmd_netbsd): Fill 'netbsd_root'.
15754
15755 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 Support for 64-bit NetBSD.
15758
15759 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15760 point when booting non-FreeBSD.
15761
15762 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Support --no-smp and --no-acpi for NetBSD.
15765
15766 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15767 (NETBSD_AB_NOACPI): Likewise.
15768 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15769 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15770
15771 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15774 errors.
15775 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15776 errors. Call grub_error when needed.
15777
15778 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 * commands/search.c (search_fs): Try searching without autoload first.
15781 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15782 filesystem module explicitly for faster booting.
15783
15784 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15785
15786 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15787
15788 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15789
15790 * util/grub.d/30_os-prober.in: Disable os-prober if
15791 `GRUB_DISABLE_OS_PROBER' was set to true.
15792
15793 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15794
15795 * partmap/pc.c: Rename to ...
15796 * partmap/msdos.c: ... this. Update all users.
15797 (grub_pc_partition_map): Rename to ...
15798 (grub_msdos_partition_map): ... this. Update all users.
15799
15800 * parttool/pcpart.c: Rename to ...
15801 * parttool/msdospart.c: ... this. Update all users.
15802
15803 * include/grub/pc_partition.h: Rename to ...
15804 * include/grub/msdos_partition.h: ... this. Update all users.
15805 (grub_pc_partition_bsd_entry): Rename to ...
15806 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15807 (grub_pc_partition_disk_label): Rename to ...
15808 (grub_msdos_partition_disk_label): ... this. Update all users.
15809 (grub_pc_partition_entry): Rename to ...
15810 (grub_msdos_partition_entry): ... this. Update all users.
15811 (grub_pc_partition_mbr): Rename to ...
15812 (grub_msdos_partition_mbr): ... this. Update all users.
15813 (grub_pc_partition): Rename to ...
15814 (grub_msdos_partition): ... this. Update all users.
15815 (grub_pc_partition_is_empty): Rename to ...
15816 (grub_msdos_partition_is_empty): ... this. Update all users.
15817 (grub_pc_partition_is_extended): Rename to ...
15818 (grub_msdos_partition_is_extended): ... this. Update all users.
15819 (grub_pc_partition_is_bsd): Rename to ...
15820 (grub_msdos_partition_is_bsd): ... this. Update all users.
15821
15822 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15823 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15824 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15825 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15826 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15827 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15828 (gpt_mod_LDFLAGS): Rename to ...
15829 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15830 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15831 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15832 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15833 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15834 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15835 (part_gpt_mod_LDFLAGS): ... this.
15836 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15837 `pcpart.mod' to `msdospart.mod'.
15838 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15839 to ...
15840 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15841 (msdospart_mod_LDFLAGS): ... this.
15842
15843 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15846 (openbsd_opts): Likewise.
15847 (netbsd_opts): Likewise.
15848 (freebsd_flags): Added 0 terminator.
15849 (openbsd_flags): Likewise.
15850 (netbsd_flags): Likewise.
15851 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15852 (grub_cmd_freebsd): Transformed into extended command.
15853 (grub_cmd_openbsd): Likewise.
15854 (grub_cmd_netbsd): Likewise.
15855 (cmd_freebsd): Changed type to grub_extcmd_t.
15856 (cmd_openbsd): Likewise.
15857 (cmd_netbsd): Likewise.
15858 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15859 grub_cmd_openbsd as extended commands.
15860 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15861 cmd_netbsd and cmd_openbsd
15862
15863 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15866
15867 2009-08-21 Pavel Roskin <proski@gnu.org>
15868
15869 * Makefile.in (install-local): When checking if a file is in the
15870 build directory, use "test -e" to detect symlinks.
15871
15872 * Makefile.in (install-local): Remove all files in
15873 $(DESTDIR)$(pkglibdir) before installing new files there.
15874
15875 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15876
15877 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15878 grub-mkelfimage.
15879
15880 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15881
15882 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15883 explicitly specified by the user.
15884
15885 2009-08-18 Pavel Roskin <proski@gnu.org>
15886
15887 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15888 grub_uint8_t pointer for data.
15889 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15890 Likewise.
15891 * video/fb/fbutil.c: Remove unnecessary casts.
15892
15893 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15894
15895 VBE cleanup.
15896
15897 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15898 (grub_vbe_set_video_mode): Save active mode info
15899 only after setting the mode.
15900 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15901 second argument.
15902
15903 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15904
15905 Rename variables for clarity.
15906
15907 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15908 (active_vbe_mode_info): ... this. All users updated.
15909 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15910 All users updated.
15911 (initial_mode): Rename to ...
15912 (initial_vbe_mode): ... this. All users updated.
15913 (mode_in_use): Rename to ..
15914 (vbe_mode_in_use): ... this. All users updated.
15915 (mode_list): Rename to ..
15916 (vbe_mode_list): ... this. All users updated.
15917 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15918 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15919 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15920 'mode_list_size' to 'vbe_mode_list_size'.
15921 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15922 'best_mode_info' to 'best_vbe_mode_info' and
15923 'best_mode' to 'best_vbe_mode'
15924
15925 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15926
15927 Remove duplicate grub_video_fb_get_video_ptr.
15928
15929 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15930 (grub_video_fb_get_video_ptr): ... this.
15931 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15932 * video/fb/fbutil.c: Add comment about addressing.
15933 (get_data_ptr): Rename to ...
15934 (grub_video_fb_get_video_ptr): ... this. All users updated.
15935 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15936
15937 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15938
15939 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15940 grub_dprintf() that was just added.
15941
15942 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15943
15944 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15945 (DEFAULT_VIDEO_MODE): Remove macros.
15946 (grub_linux_boot): Remove assumption that Linux has FB support,
15947 and use "text" as default video mode.
15948
15949 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15952 grub_dprintf.
15953 * fs/fat.c (grub_fat_read_data): Likewise.
15954
15955 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15958 payload.
15959 (grub_module): Likewise.
15960
15961 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15964 mbi->cmdline but free playground.
15965
15966 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 Handle group offset on UFS1.
15969
15970 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15971 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15972
15973 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 Split ufs.mod into ufs1.mod and ufs2.mod.
15976
15977 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15978 (grub_fstest_SOURCES): Likewise.
15979 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15980 (ufs_mod_SOURCES): Remove.
15981 (ufs_mod_CFLAGS): Likewise.
15982 (ufs_mod_LDFLAGS): Likewise.
15983 (ufs1_mod_SOURCES): New variable.
15984 (ufs1_mod_CFLAGS): Likewise.
15985 (ufs1_mod_LDFLAGS): Likewise.
15986 (ufs2_mod_SOURCES): New variable.
15987 (ufs2_mod_CFLAGS): Likewise.
15988 (ufs2_mod_LDFLAGS): Likewise.
15989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15990 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15991 Likewise.
15992 (grub_emu_SOURCES): Likewise.
15993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15994 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15995 (grub_setup_SOURCES): Likewise.
15996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15997 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15998 (grub_setup_SOURCES): Likewise.
15999 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16000 Likewise.
16001 * fs/ufs2.c: New file.
16002 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16003
16004 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Framebuffer split.
16007
16008 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16009 subsystem at the end.
16010 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16011 (video_fb_mod_SOURCES): New variable.
16012 (video_fb_mod_CFLAGS): Likewise.
16013 (video_fb_mod_LDFLAGS): Likewise.
16014 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16015 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16016 * video/i386/pc/vbeblit.c: Moved from here ...
16017 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16018 * video/i386/pc/vbefill.c: Moved from here ...
16019 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16020 * video/i386/pc/vbeutil.c: Moved from here ...
16021 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16022 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16023 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16024 * include/grub/i386/pc/vbefill.h: Moved from here ...
16025 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16026 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16027 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16028 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16029 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16030 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16031 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16032 (grub_video_adapter): Added 'get_info_and_fini'.
16033 (grub_video_get_info_and_fini): New prototype.
16034 (grub_video_set_mode): make modestring const char *.
16035 * loader/i386/linux.c (grub_linux_setup_video): Use
16036 grub_video_get_info_and_fini.
16037 (grub_linux_boot): Move modesetting just before booting.
16038 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16039 grub_video_get_info_and_fini.
16040 * video/i386/pc/vbe.c: Moved framebuffer part ...
16041 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16042 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16043 grub_video_fbstd_colors and grub_video_fb_set_palette.
16044 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16045 grub_video_fb_init.
16046 (grub_video_vbe_fini): Use grub_video_fb_fini.
16047 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16048 render_target and use grub_video_fb_set_active_render_target and
16049 grub_video_fb_set_palette.
16050 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16051 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16052 (grub_video_vbe_adapter): Use framebuffer.
16053 * video/video.c (grub_video_get_info_and_fini): New function.
16054 (grub_video_set_mode): Make modestring const char *.
16055 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16056 values are already initialised.
16057
16058 2009-08-14 Pavel Roskin <proski@gnu.org>
16059
16060 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16061 ABS and APPLE_CC.
16062 * boot/i386/pc/diskboot.S: Likewise.
16063 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16064 sectors allow compilation on MacOSX.
16065 * conf/i386-pc.rmk: Enable unconditional compilation of
16066 lnxboot.img.
16067
16068 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
16069
16070 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16071 * util/grub.d/00_header.in: Enter interruptible sleep if
16072 GRUB_HIDDEN_TIMEOUT is set.
16073
16074 2009-08-13 Yves Blusseau <blusseau@zetam.org>
16075
16076 * include/grub/symbol.h: Add the LOCAL macro.
16077 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16078 starting with "L_".
16079
16080 2009-08-13 Pavel Roskin <proski@gnu.org>
16081
16082 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16083 any modern compilers we support.
16084
16085 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16086 Use local labels starting with "L_" so that Apple assembler
16087 knows they are local.
16088
16089 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16090
16091 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16092 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16093 (bsd_kernel_types): ... this enum.
16094
16095 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16096 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16097 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16098
16099 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16100 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16101 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16102 messages.
16103
16104 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16105
16106 * util/grub-dumpdevtree: Moved from here ...
16107 * util/i386/efi/grub-dumpdevtree: ... to here.
16108 (hexify): New function. Converts a string to its hex version.
16109 Generate hex versions of "efi" and "device-properties" by calling
16110 hexify() on the ASCII strings rather than by hardcoding numbers.
16111
16112 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16113
16114 * fs/jfs.c: Update copyright year.
16115
16116 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16117
16118 * util/grub.d/00_header.in: Fix a comment.
16119 * util/grub.d/10_linux.in: Likewise.
16120 * util/grub.d/10_windows.in: Likewise.
16121 * util/grub.d/10_hurd.in: Likewise.
16122
16123 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
16124
16125 * util/grub-mkconfig.in: Allow the user to specify the used font
16126 with GRUB_FONT.
16127
16128 2009-08-08 Pavel Roskin <proski@gnu.org>
16129
16130 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16131 available, xfs.mod needs it now.
16132
16133 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16134 the "g" modifier in sed when the intention is to strip something
16135 once. This fixes comparison of kernels with multiple dashes.
16136
16137 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16138 on it. Add missing space before closing bracket. Fix
16139 misleading formatting.
16140
16141 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16142
16143 * docs/grub.texi: Major overhaul. Remove all sections that are
16144 specific to GRUB Legacy, or mostly composed of Legacy-specific
16145 information.
16146
16147 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16148
16149 * docs/version.texi: New file. Provides version information for
16150 grub.texi.
16151
16152 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16153
16154 * docs/grub.texi: Update CVS information to SVN.
16155 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16156
16157 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16158
16159 * util/grub-mkconfig.in: Remove a wrong `fi'.
16160
16161 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16162
16163 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16164 (grub_jfs_uuid): New function.
16165 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16166
16167 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
16168
16169 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16170 of it to ...
16171 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16172 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16173
16174 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16175
16176 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16177 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16178 Update all users.
16179
16180 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16181 not just "vmlinu[zx]".
16182 Moved from here ...
16183 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16184 all users.
16185
16186 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16187 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16188 all users.
16189
16190 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16191
16192 * util/grub.d/10_freebsd.in: Use an absolute device path for
16193 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16194
16195 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
16196
16197 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16198 handling of multiple abstraction modules.
16199
16200 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16201
16202 Fix a bug resulting in black screen when loading Linux using a
16203 packed video mode.
16204
16205 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16206 function.
16207
16208 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16209 (grub_vbe_bios_getset_dac_palette_width): New function.
16210 (grub_vbe_bios_get_dac_palette_width)
16211 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16212 grub_vbe_bios_getset_dac_palette_width()).
16213
16214 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16215 check for return status.
16216 (grub_vbe_get_video_mode_info): When getting information for a packed
16217 mode (<= 8 bpp), obtain DAC palette width using
16218 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16219 {red,green,blue}_mark_size.
16220
16221 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
16222
16223 * commands/search.c (options): Fix help output to match actual code.
16224
16225 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16228 of homegrown code.
16229
16230 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16233 on XFS or ReiserFS.
16234
16235 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 Support Apple partition map with sector size different from 512 bytes.
16238
16239 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16240 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16241 and 'apart.partmap_size'.
16242
16243 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16244 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16245
16246 Fix cpuid command.
16247
16248 * commands/i386/cpuid.c (options): New variable.
16249 (grub_cmd_cpuid): Return real error.
16250 (GRUB_MOD_INIT(cpuid)): Declare options.
16251
16252 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16255 valid.
16256
16257 2009-07-31 Bean <bean123ch@gmail.com>
16258
16259 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16260 log2_inode.
16261 (grub_fshelp_node): Move inode field to the end.
16262 (grub_xfs_data): Remove inode field.
16263 (grub_xfs_inode_block): Calculate inode size using sblock.
16264 (grub_xfs_inode_offset): Likewise.
16265 (grub_xfs_read_inode): Calculate inode size using sblock.
16266 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16267 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16268 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16269 to match inode size.
16270 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16271 not accessible when data is null.
16272 (grub_xfs_open): Likewise.
16273
16274 2009-07-31 Bean <bean123ch@gmail.com>
16275
16276 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16277 Don't change pv->disk if it's already set.
16278
16279 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16280 (grub_raid_register): ... here.
16281 (grub_raid_rescan): Removed.
16282
16283 * include/grub/raid.h (grub_raid_rescan): Removed.
16284
16285 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16286 (fstest): Replace grub_raid_rescan with module fini function followed
16287 by init function.
16288
16289 * util/grub-probe.c: Add include file <grub/raid.h>.
16290 (probe_raid_level): New function.
16291 (probe): Detect abstraction by walking the disk device, support two
16292 level of abstraction (LVM on RAID) when detecting partition map.
16293
16294 2009-07-31 Pavel Roskin <proski@gnu.org>
16295
16296 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16297 to grub_zalloc(), it was erroneous.
16298 Reported by Bean <bean123ch@gmail.com>
16299
16300 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16303 embedding zone, not only the first one.
16304
16305 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16306
16307 * term/gfxterm.c (clear_char): New function.
16308 (grub_virtual_screen_setup): Use clear_char.
16309 (scroll_up): Likewise.
16310 (grub_virtual_screen_cls): Likewise.
16311
16312 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16313
16314 * util/deviceiter.c (get_acceleraid_disk_name): New static
16315 function.
16316 (grub_util_iterate_devices): Handle Accelraid devices.
16317 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16318
16319 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16320
16321 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16322 separator for the suggested gfxpayload string (';' collides with the
16323 parser and needs escaping).
16324
16325 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16328 Clear direction flag before jumping to OS.
16329 (grub_multiboot2_real_boot): Likewise.
16330
16331 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16332
16333 * util/i386/pc/grub-install: Fix parsing of --disk-module
16334 option.
16335
16336 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16337
16338 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16339 when embedding.
16340
16341 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16342
16343 * util/grub-mkconfig.in (package_version): New variable.
16344 Use it do display the version.
16345
16346 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16347
16348 * kern/file.c (grub_file_open): Revert to previous check with
16349 grub_errno.
16350
16351 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16354 from help line. It's out of sync with code.
16355
16356 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16359 entries on failed boot.
16360
16361 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16362
16363 * kern/file.c (grub_file_open): Fix an error check.
16364
16365 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16368 partition map couldn't be identified.
16369
16370 2009-07-23 Pavel Roskin <proski@gnu.org>
16371
16372 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16373 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16374 case of little endian words becomes just an optimization.
16375 Respect const modifier.
16376 (md5_final): Use code that doesn't depend on endianness.
16377
16378 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16379 to avoid loss of upper bits if align is unsigned and shorter
16380 than addr.
16381
16382 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 UUID support for UFS
16385
16386 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16387 (grub_ufs_uuid): New function.
16388 (grub_ufs_fs): add .uuid
16389
16390 2009-07-21 Pavel Roskin <proski@gnu.org>
16391
16392 * kern/dl.c (grub_dl_check_header): Make static.
16393
16394 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16395
16396 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16397 add drivemap for Vista. It breaks Windows 7.
16398
16399 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16402 128 bytes
16403
16404 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 Add BFS support
16407
16408 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16409 (grub_fstest_SOURCES): Likewise.
16410 (pkglib_MODULES): Add befs.mod.
16411 (befs_mod_SOURCES): New variable.
16412 (befs_mod_CFLAGS): Likewise.
16413 (befs_mod_LDFLAGS): Likewise.
16414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16418 (grub_setup_SOURCES): Likewise.
16419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16420 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16421 (grub_setup_SOURCES): Likewise.
16422 * fs/befs.c: New file.
16423 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16424 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16425 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16426 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16427 (B_KEY_INDEX_ALIGN): New declaration.
16428 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16429 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16430 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16431 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16432 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16433 (grub_afs_mount) [MODE_BFS]: Likewise.
16434 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16435 (grub_afs_fs): Use GRUB_AFS_FSNAME
16436 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16437 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16438 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16439 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16440
16441 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16442
16443 * util/getroot.c (find_root_device): Add support for MacOSX.
16444 * util/hostdisk.c: Likewise.
16445
16446 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 * font/font.c (find_glyph): Check whether a font is present to avoid
16449 segmentation fault.
16450
16451 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16452
16453 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16454
16455 2009-07-20 Pavel Roskin <proski@gnu.org>
16456
16457 * configure.ac: Trim excessively wordy excuses.
16458
16459 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 Add symlink, mtime and label support to AtheFS.
16462
16463 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16464 (grub_afs_iterate_dir): Handle symlinks.
16465 (grub_afs_open): Use grub_afs_read_symlink.
16466 (grub_afs_dir): Likewise.
16467 Pass mtime.
16468 (grub_afs_label): New function.
16469 (grub_afs_fs): Add grub_afs_label.
16470 (grub_afs_read_symlink): New function.
16471
16472 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Fix AtheFS support.
16475
16476 * fs/afs.c: Fix comments style.
16477 (grub_afs_blockrun): Declare as packed.
16478 (grub_afs_datastream): Likewise.
16479 (grub_afs_bnode): Likewise.
16480 (grub_afs_btree): Likewise.
16481 (grub_afs_sblock): Likewise.
16482 Declare `name' as char.
16483 (grub_afs_inode): Declare as packed.
16484 Change void *vnode to grub_uint32_t unused.
16485 (grub_afs_iterate_dir): Check that key_size is positive.
16486 (grub_afs_mount): Don't read superblock twice.
16487 (grub_afs_dir): Don't free node in case of error,
16488 grub_fshelp_find_file already handles this.
16489 (grub_afs_open): Likewise.
16490
16491 2009-07-19 Pavel Roskin <proski@gnu.org>
16492
16493 * Makefile.in: Remove LIBLZO and enable_lzo.
16494 * conf/i386-pc.rmk: Remove lzo support.
16495 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16496 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16497 support.
16498 * kern/i386/pc/lzo1x.S: Remove.
16499 * kern/i386/pc/startup.S: Remove lzo support.
16500 * util/i386/pc/grub-mkimage.c: Likewise.
16501
16502 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16505 * fs/xfs.c (grub_xfs_dir): Likewise.
16506 * fs/afs.c (grub_afs_dir): Likewise.
16507 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16508 (grub_iso9660_open): Likewise.
16509 * fs/jfs.c (grub_jfs_open): Likewise.
16510 * fs/ext2.c (grub_ext2_dir): Likewise.
16511 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16512 * script/sh/lexer.c (grub_script_yylex): Likewise.
16513
16514 2009-07-16 Pavel Roskin <proski@gnu.org>
16515
16516 * configure.ac: Never add "-c" to CFLAGS.
16517
16518 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16519
16520 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16521 grub_cv_cc_efiemu should be used.
16522
16523 * configure.ac: Typo fixes.
16524
16525 * kern/mm.c (grub_zalloc): New function.
16526 (grub_debug_zalloc): Likewise.
16527 * include/grub/mm.h: Declare grub_zalloc() and
16528 grub_debug_zalloc().
16529 * util/misc.c (grub_zalloc): New function.
16530 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16531 instead of grub_malloc(), remove unneeded initializations.
16532 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16533 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16534 * commands/parttool.c (grub_cmd_parttool): Likewise.
16535 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16536 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16537 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16538 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16539 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16540 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16541 (grub_cmd_efiemu_pnvram): Likewise.
16542 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16543 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16544 (grub_iso9660_iterate_dir): Likewise.
16545 * fs/jfs.c (grub_jfs_opendir): Likewise.
16546 * fs/ntfs.c (list_file): Likewise.
16547 (grub_ntfs_mount): Likewise.
16548 * kern/disk.c (grub_disk_open): Likewise.
16549 * kern/dl.c (grub_dl_load_core): Likewise.
16550 * kern/elf.c (grub_elf_file): Likewise.
16551 * kern/env.c (grub_env_context_open): Likewise.
16552 (grub_env_set): Likewise.
16553 (grub_env_set_data_slot): Likewise.
16554 * kern/file.c (grub_file_open): Likewise.
16555 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16556 * loader/i386/multiboot.c (grub_module): Likewise.
16557 * loader/xnu.c (grub_xnu_create_key): Likewise.
16558 (grub_xnu_create_value): Likewise.
16559 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16560 (read_config_file): Likewise.
16561 * normal/menu_entry.c (make_screen): Likewise.
16562 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16563 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16564 * script/sh/script.c (grub_script_parse): Likewise.
16565 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16566 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16567 * video/readers/png.c (grub_png_output_byte): Likewise.
16568 (grub_video_reader_png): Likewise.
16569
16570 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 Enable all targets that can be built by default
16573
16574 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16575 grub-mkfont and grub-fstest if they can be built
16576
16577 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16578
16579 Fix hang and segmentation fault in grub-emu-usb
16580
16581 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16582 * util/usb.c (grub_libusb_devices): likewise
16583 (grub_libusb_init): rename to ...
16584 (GRUB_MOD_INIT (libusb)):...this
16585 (grub_libusb_fini): rename to ..
16586 (GRUB_MOD_FINI (libusb)):...this
16587 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16588 * include/grub/disk.h (grub_raid_init): removed, it's useless
16589 (grub_raid_fini): likewise
16590 (grub_lvm_init): likewise
16591 (grub_lvm_fini): likewise
16592 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16593 by grub_init_all
16594
16595 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 Fix libusb
16598
16599 * Makefile.in (LIBUSB): new macro
16600 * genmk.rb (Utility/print_tail): new method
16601 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16602 (top level): call util.print_tail at the end.
16603
16604 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 Make FreeBSD accept zpool.cache
16607
16608 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16609 type is /boot/zfs/zpool.cache
16610
16611 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 Fix 64-bit efiemu
16614
16615 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16616 correct wrong typedef
16617 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16618
16619 2009-07-15 Pavel Roskin <proski@gnu.org>
16620
16621 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16622 * kern/disk.c (struct grub_disk_cache): Likewise.
16623
16624 * commands/probe.c (options): Typo fix.
16625
16626 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16627 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16628 accordingly.
16629 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16630
16631 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16632 the end of "Error" to make the message more readable.
16633
16634 * boot/i386/pc/boot.S (kernel_segment): Remove.
16635 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16636 for destination.
16637
16638 * boot/i386/pc/boot.S (boot_version): Remove.
16639 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16640 Remove.
16641
16642 * include/grub/i386/pc/boot.h: Sort all offsets.
16643 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16644 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16645 * boot/i386/pc/boot.S: Assert location of every offset listed in
16646 include/grub/i386/pc/boot.h.
16647
16648 2009-07-13 Pavel Roskin <proski@gnu.org>
16649
16650 * include/grub/i386/coreboot/machine.h: Rename
16651 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16652 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16653 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16654
16655 * kern/dl.c: Force native word size to suppress warnings when
16656 compiling grub-emu.
16657
16658 * kern/device.c (grub_device_iterate): Change struct part_ent to
16659 hold the name, not a pointer to it. Use one grub_malloc() per
16660 partition, not two. Free partition_name if grub_malloc() fails.
16661 Set ents to NULL only before grub_partition_iterate() is called.
16662
16663 2009-07-11 Bean <bean123ch@gmail.com>
16664
16665 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16666 childname.
16667
16668 2009-07-10 Bean <bean123ch@gmail.com>
16669 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16670
16671 * kern/ieee1275/openfw.c (grub_children_iterate)
16672 (grub_devalias_iterate): Fix size evaluation for property or path
16673 strings, which was broken since r2132.
16674
16675 2009-07-07 Pavel Roskin <proski@gnu.org>
16676
16677 * commands/search.c (search_file): Merge into ...
16678 (search_fs): ... this. Accept search type as argument.
16679 (grub_cmd_search): Pass search type to search_fs().
16680
16681 * include/grub/util/console.h: New file.
16682 * util/console.c: Use it instead of grub/machine/console.h.
16683 * util/grub-emu.c: Likewise.
16684
16685 * lib/arg.c (find_long_option): Remove.
16686 (find_long): Add `len' argument, make `s' const char *.
16687 (grub_arg_parse): Parse long options in place, not in a
16688 temporary buffer.
16689
16690 2009-07-06 Pavel Roskin <proski@gnu.org>
16691
16692 * commands/search.c (search_fs): Fix potential NULL pointer
16693 dereference.
16694
16695 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16696 function pointer.
16697
16698 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16699
16700 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16701 comparison.
16702
16703 2009-07-05 Pavel Roskin <proski@gnu.org>
16704
16705 * include/grub/i386/linux.h (struct linux_kernel_params):
16706 Restore padding3, it's still needed.
16707
16708 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16709 FreeBSD.
16710 * util/osdetect.lua: Likewise.
16711
16712 2009-07-05 Bean <bean123ch@gmail.com>
16713
16714 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16715
16716 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16717 (grub_lua_getenv): Likewise.
16718 (grub_lua_setenv): Likewise.
16719 (save_errno): New function.
16720 (push_result): Likewise.
16721 (grub_lua_enum_device): Likewise.
16722 (grub_lua_enum_file): Likewise.
16723 (grub_lua_file_open): Likewise.
16724 (grub_lua_file_close): Likewise.
16725 (grub_lua_file_seek): Likewise.
16726 (grub_lua_file_read): Likewise.
16727 (grub_lua_file_getline): Likewise.
16728 (grub_lua_file_getsize): Likewise.
16729 (grub_lua_file_getpos): Likewise.
16730 (grub_lua_file_eof): Likewise.
16731 (grub_lua_file_exist): Likewise.
16732 (grub_lua_add_menu): Likewise.
16733
16734 * script/lua/grub_lua.h (isupper): New inline function.
16735 (islower): Likewise.
16736 (ispunct): Likewise.
16737 (isxdigit): Likewise.
16738 (strcspn): Change to normal function.
16739 (strpbkr): New function declaration.
16740 (memchr): Likewise.
16741
16742 * script/lua/grub_main.c (scan_str): New function.
16743 (strcspn): Likewise.
16744 (strpbrk): Likewise.
16745 (memchr): Likewise.
16746
16747 * script/lua/linit.c (lualibs): Enable the string library.
16748
16749 * util/osdetect.lua: New file.
16750
16751 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16752
16753 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16754 `capabilities' member.
16755
16756 2009-07-02 Pavel Roskin <proski@gnu.org>
16757
16758 * genparttoollist.sh: Add missing newline at the end.
16759
16760 2009-07-01 Pavel Roskin <proski@gnu.org>
16761
16762 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16763
16764 * util/hostdisk.c (open_device): Remove `const' from
16765 `sysctl_size', as sysctlbyname() can change it (in this case it
16766 doesn't actually happen).
16767
16768 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16769 using signed long int constants.
16770
16771 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16772 constant to avoid a warning on FreeBSD.
16773
16774 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16775 where it's needed.
16776
16777 * Makefile.in: Install include/grub/machine symlink.
16778
16779 * Makefile.in: When installing symlinks, use "cp -fR", which
16780 works on FreeBSD and MacOSX.
16781 From Yves Blusseau <cl7m42e02@sneakemail.com>
16782
16783 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16784 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16785
16786 * util/misc.c: Move grub_reboot() and grub_halt() ...
16787 * util/grub-emu.c: ... here. Make main_env static.
16788 * include/grub/util/misc.h: Remove main_env.
16789
16790 * kern/mm.c: Use correct format to print size_t.
16791
16792 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16793 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16794 * kern/powerpc/dl.c: Likewise.
16795 * kern/sparc64/dl.c: Likewise.
16796 * kern/x86_64/dl.c: Likewise.
16797
16798 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16799
16800 Fix grub-emu build on sparc64-ieee1275.
16801
16802 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16804
16805 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16806
16807 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16808 (grub_reboot, grub_halt): New functions.
16809
16810 * util/i386/pc/misc.c: Delete. Update all users.
16811 * util/sparc64/ieee1275/misc.c: Likewise.
16812 * util/powerpc/ieee1275/misc.c: Likewise.
16813
16814 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16815
16816 * conf/i386.rmk (setjmp_mod_SOURCES)
16817 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16818 * conf/common.rmk (setjmp_mod_SOURCES)
16819 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16820 to use $(target_cpu).
16821 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16822 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16823 * conf/powerpc-ieee1275.rmk: Likewise.
16824 * conf/sparc64-ieee1275.rmk: Likewise.
16825
16826 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16827 $(target_cpu) for kern/$(target_cpu)/dl.c.
16828 * conf/i386-efi.rmk: Likewise.
16829 * conf/i386-ieee1275.rmk: Likewise.
16830 * conf/x86_64-efi.rmk: Likewise.
16831 * conf/i386-coreboot.rmk: Likewise.
16832 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16833 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16834 kern/$(target_cpu)/cache.S.
16835 * conf/sparc64-ieee1275.rmk: Likewise.
16836
16837 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16838
16839 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16840 type to `grub_uint8_t', and adjust `padding9' accordingly.
16841
16842 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16843
16844 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16845
16846 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16847 assembly in final jump, using register constraints.
16848
16849 (grub_linux_boot): For text mode, initialize `have_vga' using
16850 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16851
16852 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16853 right before the final jump.
16854
16855 Set `video_mode' to 0x3.
16856
16857 Document initialization of `video_page', `video_mode' and
16858 `video_ega_bx'.
16859
16860 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16861
16862 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16863 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
16864 and set GRUB_LINUX_FLAG_QUIET appropriately.
16865
16866 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16867
16868 Fix build on Debian / sparc.
16869
16870 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16871
16872 2009-06-28 Pavel Roskin <proski@gnu.org>
16873
16874 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16875 fix a warning.
16876
16877 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16878
16879 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16880
16881 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16882 `err'.
16883
16884 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16885
16886 Revert r2338.
16887
16888 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16889 file can't be opened. grub_file_open() is already supposed to set
16890 grub_errno / grub_errmsg appropriately.
16891 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16892
16893 2009-06-27 Pavel Roskin <proski@gnu.org>
16894 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16895
16896 * include/grub/dl.h: Include grub/elf.h.
16897 (struct grub_dl): Add symtab field.
16898 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16899 GRUB_MODULES_MACHINE_READONLY.
16900 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16901 of the header for read-only modules.
16902 (grub_dl_unload): Free mod->symtab for read-only modules.
16903 * kern/i386/dl.c: Use mod->symtab.
16904 * kern/powerpc/dl.c: Likewise.
16905 * kern/sparc64/dl.c: Likewise.
16906 * kern/x86_64/dl.c: Likewise.
16907
16908 * conf/i386-qemu.rmk: New file.
16909 * kern/i386/qemu/startup.S: Likewise.
16910 * kern/i386/qemu/mmap.c: Likewise.
16911 * boot/i386/qemu/boot.S: Likewise.
16912 * include/grub/i386/qemu/time.h: Likewise.
16913 * include/grub/i386/qemu/serial.h: Likewise.
16914 * include/grub/i386/qemu/kernel.h: Likewise.
16915 * include/grub/i386/qemu/console.h: Likewise.
16916 * include/grub/i386/qemu/boot.h: Likewise.
16917 * include/grub/i386/qemu/init.h: Likewise.
16918 * include/grub/i386/qemu/machine.h: Likewise.
16919 * include/grub/i386/qemu/loader.h: Likewise.
16920 * include/grub/i386/qemu/memory.h: Likewise.
16921
16922 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16923 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16924 [qemu] (pkglib_IMAGES): Add `boot.img'.
16925 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16926 [qemu] (boot_img_FORMAT): New variables.
16927 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16928 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16929 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16930 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16931 [qemu] (kernel_img_FORMAT): New variables.
16932
16933 * configure.ac: Recognise `i386-qemu'.
16934
16935 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16936 (for no compression).
16937 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16938 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16939 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16940 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16941 ifdefs).
16942
16943 2009-06-27 Pavel Roskin <proski@gnu.org>
16944
16945 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16946 read.
16947 * efiemu/prepare32.c: Likewise.
16948 * efiemu/prepare64.c: Likewise.
16949
16950 2009-06-26 Pavel Roskin <proski@gnu.org>
16951
16952 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16953 * include/grub/elf.h: Define symbols without "32" or "64" based
16954 on GRUB_TARGET_WORDSIZE.
16955 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16956 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16957 ELF definitions.
16958 * efiemu/loadcore64.c: Likewise.
16959 * loader/i386/bsd32.c: Likewise.
16960 * loader/i386/bsd64.c: Likewise.
16961 * kern/dl.c: Remove own ELF definitions.
16962 * util/i386/efi/grub-mkimage.c: Likewise.
16963
16964 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16965
16966 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16967 segment 0x0 unconditionally, because the reference generated by
16968 GAS is an absolute address.
16969
16970 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16971
16972 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16973 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16974
16975 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16976
16977 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16978 indexes. Check for -f explicitly.
16979 (search_file): Improve error message.
16980 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
16981
16982 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16983
16984 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16985 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16986
16987 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16988
16989 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16990 * conf/i386-ieee1275.rmk: Likewise.
16991 * conf/i386-coreboot.rmk: Likewise.
16992
16993 * kern/i386/pc/startup.S (grub_stop): Remove function.
16994 * kern/i386/ieee1275/startup.S: Likewise.
16995 * kern/i386/coreboot/startup.S: Likewise.
16996 * kern/i386/misc.S (grub_stop): New function.
16997
16998 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16999
17000 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17001 * kern/i386/realmode.S (real_to_prot): ... to here.
17002
17003 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17004
17005 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17006 with `kernel.img'.
17007 (kernel_elf_SOURCES): Rename to ...
17008 (kernel_img_SOURCES): ... this.
17009 (kernel_elf_HEADERS): Rename to ...
17010 (kernel_img_HEADERS): ... this. Update all users.
17011 (kernel_elf_ASFLAGS): Rename to ...
17012 (kernel_img_ASFLAGS): ... this.
17013 (kernel_elf_CFLAGS): Rename to ...
17014 (kernel_img_CFLAGS): ... this.
17015 (kernel_elf_LDFLAGS): Rename to ...
17016 (kernel_img_LDFLAGS): ... this.
17017 * conf/i386-coreboot.rmk: Likewise.
17018 * conf/powerpc-ieee1275.rmk: Likewise.
17019
17020 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17021 with "kernel.img".
17022
17023 2009-06-21 Pavel Roskin <proski@gnu.org>
17024
17025 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17026 to match nested functions.
17027 * loader/sparc64/ieee1275/linux.c: Likewise.
17028
17029 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17030
17031 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17032
17033 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17034 all i386 platforms.
17035
17036 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17037
17038 Fix asm file handling on ELF, and remove workarounds.
17039
17040 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
17041 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
17042 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17043 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17044
17045 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 Load BSD ELF modules
17048
17049 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17050 and loader/i386/bsd64.c
17051 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17052 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17053 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17054 (grub_freebsd_load_elfmodule32): New declaration
17055 (grub_freebsd_load_elfmoduleobj64): Likewise
17056 (grub_freebsd_load_elf_meta32): Likewise
17057 (grub_freebsd_load_elf_meta64): Likewise
17058 (grub_freebsd_add_meta): Likewise
17059 (grub_freebsd_add_meta_module): Likewise
17060 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17061 (grub_freebsd_add_meta_module): Likewise and move module-specific
17062 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17063 (grub_cmd_freebsd): Add elf-kernel specific parts
17064 based on grub_freebsd_add_meta_module
17065 (grub_cmd_freebsd_module): Add type parsing moved from
17066 grub_freebsd_add_meta_module
17067 (grub_cmd_freebsd_module_elf): New function
17068 (cmd_freebsd_module_elf): New variable
17069 (GRUB_MOD_INIT): Register freebsd_module_elf
17070 * loader/i386/bsd32.c: New file
17071 * loader/i386/bsd64.c: Likewise
17072 * loader/i386/bsdXX.c: Likewise
17073 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17074 (grub_elf64_load): Likewise
17075 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17076 All users updated
17077 (grub_elf64_load_hook_t): Likewise
17078
17079 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17082 variable.
17083 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17084 don't write a menu entry for recovery mode.
17085
17086 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17087
17088 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17089 after it's no longer needed.
17090
17091 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17092
17093 * include/grub/i386/loader.h (grub_linux_prot_size)
17094 (grub_linux_tmp_addr, grub_linux_real_addr)
17095 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17096 GRUB_MACHINE_PCBIOS.
17097 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17098 common grub_util_info() call to ...
17099 (generate_image): ... here.
17100 Fix use of uninitialized memory, comparison of signed with
17101 unsigned integers and memory leak.
17102 Remove bogus module address message.
17103
17104 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17107 grub_raid_register
17108 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17109
17110 2009-06-19 Pavel Roskin <proski@gnu.org>
17111
17112 * configure.ac: Remove stray AC_MSG_CHECKING.
17113
17114 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * disk/scsi.c (grub_scsi_open): use continue instead of big if
17117
17118 2009-06-18 Pavel Roskin <proski@gnu.org>
17119
17120 * conf/common.rmk: Add fs_file.mod.
17121 * disk/fs_file.c: New file.
17122 * include/grub/disk.h (enum grub_disk_dev_id): Add
17123 GRUB_DISK_DEVICE_FILE_ID.
17124
17125 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 Fix build with Apple's toolchain. Part 2
17128
17129 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17130 a fake start
17131
17132 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 Fix build with Apple's toolchain. Part 1
17135
17136 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17137 for long calls
17138 * configure.ac: remove a leftover AC_MSG_RESULT
17139 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
17140 Apple's toolchain
17141
17142 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Fix warnings
17145
17146 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17147 (decomp_block): initialize ch
17148 use grub_memcpy instead of memcpy
17149
17150 2009-06-17 Pavel Roskin <proski@gnu.org>
17151
17152 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17153 version, use declarations needed to use vga_text as the startup
17154 console.
17155
17156 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17157 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17158 the kernel.
17159 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17160 and grub_at_keyboard_fini(), it's done on module load and
17161 unload.
17162
17163 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
17164
17165 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17166 file can't be found.
17167 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17168
17169 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Fix newline handling
17172
17173 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
17174 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
17175 (grub_script_yylex): don't segfault on unterminated script
17176 newline terminates command and variable
17177
17178 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 avoid double grub_adjust_range call. Bug reported by David Simner
17181
17182 * kern/disk.c (grub_disk_write): change to raw disk access before
17183 calling disk_read
17184
17185 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
17186
17187 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17188 spaces, for the benefit of help2man.
17189 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17190
17191 2009-06-16 Pavel Roskin <proski@gnu.org>
17192
17193 * kern/i386/halt.c: Include grub/machine/init.h.
17194 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17195
17196 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
17197
17198 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17199 drivemap menuentry.
17200
17201 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17202
17203 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17204 `echo' command.
17205
17206 2009-06-16 Pavel Roskin <proski@gnu.org>
17207
17208 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17209 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17210 save %dx, we only need %dl and we never change it.
17211 * boot/i386/pc/cdboot.S: Don't set the root drive.
17212 * boot/i386/pc/pxeboot.S: Likewise.
17213 * include/grub/i386/pc/boot.h: Remove
17214 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17215 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17216 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17217 * kern/i386/pc/init.c (make_install_device): Remove references
17218 to grub_root_drive.
17219 * kern/i386/pc/startup.S: Likewise.
17220 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17221
17222 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 xnu_uuid command
17225
17226 * commands/xnu_uuid.c: new file
17227 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17228 (xnu_uuid_mod_SOURCES): new variable
17229 (xnu_uuid_mod_CFLAGS): likewise
17230 (xnu_uuid_mod_LDFLAGS): likewise
17231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17232 * conf/i386-ieee1275.rmk: likewise
17233 * conf/i386-pc.rmk: likewise
17234 * conf/powerpc-ieee1275.rmk: likewise
17235 * conf/sparc64-ieee1275.rmk: likewise
17236 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17237
17238 2009-06-16 Pavel Roskin <proski@gnu.org>
17239
17240 * configure.ac: Avoid '==' in test command, it's not portable.
17241
17242 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 Probe command
17245
17246 * commands/probe.c: new file
17247 * conf/common.rmk (pkglib_MODULES): add probe.mod
17248 (probe_mod_SOURCES): new variable
17249 (probe_mod_CFLAGS): likewise
17250 (probe_mod_LDFLAGS): likewise
17251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17252 * conf/i386-ieee1275.rmk: likewise
17253 * conf/i386-pc.rmk: likewise
17254 * conf/powerpc-ieee1275.rmk: likewise
17255 * conf/sparc64-ieee1275.rmk: likewise
17256
17257 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 Fix handling of string like \"hello\" and "a
17260 b"
17261
17262 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17263 (grub_script_yylex): fix parsing of quoting, escaping and newline
17264
17265 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
17268 handling
17269
17270 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
17271
17272 * util/grub-mkconfig.in: Fix parsing of --output option.
17273
17274 2009-06-12 Pavel Roskin <proski@gnu.org>
17275
17276 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17277 genmk.rb don't need to be generated or installed.
17278
17279 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * commands/i386/pc/drivemap_int13h.S: add more comments
17282
17283 2009-06-11 Pavel Roskin <proski@gnu.org>
17284
17285 * Makefile.in (uninstall): Uninstall manuals.
17286
17287 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17288 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17289 and update-grub_lib in two places.
17290 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17291
17292 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17293 a compiler warning.
17294
17295 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17296 `entry_lo' to fix variable shadowing.
17297
17298 2009-06-11 Christian Franke <franke@computer.org>
17299
17300 * kern/misc.c (__enable_execute_stack): Add missing return type
17301 to prevent gcc warning.
17302
17303 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17304
17305 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17306
17307 2009-06-11 Pavel Roskin <proski@gnu.org>
17308
17309 * Makefile.in: Don't rely on any scripts being executable.
17310 Always use $(SHELL) to run shell scripts.
17311
17312 * configure.ac: Always define ___main if using -nostdlib. This
17313 fixes tests on Cygwin.
17314
17315 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17316
17317 UDF fix
17318
17319 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17320 is in bytes and not in blocks
17321
17322 2009-06-11 Pavel Roskin <proski@gnu.org>
17323
17324 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17325 warning.
17326
17327 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17328
17329 * util/grub.d/30_os-prober.in: Fix a comment. Source
17330 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17331 to set the root device. Place drivemap command in the generated
17332 chain entry.
17333
17334 2009-06-11 Pavel Roskin <proski@gnu.org>
17335
17336 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17337 have long been resolved.
17338
17339 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17340
17341 * util/grub.d/10_linux.in: Capitalise "Linux".
17342
17343 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17344
17345 2009-06-11 Pavel Roskin <proski@gnu.org>
17346
17347 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17348 fix a gcc warning and ensure that the function won't ever exit.
17349
17350 * kern/i386/ieee1275/init.c: Add missing prototype for
17351 grub_stop_floppy().
17352
17353 * loader/ieee1275/multiboot2.c [__i386__]: Include
17354 grub/cpu/multiboot.h.
17355
17356 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17357 casts to short - they are not portable and cause warnings. Fix
17358 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17359
17360 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 Drivemap fixes
17363
17364 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17365 new function
17366 (grub_get_root_biosnumber_saved): new variable
17367 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17368 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17369 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17370 %dx after the call if necessary
17371 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17372 (boot_mod_SOURCES): remove
17373 (boot_mod_CFLAGS): remove
17374 (boot_mod_LDFLAGS): remove
17375 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17376 (boot_mod_SOURCES): new variable
17377 (boot_mod_CFLAGS): likewise
17378 (boot_mod_LDFLAGS): likewise
17379 * conf/i386-efi.rmk: likewise
17380 * conf/i386-ieee1275.rmk: likewise
17381 * conf/i386-pc.rmk: likewise
17382 * conf/powerpc-ieee1275.rmk: likewise
17383 * conf/sparc64-ieee1275.rmk: likewise
17384 * conf/x86_64-efi.rmk: likewise
17385 * include/grub/i386/pc/biosnum.h: new file
17386 * lib/i386/pc/biosnum.c: likewise
17387 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17388 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17389 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17390
17391 2009-06-10 Pavel Roskin <proski@gnu.org>
17392
17393 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17394 Use separate variables. Read only the file size at the end, but
17395 not the checksum that we don't use.
17396
17397 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17398 Adjust all callers.
17399
17400 * kern/ieee1275/openfw.c: Remove libc includes.
17401 * kern/ieee1275/cmain.c: Likewise.
17402 * include/grub/ieee1275/ieee1275.h: Likewise.
17403
17404 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17405 compiler warnings.
17406
17407 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17408
17409 * Makefile.in: Remove all trailing whitespace.
17410 * conf/i386-pc.rmk: Likewise.
17411 * conf/powerpc-ieee1275.rmk: Likewise.
17412 * conf/sparc64-ieee1275.rmk: Likewise.
17413 * docs/grub.texi: Likewise.
17414 * docs/texinfo.tex: Likewise.
17415 * disk/fs_uuid.c: Likewise.
17416 * disk/lvm.c: Likewise.
17417 * disk/scsi.c: Likewise.
17418 * disk/ata.c: Likewise.
17419 * disk/ieee1275/ofdisk.c: Likewise.
17420 * disk/i386/pc/biosdisk.c: Likewise.
17421 * disk/host.c: Likewise.
17422 * disk/raid.c: Likewise.
17423 * disk/efi/efidisk.c: Likewise.
17424 * disk/usbms.c: Likewise.
17425 * disk/memdisk.c: Likewise.
17426 * disk/loopback.c: Likewise.
17427 * kern/powerpc/dl.c: Likewise.
17428 * kern/device.c: Likewise.
17429 * kern/dl.c: Likewise.
17430 * kern/sparc64/dl.c: Likewise.
17431 * kern/ieee1275/ieee1275.c: Likewise.
17432 * kern/term.c: Likewise.
17433 * kern/fs.c: Likewise.
17434 * kern/i386/dl.c: Likewise.
17435 * kern/i386/pc/startup.S: Likewise.
17436 * kern/i386/pc/init.c: Likewise.
17437 * kern/i386/pc/mmap.c: Likewise.
17438 * kern/i386/pc/lzo1x.S: Likewise.
17439 * kern/i386/ieee1275/init.c: Likewise.
17440 * kern/i386/realmode.S: Likewise.
17441 * kern/i386/tsc.c: Likewise.
17442 * kern/partition.c: Likewise.
17443 * kern/corecmd.c: Likewise.
17444 * kern/file.c: Likewise.
17445 * kern/efi/efi.c: Likewise.
17446 * kern/efi/init.c: Likewise.
17447 * kern/efi/mm.c: Likewise.
17448 * kern/main.c: Likewise.
17449 * kern/err.c: Likewise.
17450 * kern/env.c: Likewise.
17451 * kern/disk.c: Likewise.
17452 * kern/generic/millisleep.c: Likewise.
17453 * kern/generic/rtc_get_time_ms.c: Likewise.
17454 * kern/misc.c: Likewise.
17455 * kern/parser.c: Likewise.
17456 * genmk.rb: Likewise.
17457 * configure.ac: Likewise.
17458 * boot/i386/pc/diskboot.S: Likewise.
17459 * boot/i386/pc/pxeboot.S: Likewise.
17460 * boot/i386/pc/boot.S: Likewise.
17461 * boot/i386/pc/lnxboot.S: Likewise.
17462 * boot/i386/pc/cdboot.S: Likewise.
17463 * parttool/pcpart.c: Likewise.
17464 * video/readers/tga.c: Likewise.
17465 * video/video.c: Likewise.
17466 * video/bitmap.c: Likewise.
17467 * lib/envblk.c: Likewise.
17468 * lib/i386/setjmp.S: Likewise.
17469 * fs/xfs.c: Likewise.
17470 * fs/afs.c: Likewise.
17471 * fs/fat.c: Likewise.
17472 * fs/ntfs.c: Likewise.
17473 * fs/udf.c: Likewise.
17474 * fs/affs.c: Likewise.
17475 * fs/iso9660.c: Likewise.
17476 * fs/hfs.c: Likewise.
17477 * fs/fshelp.c: Likewise.
17478 * fs/ext2.c: Likewise.
17479 * fs/jfs.c: Likewise.
17480 * fs/reiserfs.c: Likewise.
17481 * fs/hfsplus.c: Likewise.
17482 * fs/minix.c: Likewise.
17483 * fs/cpio.c: Likewise.
17484 * fs/sfs.c: Likewise.
17485 * fs/ufs.c: Likewise.
17486 * efiemu/prepare.c: Likewise.
17487 * efiemu/loadcore_common.c: Likewise.
17488 * efiemu/runtime/efiemu.sh: Likewise.
17489 * efiemu/runtime/efiemu.S: Likewise.
17490 * efiemu/runtime/efiemu.c: Likewise.
17491 * efiemu/pnvram.c: Likewise.
17492 * efiemu/main.c: Likewise.
17493 * efiemu/i386/pc/cfgtables.c: Likewise.
17494 * efiemu/i386/loadcore64.c: Likewise.
17495 * efiemu/i386/loadcore32.c: Likewise.
17496 * efiemu/loadcore.c: Likewise.
17497 * efiemu/symbols.c: Likewise.
17498 * efiemu/mm.c: Likewise.
17499 * include/grub/autoefi.h: Likewise.
17500 * include/grub/datetime.h: Likewise.
17501 * include/grub/term.h: Likewise.
17502 * include/grub/hfs.h: Likewise.
17503 * include/grub/lvm.h: Likewise.
17504 * include/grub/i386/tsc.h: Likewise.
17505 * include/grub/i386/linux.h: Likewise.
17506 * include/grub/i386/xnu.h: Likewise.
17507 * include/grub/i386/efiemu.h: Likewise.
17508 * include/grub/i386/pc/biosdisk.h: Likewise.
17509 * include/grub/i386/pc/memory.h: Likewise.
17510 * include/grub/i386/pc/vbe.h: Likewise.
17511 * include/grub/parttool.h: Likewise.
17512 * include/grub/video.h: Likewise.
17513 * include/grub/memory.h: Likewise.
17514 * include/grub/fs.h: Likewise.
17515 * include/grub/partition.h: Likewise.
17516 * include/grub/xnu.h: Likewise.
17517 * include/grub/efi/api.h: Likewise.
17518 * include/grub/efi/pe32.h: Likewise.
17519 * include/grub/efi/memory.h: Likewise.
17520 * include/grub/multiboot.h: Likewise.
17521 * include/grub/usbdesc.h: Likewise.
17522 * include/grub/multiboot2.h: Likewise.
17523 * include/grub/acpi.h: Likewise.
17524 * include/grub/efiemu/efiemu.h: Likewise.
17525 * include/grub/disk.h: Likewise.
17526 * include/grub/ieee1275/ieee1275.h: Likewise.
17527 * include/grub/net.h: Likewise.
17528 * include/grub/machoload.h: Likewise.
17529 * include/grub/macho.h: Likewise.
17530 * include/multiboot.h: Likewise.
17531 * genmoddep.awk: Likewise.
17532 * normal/main.c: Likewise.
17533 * normal/menu_entry.c: Likewise.
17534 * normal/menu_viewer.c: Likewise.
17535 * normal/completion.c: Likewise.
17536 * normal/cmdline.c: Likewise.
17537 * normal/misc.c: Likewise.
17538 * normal/datetime.c: Likewise.
17539 * bus/usb/usbtrans.c: Likewise.
17540 * bus/usb/ohci.c: Likewise.
17541 * bus/usb/uhci.c: Likewise.
17542 * bus/usb/usb.c: Likewise.
17543 * mmap/efi/mmap.c: Likewise.
17544 * mmap/i386/pc/mmap_helper.S: Likewise.
17545 * mmap/i386/pc/mmap.c: Likewise.
17546 * mmap/i386/mmap.c: Likewise.
17547 * mmap/i386/uppermem.c: Likewise.
17548 * mmap/mmap.c: Likewise.
17549 * commands/acpi.c: Likewise.
17550 * commands/echo.c: Likewise.
17551 * commands/blocklist.c: Likewise.
17552 * commands/loadenv.c: Likewise.
17553 * commands/usbtest.c: Likewise.
17554 * commands/boot.c: Likewise.
17555 * commands/parttool.c: Likewise.
17556 * commands/search.c: Likewise.
17557 * commands/cat.c: Likewise.
17558 * commands/i386/pc/play.c: Likewise.
17559 * commands/i386/pc/drivemap.c: Likewise.
17560 * commands/i386/pc/vbeinfo.c: Likewise.
17561 * commands/i386/pc/acpi.c: Likewise.
17562 * commands/i386/pc/vbetest.c: Likewise.
17563 * commands/ls.c: Likewise.
17564 * commands/cmp.c: Likewise.
17565 * commands/test.c: Likewise.
17566 * commands/efi/acpi.c: Likewise.
17567 * commands/gptsync.c: Likewise.
17568 * commands/help.c: Likewise.
17569 * partmap/amiga.c: Likewise.
17570 * partmap/apple.c: Likewise.
17571 * partmap/acorn.c: Likewise.
17572 * partmap/pc.c: Likewise.
17573 * partmap/sun.c: Likewise.
17574 * partmap/gpt.c: Likewise.
17575 * script/sh/lexer.c: Likewise.
17576 * script/sh/function.c: Likewise.
17577 * font/font.c: Likewise.
17578 * font/font_cmd.c: Likewise.
17579 * loader/powerpc/ieee1275/linux.c: Likewise.
17580 * loader/efi/chainloader.c: Likewise.
17581 * loader/multiboot_loader.c: Likewise.
17582 * loader/macho.c: Likewise.
17583 * loader/i386/multiboot.c: Likewise.
17584 * loader/i386/linux.c: Likewise.
17585 * loader/i386/pc/linux.c: Likewise.
17586 * loader/i386/pc/multiboot2.c: Likewise.
17587 * loader/i386/pc/chainloader.c: Likewise.
17588 * loader/i386/pc/xnu.c: Likewise.
17589 * loader/i386/bsd_trampoline.S: Likewise.
17590 * loader/i386/efi/linux.c: Likewise.
17591 * loader/i386/multiboot_elfxx.c: Likewise.
17592 * loader/i386/bsd_helper.S: Likewise.
17593 * loader/i386/bsd.c: Likewise.
17594 * loader/i386/linux_trampoline.S: Likewise.
17595 * loader/i386/xnu_helper.S: Likewise.
17596 * loader/i386/xnu.c: Likewise.
17597 * loader/i386/bsd_pagetable.c: Likewise.
17598 * loader/i386/multiboot_helper.S: Likewise.
17599 * loader/xnu.c: Likewise.
17600 * loader/xnu_resume.c: Likewise.
17601 * io/gzio.c: Likewise.
17602 * term/efi/console.c: Likewise.
17603 * term/terminfo.c: Likewise.
17604 * term/ieee1275/ofconsole.c: Likewise.
17605 * term/i386/pc/serial.c: Likewise.
17606 * term/i386/pc/vesafb.c: Likewise.
17607 * term/i386/pc/vga.c: Likewise.
17608 * term/usb_keyboard.c: Likewise.
17609 * term/gfxterm.c: Likewise.
17610 * aclocal.m4: Likewise.
17611 * util/lvm.c: Likewise.
17612 * util/grub.d/30_os-prober.in: Likewise.
17613 * util/grub.d/10_hurd.in: Likewise.
17614 * util/console.c: Likewise.
17615 * util/grub-macho2img.c: Likewise.
17616 * util/grub-probe.c: Likewise.
17617 * util/hostfs.c: Likewise.
17618 * util/i386/pc/grub-mkimage.c: Likewise.
17619 * util/i386/pc/grub-setup.c: Likewise.
17620 * util/i386/efi/grub-mkimage.c: Likewise.
17621 * util/grub-mkconfig.in: Likewise.
17622 * util/raid.c: Likewise.
17623 * util/resolve.c: Likewise.
17624 * util/grub-mkdevicemap.c: Likewise.
17625 * util/grub-emu.c: Likewise.
17626 * util/getroot.c: Likewise.
17627 * util/hostdisk.c: Likewise.
17628 * util/usb.c: Likewise.
17629 * util/grub-editenv.c: Likewise.
17630 * util/misc.c: Likewise.
17631
17632 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17633
17634 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17635 `genparttoollist.sh'.
17636 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17637 Add `*.sh' to the list find searches for and change `mdate.sh'
17638 to `mdate-sh'.
17639
17640 2009-06-10 Pavel Roskin <proski@gnu.org>
17641
17642 * include/grub/multiboot2.h: Provide compatibility defines for
17643 multiboot2.h.
17644 * include/multiboot2.h: Include stdint.h only if needed, using
17645 angle brackets.
17646 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17647 grub/multiboot2.h.
17648 * loader/ieee1275/multiboot2.c: Likewise.
17649 * loader/multiboot2.c: Likewise.
17650 * loader/multiboot_loader.c: Likewise.
17651
17652 * configure.ac: Use -nostdlib when probing for the target. It
17653 should not be required to have libc for the target.
17654
17655 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17656 they fail without libc headers for the target.
17657 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17658 exports.
17659 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17660 preprocessor conditionals.
17661
17662 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17663 build system doesn't need to be aware of the tar.c internals.
17664
17665 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17666
17667 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17668
17669 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17670
17671 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17672 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17673
17674 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17675
17676 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17677 aren't available if ata.mod gets used.
17678
17679 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17680
17681 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17682 initialising controller.
17683 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17684
17685 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17686
17687 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17688 to choose between ata and biosdisk module on i386-pc.
17689
17690 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17691
17692 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17693 Subclass and Programming Interface fields in terms of the 3 byte
17694 Class Code register.
17695 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17696
17697 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17698 interface is OHCI. Add grub_dprintf for symmetry with
17699 bus/usb/uhci.c.
17700 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17701 interface is UHCI. Add interf variable for programming
17702 interface. Print interface with class/subclass.
17703
17704 * bus/usb/ohci.c: Set interf with correct field.
17705
17706 * bus/usb/uhci.c: Remove unneeded doubled lines.
17707 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17708 Remove whitespace inside comment.
17709
17710 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17711
17712 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17713 as fallback an equivalent option without depth.
17714
17715 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 Not fail if unable to retrieve C/H/S on LBA disks
17718
17719 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17720 if unable to retrieve C/H/S on LBA disks
17721
17722 2009-06-08 Pavel Roskin <proski@gnu.org>
17723
17724 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17725 about aliasing.
17726
17727 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17728
17729 * Makefile.in (uninstall): Remove all $lib_DATA files.
17730
17731 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 Bugfix: install on partitionless device
17734
17735 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17736 is a whole disk
17737
17738 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17739
17740 * Makefile.in (uninstall): Remove all $include_DATA files.
17741
17742 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17743
17744 * commands/true.c: New file. Implement the true and false commands.
17745 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17746 (true_mod_SOURCES): New variable.
17747 (true_mod_CFLAGS): Likewise.
17748 (true_mod_LDFLAGS): Likewise.
17749
17750 2009-06-05 Colin D Bennett <colin@gibibit.com>
17751
17752 Optimized font character lookup using binary search instead of linear
17753 search. Fonts now are required to have the character index ordered by
17754 code point.
17755
17756 * font/font.c (load_font_index): Verify that fonts have ordered
17757 character indices.
17758 (find_glyph): Use binary search instead of linear search to find a
17759 character in a font.
17760
17761 2009-06-05 Michael Scherer <misc@mandriva.org>
17762
17763 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17764 uses case sensitive btree.
17765 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17766 only for case insensitive filesystems.
17767
17768 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17771 * conf/common.rmk (search_mod_CFLAGS): likewise
17772
17773 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17776 compensate a compiler bug
17777
17778 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17781 instead of '\b'
17782
17783 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 Definitions for creating asm symbols with Apple's CC
17786
17787 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17788 [APPLE_CC] (VARIABLE): likewise
17789
17790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 Disable lnxboot.img when compiled
17793 with Apple's CC
17794
17795 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17796 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17797 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17798 [! APPLE_CC] (CODE_LENG): skip
17799 [! APPLE_CC] (setup_sects): likewise
17800 [! APPLE_CC]: skip filling
17801
17802 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17803
17804 Address in trampolines based on 32-bit registers when compiled
17805 with Apple's CC
17806
17807 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17808 for addresses
17809 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17810
17811 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17814
17815 * kern/misc.c [APPLE_CC] (memcpy): new function
17816 [APPLE_CC] (memmove): likewise
17817 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17818 (memcpy): define alias conditionally on !APPLE_CC
17819 (memset): likewise
17820 (abort): likewise
17821 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17822 APPLE_CC are defined
17823 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17824 (grub_assert_fail): make prototype conditional
17825
17826 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17829
17830 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17831 grub-macho2img
17832 (CLEANFILES): add grub-macho2img
17833 (grub_macho2img_SOURCES): new variable
17834 * kern/i386/pc/startup.S (bss_start): new variable
17835 (bss_end): likewise
17836 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17837 * util/grub-macho2img.c: new file
17838
17839 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 Use objconv when compiling with Apple's CC
17842
17843 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17844 (efiemu64.o): likewise
17845 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17846 when compiling with Apple's CC
17847 (efiemu64_s.o): likewise
17848 * configure.ac: check for objconv when compiling with Apple's CC
17849 * genmk.rb: use objconv for modules when compiled with Apple's CC
17850
17851 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 Define segment as well as section when compiling with
17854 Apple's CC
17855
17856 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17857 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17858 (efiemu_convert_pointer): likewise
17859 (efiemu_set_virtual_address_map): likewise
17860 (efiemu_convert_pointer): likewise
17861 (efiemu_getcrc32): likewise
17862 (init_crc32_table): likewise
17863 (reflect): likewise
17864 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17865 (GRUB_MOD_DEP): likewise
17866
17867 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 Allow a compilation without -mcmodel=large
17870
17871 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17872 when compiled without -mcmodel=large
17873 (filter_memory_map): remove memory post 4 GiB when compiled
17874 without -mcmodel=large
17875 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
17876 TARGET_CFLAGS when -mcmodel=large isn't supported
17877
17878 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 Remove nested functions in efiemu core
17881
17882 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
17883
17884 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17887
17888 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17889 temporary storage
17890 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17891 using Apple's CC
17892 (grub_cpu_is_tsc_supported): likewise
17893 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
17894
17895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 Absolute addressing through constant with Apple's cc
17898
17899 * kern/i386/pc/startup.S: Define necessary constants
17900 and address through it when using ABS with Apple's CC
17901 * boot/i386/pc/diskboot.S: likewise
17902 * boot/i386/pc/boot.S: likewise
17903 * boot/i386/pc/lnxboot.S: likewise
17904 * boot/i386/pc/cdboot.S: likewise
17905 * mmap/i386/pc/mmap_helper.S: likewise
17906 * commands/i386/pc/drivemap_int13h.S: likewise
17907
17908 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 Check if compiler is apple cc
17911
17912 * Makefile.in (ASFLAGS): new variable
17913 (TARGET_ASFLAGS): likewise
17914 (TARGET_MODULE_FORMAT): likewise
17915 (TARGET_APPLE_CC): likewise
17916 (OBJCONV): likewise
17917 (TARGET_IMG_CFLAGS): likewise
17918 (TARGET_CPPFLAGS): add includedir
17919 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17920 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17921 Check for linker script only if compiler isn't Apple's CC
17922 (TARGET_MODULE_FORMAT): set
17923 (TARGET_APPLE_CC): likewise
17924 (TARGET_ASFLAGS): likewise
17925 (ASFLAGS): likewise
17926 Check for objcopy only if compiler isn't Apple's CC
17927 Check for BSS symbol only if compiler isn't Apple's CC
17928 * genmk.rb: adapt nm options if we use Apple's utils
17929 * aclocal.m4 (grub_apple_cc): new test
17930 (grub_apple_target_cc): likewise
17931
17932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 Simplify sed expressions and improve awk
17935
17936 * Makefile.in (install-local): simplify sed expression
17937 * gencmdlist.sh: likewise
17938 * genmoddep.awk: avoid adding module as a dependency of itself
17939
17940 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 Add missing start symbols
17943
17944 * boot/i386/pc/boot.S: add start
17945 * boot/i386/pc/pxeboot.S: likewise
17946
17947 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 Fix wrong assumptions with grub-mkimage on EFI
17950
17951 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
17952 (relocate_addresses): consider both r_addend and value at offset
17953 (make_mods_section): zerofill modinfo and header
17954 (convert_elf): write prefix here
17955
17956 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17957
17958 Use .asciz instead of .string
17959
17960 * i386/pc/diskboot.S: use .asciz instead of .string
17961 * i386/pc/boot.S: likewise
17962 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17963 (GRUB_MOD_NAME): likewise
17964
17965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 gfxpayload support
17968
17969 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17970 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17971 (grub_video_setup): remove
17972 (grub_video_set_mode): new prototype
17973 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17974 (vid_mode): remove
17975 (linux_vesafb_res): compile only on PCBIOS
17976 (grub_linux_boot): support gfxpayload
17977 * loader/i386/pc/xnu.c (video_hook): new function
17978 (grub_xnu_set_video): support gfxpayload
17979 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17980 (DEFAULT_VIDEO_HEIGHT): likewise
17981 (DEFAULT_VIDEO_FLAGS): likewise
17982 (DEFAULT_VIDEO_MODE): new definition
17983 (video_hook): new function
17984 (grub_gfxterm_init): use grub_video_set_mode
17985 * util/grub.d/30_os-prober.in: remove explicit modesetting before
17986 loading xnu
17987 * video/video.c (grub_video_setup): removed
17988 (grub_video_set_mode): new function based on grub_gfxterm_init and
17989 grub_video_setup
17990
17991 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 Avoid calling biosdisk in drivemap
17994
17995 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17996 (revparse_biosdisk): likewise
17997 (list_mappings): derive name from id directly
17998 (grub_cmd_drivemap): use tryparse_diskstring
17999
18000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 Script fixes
18003
18004 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18005 (grub_lexer_param): add tokenonhold
18006 (grub_script_create_cmdline): remove cmdline. All callers updated
18007 (grub_script_function_create): make functionname
18008 grub_script_arg. All callers updated
18009 (grub_script_execute_argument_to_string): new prototype
18010 * kern/parser.c (state_transitions): reorder
18011 (grub_parser_cmdline_state): fix a bug and make more compact
18012 * script/sh/execute.c (grub_script_execute_argument_to_string):
18013 make global
18014 (grub_script_execute_cmdline): use new format
18015 * script/sh/function.c (grub_script_function_create): make functionname
18016 grub_script_arg. All callers updated
18017 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
18018 (grub_script_yylex): remove
18019 (grub_script_yylex2): renamed to ...
18020 (grub_script_yylex): ...renamed
18021 parse the expressions like a${b}c
18022 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18023 (GRUB_PARSER_TOKEN_VAR): remove
18024 (GRUB_PARSER_TOKEN_NAME): likewise
18025 ("if"): declare as typeless
18026 ("while"): likewise
18027 ("function"): likewise
18028 ("else"): likewise
18029 ("then"): likewise
18030 ("fi"): likewise
18031 (text): remove
18032 (argument): likewise
18033 (script): accept empty scripts and make exit on error
18034 (arguments): use GRUB_PARSER_TOKEN_ARG
18035 (function): likewise
18036 (command): move error handling to script
18037 (menuentry): move grub_script_lexer_ref before
18038 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
18039 argument. All callers updated
18040
18041 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18042
18043 Prevent GRUB from probing floppies during boot.
18044
18045 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18046 * commands/search.c (options): Add --no-floppy.
18047 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18048 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18049 --no-floppy when searching for UUIDs.
18050
18051 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18052
18053 Simplify the code duplication in commands/search.c.
18054
18055 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18056 (search_fs): ... this. Update all users.
18057
18058 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
18059
18060 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18061
18062 2009-05-28 Pavel Roskin <proski@gnu.org>
18063
18064 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18065 Remove the original symlink explicitly.
18066
18067 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18068 just one slash. That's how grub_fshelp_find_file() does it.
18069
18070 2009-05-26 Pavel Roskin <proski@gnu.org>
18071
18072 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18073 to `str'.
18074
18075 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18076 possibly unused.
18077
18078 2009-05-25 Christian Franke <franke@computer.org>
18079
18080 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18081 register.
18082 (grub_atapi_identify): Add wait after drive select.
18083 (grub_ata_identify): Do more strict status register check before
18084 calling grub_atapi_identify (). Suppress error message if status
18085 register is 0x00 after command failure. Add status register
18086 check after PIO read to avoid bogus identify due to stuck DRQ.
18087 Thanks to Pavel Roskin for testing.
18088 (grub_device_initialize): Remove unsafe status register check.
18089 Thanks to 'phcoder' for problem report and patch.
18090 Prevent sign extension in debug message.
18091
18092 2009-05-23 Colin D Bennett <colin@gibibit.com>
18093
18094 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18095 definition file, and functions defined in `normal/menu.c' have had
18096 their prototypes moved to `include/grub/menu.h' for consistency.
18097
18098 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18099 from normal.h.
18100 (grub_menu_get_entry): Likewise.
18101 (grub_menu_get_timeout): Likewise.
18102 (grub_menu_set_timeout): Likewise.
18103 (grub_menu_execute_entry): Likewise.
18104 (grub_menu_execute_with_fallback): Likewise.
18105 (grub_menu_entry_run): Likewise.
18106
18107 * include/grub/normal.h: Re-ordered and grouped function
18108 prototypes by file that the function is defined in.
18109 (grub_menu_execute_callback): Removed; moved to menu.h.
18110 (grub_menu_get_entry): Likewise.
18111 (grub_menu_get_timeout): Likewise.
18112 (grub_menu_set_timeout): Likewise.
18113 (grub_menu_execute_entry): Likewise.
18114 (grub_menu_execute_with_fallback): Likewise.
18115 (grub_menu_entry_run): Likewise.
18116 (grub_menu_addentry): Renamed from this ...
18117 (grub_normal_add_menu_entry): ... to this.
18118
18119 * normal/main.c (grub_menu_addentry): Renamed from this ...
18120 (grub_normal_add_menu_entry): ... to this.
18121
18122 * script/sh/execute.c (grub_script_execute_menuentry): Update
18123 reference to renamed grub_menu_addentry function.
18124
18125 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
18126
18127 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18128
18129 2009-05-22 Pavel Roskin <proski@gnu.org>
18130
18131 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18132 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18133 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18134 compiling for the i386 targets, but not for the utilities.
18135
18136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18137 to grub_uint8_t.
18138 (grub_root_drive): Likewise.
18139 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18140 remove alignment.
18141 (grub_root_drive): Change size to byte.
18142 (grub_start_addr): Remove.
18143 (grub_end_addr): Likewise.
18144 (grub_apm_bios_info): Likewise.
18145
18146 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
18147
18148 * normal/i386: Remove.
18149 * normal/powerpc: Likewise.
18150 * normal/sparc64: Likewise.
18151 * normal/x86_64: Likewise.
18152
18153 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
18156 * loader/i386/linux_trampoline.S: Fix indentation
18157 * loader/i386/xnu_helper.S: Likewise
18158
18159 2009-05-18 Colin D Bennett <colin@gibibit.com>
18160
18161 Display error messages when parsing a Lua statement fails.
18162 Previously, executing a syntactically invalid statement like
18163 ")foo" or "bar;" would silently fail.
18164
18165 * script/lua/grub_main.c (handle_lua_error): New function.
18166 (grub_lua_parse_line): Improved reporting of Lua parser and
18167 execution errors.
18168
18169 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 Remove -Werror which causes build to fail on some systems
18172
18173 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18174 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18175 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18176
18177 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 trampoline for linux on 64-bit platform
18180
18181 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18182 loader/i386/efi/linux_trampoline.S
18183 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
18184 declaration
18185 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18186 here
18187 * loader/i386/linux_trampoline.S: moved here
18188 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18189 trampoline
18190 (jumpvector): removed
18191 (grub_linux_trampoline_start): new declaration
18192 (grub_linux_trampoline_end): likewise
18193 (grub_linux_boot): use trampoline when on 64-bit platform
18194 * loader/i386/linux.c: likewise
18195
18196 2009-05-16 Pavel Roskin <proski@gnu.org>
18197
18198 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18199 const to avoid a warning.
18200 (grub_lua_setenv): Likewise.
18201 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18202 lmsg to fix a warning.
18203
18204 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18205
18206 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
18207 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18208 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18209 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18210 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18211 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18212 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18213 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18214
18215 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
18216
18217 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18218
18219 2009-05-16 Bean <bean123ch@gmail.com>
18220
18221 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18222 (lua_mod_SOURCES): New variable.
18223 (lua_mod_CFLAGS): Likewise.
18224 (lua_mod_LDFLAGS): Likewise.
18225
18226 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18227 (setjmp_mod_SOURCES): New variable.
18228 (setjmp_mod_CFLAGS): Likewise.
18229 (setjmp_LDFLAGS): Likewise.
18230
18231 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18232 (setjmp_mod_SOURCES): New variable.
18233 (setjmp_mod_CFLAGS): Likewise.
18234 (setjmp_LDFLAGS): Likewise.
18235
18236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18237 (setjmp_mod_SOURCES): New variable.
18238 (setjmp_mod_CFLAGS): Likewise.
18239 (setjmp_LDFLAGS): Likewise.
18240
18241 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18242 (setjmp_mod_SOURCES): New variable.
18243 (setjmp_mod_CFLAGS): Likewise.
18244 (setjmp_LDFLAGS): Likewise.
18245
18246 * normal/i386/setjmp.S: Moved from here ...
18247 * lib/i386/setjmp.S: ... Moved here
18248 * normal/x86_64/setjmp.S: Moved from here ...
18249 * lib/x86_64/setjmp.S: ... Moved here
18250 * normal/powerpc/setjmp.S: Moved from here ...
18251 * lib/powerpc/setjmp.S: ... Moved here
18252 * normal/sparc64/setjmp.S: Moved from here ...
18253 * lib/sparc64/setjmp.S: ... Moved here
18254
18255 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18256 returns_twice in mingw.
18257
18258 * script/lua/grub_lib.c: New file.
18259 * script/lua/grub_lib.h: Likewise.
18260 * script/lua/grub_lua.h: Likewise.
18261 * script/lua/grub_main.c: Likewise.
18262 * script/lua/lapi.c: Likewise.
18263 * script/lua/lapi.h: Likewise.
18264 * script/lua/lauxlib.c: Likewise.
18265 * script/lua/lauxlib.h: Likewise.
18266 * script/lua/lbaselib.c: Likewise.
18267 * script/lua/lcode.c: Likewise.
18268 * script/lua/lcode.h: Likewise.
18269 * script/lua/ldblib.c: Likewise.
18270 * script/lua/ldebug.c: Likewise.
18271 * script/lua/ldebug.h: Likewise.
18272 * script/lua/ldo.c: Likewise.
18273 * script/lua/ldo.h: Likewise.
18274 * script/lua/ldump.c: Likewise.
18275 * script/lua/lfunc.c: Likewise.
18276 * script/lua/lfunc.h: Likewise.
18277 * script/lua/lgc.c: Likewise.
18278 * script/lua/lgc.h: Likewise.
18279 * script/lua/linit.c: Likewise.
18280 * script/lua/liolib.c: Likewise.
18281 * script/lua/llex.c: Likewise.
18282 * script/lua/llex.h: Likewise.
18283 * script/lua/llimits.h: Likewise.
18284 * script/lua/lmathlib.c: Likewise.
18285 * script/lua/lmem.c: Likewise.
18286 * script/lua/lmem.h: Likewise.
18287 * script/lua/loadlib.c: Likewise.
18288 * script/lua/lobject.c: Likewise.
18289 * script/lua/lobject.h: Likewise.
18290 * script/lua/lopcodes.c: Likewise.
18291 * script/lua/lopcodes.h: Likewise.
18292 * script/lua/loslib.c: Likewise.
18293 * script/lua/lparser.c: Likewise.
18294 * script/lua/lparser.h: Likewise.
18295 * script/lua/lstate.c: Likewise.
18296 * script/lua/lstate.h: Likewise.
18297 * script/lua/lstring.c: Likewise.
18298 * script/lua/lstring.h: Likewise.
18299 * script/lua/lstrlib.c: Likewise.
18300 * script/lua/ltable.c: Likewise.
18301 * script/lua/ltable.h: Likewise.
18302 * script/lua/ltablib.c: Likewise.
18303 * script/lua/ltm.c: Likewise.
18304 * script/lua/ltm.h: Likewise.
18305 * script/lua/lua.h: Likewise.
18306 * script/lua/luaconf.h: Likewise.
18307 * script/lua/lualib.h: Likewise.
18308 * script/lua/lundump.c: Likewise.
18309 * script/lua/lundump.h: Likewise.
18310 * script/lua/lvm.c: Likewise.
18311 * script/lua/lvm.h: Likewise.
18312 * script/lua/lzio.c: Likewise.
18313 * script/lua/lzio.h: Likewise.
18314
18315 2009-05-16 Bean <bean123ch@gmail.com>
18316
18317 * include/grub/kernel.h (grub_module_header_types): Add type
18318 OBJ_TYPE_CONFIG.
18319
18320 * kern/main.c (grub_load_config): New function.
18321 (grub_main): Call grub_load_config to read boot config.
18322
18323 * grub-mkimage (generate_image): New parameter config_path.
18324 (options): New option --config.
18325 (main): Parse --config option, and pass it to generate_image.
18326
18327 2009-05-14 Christian Franke <franke@computer.org>
18328
18329 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18330 This fixes build on Cygwin.
18331
18332 2009-05-14 Pavel Roskin <proski@gnu.org>
18333
18334 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18335 jump. This saves two bytes, so the typical case of 2 swapped
18336 drives would fit 32 bytes.
18337
18338 2009-05-13 Pavel Roskin <proski@gnu.org>
18339
18340 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18341 grub_uint32_t to avoid a warning.
18342
18343 * loader/i386/linux.c (allocate_pages): When assigning
18344 real_mode_mem, cast through grub_size_t to fix a warning. The
18345 code already makes sure that the value would fit a pointer.
18346 (grub_linux_setup_video): Cast render_target->data to
18347 grub_size_t to fix a warning.
18348
18349 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18350
18351 * commands/i386/pc/drivemap.c: New file - implement drivemap
18352 command.
18353 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18354 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18355
18356 2009-05-13 Pavel Roskin <proski@gnu.org>
18357
18358 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18359 embedding_area_exists.
18360
18361 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18362
18363 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18364 it easier to understand / work with.
18365 Improve warning messages for cases where there's no embedding area,
18366 or when it is too small (or core.img too large).
18367
18368 2009-05-13 Pavel Roskin <proski@gnu.org>
18369
18370 * loader/i386/pc/multiboot2.c: Add necessary includes for
18371 grub_multiboot2_real_boot().
18372
18373 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18374 PX record is always little-endian. We only need the lower 2
18375 bytes of the mode.
18376
18377 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18378 facilitate code reuse.
18379 (grub_cpio_mount): Use "struct head", not a char buffer. This
18380 fixes a warning reported by gcc 4.4.
18381
18382 * kernel/disk.c (grub_disk_read): Use void pointer for the
18383 buffer.
18384 (grub_disk_write): Use const void pointer for the buffer.
18385 Adjust all callers. Remove unnecessary casts.
18386
18387 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18388
18389 * util/i386/pc/grub-install.in: Update copyright year.
18390
18391 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 gptsync
18394
18395 * commands/gptsync.c: new file
18396 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18397 (gptsync_mod_SOURCES): new variable
18398 (gptsync_mod_CFLAGS): likewise
18399 (gptsync_mod_LDFLAGS): likewise
18400 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18401 new definition
18402 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18404 * conf/i386-ieee1275.rmk: likewise
18405 * conf/i386-pc.rmk: likewise
18406 * conf/powerpc-ieee1275.rmk: likewise
18407
18408 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Fixed grub-emu
18411
18412 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18413 (grub_dl_ref): likewise
18414
18415 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18416
18417 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18418 split in two functions (one for msdos and one for gpt).
18419
18420 2009-05-08 Pavel Roskin <proski@gnu.org>
18421
18422 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18423 not modified.
18424
18425 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18426 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18427 Initialize them with -1. Add sanity check for bad1. Eliminate
18428 nerr variable.
18429
18430 2009-05-08 David S. Miller <davem@davemloft.net>
18431
18432 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18433
18434 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18435
18436 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18437 existence.
18438
18439 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18440
18441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18442 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18443
18444 2009-05-05 David S. Miller <davem@davemloft.net>
18445
18446 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18447
18448 2009-05-05 Pavel Roskin <proski@gnu.org>
18449
18450 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18451 of grub_dl_ref() and grub_dl_unref().
18452 * commands/parttool.c: Remove preprocessor conditionals around
18453 grub_dl_ref() and grub_dl_unref().
18454 * fs/affs.c: Likewise.
18455 * fs/afs.c: Likewise.
18456 * fs/cpio.c: Likewise.
18457 * fs/ext2.c: Likewise.
18458 * fs/fat.c: Likewise.
18459 * fs/hfs.c: Likewise.
18460 * fs/hfsplus.c: Likewise.
18461 * fs/iso9660.c: Likewise.
18462 * fs/jfs.c: Likewise.
18463 * fs/minix.c: Likewise.
18464 * fs/ntfs.c: Likewise.
18465 * fs/reiserfs.c: Likewise.
18466 * fs/sfs.c: Likewise.
18467 * fs/udf.c: Likewise.
18468 * fs/ufs.c: Likewise.
18469 * fs/xfs.c: Likewise.
18470 * include/grub/dl.h: Likewise.
18471 * loader/xnu.c: Likewise.
18472
18473 2009-05-04 Pavel Roskin <proski@gnu.org>
18474
18475 * commands/acpi.c: Remove unused variable my_mod.
18476 * partmap/amiga.c: Likewise.
18477 * partmap/apple.c: Likewise.
18478 * partmap/gpt.c: Likewise.
18479 * partmap/pc.c: Likewise.
18480 * partmap/sun.c: Likewise.
18481 * term/gfxterm.c: Likewise.
18482 * term/i386/pc/vesafb.c: Likewise.
18483 * term/i386/pc/vga.c: Likewise.
18484
18485 2009-05-04 David S. Miller <davem@davemloft.net>
18486
18487 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18488 pointer args to grub_ieee1275_get_property().
18489
18490 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18491
18492 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18493 devices, and do not traverse down under controller nodes.
18494
18495 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18496 (grub_ofdisk_open): Use it to un-escape "," characters.
18497 * kern/disk.c (find_part_sep): New.
18498 (grub_disk_open): Use it to find the first non-escaped ','
18499 character in the disk name.
18500 * util/ieee1275/devicemap.c (escape_of_path): New.
18501 (grub_util_emit_devicemap_entry): Use it.
18502 * util/sparc64/ieee1275/grub-install.in: Update script to
18503 strip partition specifiers properly by not triggering on
18504 '\' escaped ',' characters.
18505
18506 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18507
18508 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18509 to 0x300.
18510 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18511 resolutions.
18512 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18513 on documentation from Wikipedia).
18514
18515 2009-05-04 Pavel Roskin <proski@gnu.org>
18516
18517 * disk/ata.c: Spelling fixes.
18518 * disk/raid.c: Likewise.
18519 * disk/usbms.c: Likewise.
18520 * disk/dmraid_nvidia.c: Likewise.
18521 * kern/ieee1275/openfw.c: Likewise.
18522 * kern/ieee1275/init.c: Likewise.
18523 * kern/ieee1275/cmain.c: Likewise.
18524 * boot/i386/pc/cdboot.S: Likewise.
18525 * video/readers/png.c: Likewise.
18526 * video/i386/pc/vbe.c: Likewise.
18527 * fs/udf.c: Likewise.
18528 * fs/hfs.c: Likewise.
18529 * fs/reiserfs.c: Likewise.
18530 * efiemu/runtime/efiemu.c: Likewise.
18531 * efiemu/main.c: Likewise.
18532 * efiemu/mm.c: Likewise.
18533 * include/grub/elf.h: Likewise.
18534 * include/grub/xnu.h: Likewise.
18535 * include/grub/usbdesc.h: Likewise.
18536 * include/grub/usb.h: Likewise.
18537 * include/grub/script_sh.h: Likewise.
18538 * include/grub/lib/LzmaEnc.h: Likewise.
18539 * include/grub/efiemu/efiemu.h: Likewise.
18540 * include/grub/command.h: Likewise.
18541 * normal/menu.c: Likewise.
18542 * normal/main.c: Likewise.
18543 * normal/datetime.c: Likewise.
18544 * bus/usb/uhci.c: Likewise.
18545 * mmap/i386/uppermem.c: Likewise.
18546 * mmap/mmap.c: Likewise.
18547 * commands/acpi.c: Likewise.
18548 * commands/test.c: Likewise.
18549 * partmap/apple.c: Likewise.
18550 * font/font.c: Likewise.
18551 * loader/sparc64/ieee1275/linux.c: Likewise.
18552 * loader/macho.c: Likewise.
18553 * loader/i386/bsd_trampoline.S: Likewise.
18554 * loader/i386/bsd.c: Likewise.
18555 * loader/xnu.c: Likewise.
18556 * term/i386/pc/vesafb.c: Likewise.
18557 * term/usb_keyboard.c: Likewise.
18558 * util/resolve.c: Likewise.
18559 * util/getroot.c: Likewise.
18560
18561 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18562
18563 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18564
18565 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18566
18567 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18568 build error.
18569
18570 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18571
18572 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18573 parameter only available on BIOS.
18574
18575 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 Removed wrong semicolon in declaration
18578
18579 * grub/misc.h (grub_dprintf): remove semicolon
18580
18581 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18582
18583 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18584 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18585 is done by grub_cmd_linux() now).
18586 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18587 restore video to text mode.
18588 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18589 indicates lack of "vga=" parameter. "vga=0" is mapped to
18590 `GRUB_LINUX_VID_MODE_NORMAL'.
18591
18592 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18593
18594 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18595 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18596 and `normal/script.c'. Add `kern/rescue_reader.c',
18597 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18598 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18599 `grub_script.tab.c'.
18600
18601 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18602 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18604 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18605 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18606
18607 * Makefile.in: Remove duplicated 2008 in Copyright line.
18608
18609 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18610
18611 * util/misc.c (grub_util_warn): New function. Emits a warning
18612 unconditionally.
18613 * include/grub/util/misc.h (grub_util_warn): New declaration.
18614
18615 * util/i386/pc/grub-install.in: Understand --force and pass it down
18616 to grub-setup.
18617
18618 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18619 down to setup().
18620 (setup): Improve error messages and add warnings when requested to
18621 install in odd layouts. Refuse to install using blocklists unless
18622 --force was set.
18623
18624 2009-05-04 martin f. krafft <madduck@madduck.net>
18625
18626 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18627
18628 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 Updated copyright year
18631
18632 * fs/hfsplus.c: updated copyright year
18633
18634 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 HFS+ UUID
18637
18638 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18639 in the space previously used by unused3
18640 (grub_hfsplus_uuid): new function
18641 (grub_hfsplus_fs): added uuid field
18642
18643 2009-05-03 Pavel Roskin <proski@gnu.org>
18644
18645 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18646 suppress warnings. It's no longer needed.
18647 * disk/host.c: Likewise.
18648 * disk/ata_pthru.c: Likewise.
18649 * disk/loopback.c: Likewise.
18650 * hook/datehook.c: Likewise.
18651 * parttool/pcpart.c: Likewise.
18652 * fs/i386/pc/pxe.c: Likewise.
18653 * fs/ntfscomp.c: Likewise.
18654 * efiemu/main.c: Likewise.
18655 * mmap/mmap.c: Likewise.
18656 * commands/crc.c: Likewise.
18657 * commands/hexdump.c: Likewise.
18658 * commands/hdparm.c: Likewise.
18659 * commands/acpi.c: Likewise.
18660 * commands/echo.c: Likewise.
18661 * commands/minicmd.c: Likewise.
18662 * commands/blocklist.c: Likewise.
18663 * commands/memrw.c: Likewise.
18664 * commands/loadenv.c: Likewise.
18665 * commands/usbtest.c: Likewise.
18666 * commands/lsmmap.c: Likewise.
18667 * commands/boot.c: Likewise.
18668 * commands/parttool.c: Likewise.
18669 * commands/configfile.c: Likewise.
18670 * commands/search.c: Likewise.
18671 * commands/ieee1275/suspend.c: Likewise.
18672 * commands/cat.c: Likewise.
18673 * commands/i386/pc/pxecmd.c: Likewise.
18674 * commands/i386/pc/play.c: Likewise.
18675 * commands/i386/pc/halt.c: Likewise.
18676 * commands/i386/pc/vbeinfo.c: Likewise.
18677 * commands/i386/pc/vbetest.c: Likewise.
18678 * commands/lspci.c: Likewise.
18679 * commands/date.c: Likewise.
18680 * commands/handler.c: Likewise.
18681 * commands/ls.c: Likewise.
18682 * commands/test.c: Likewise.
18683 * commands/cmp.c: Likewise.
18684 * commands/efi/loadbios.c: Likewise.
18685 * commands/efi/fixvideo.c: Likewise.
18686 * commands/halt.c: Likewise.
18687 * commands/help.c: Likewise.
18688 * commands/reboot.c: Likewise.
18689 * hello/hello.c: Likewise.
18690 * script/sh/main.c: Likewise.
18691 * loader/xnu.c: Likewise.
18692 * term/terminfo.c: Likewise.
18693 * term/i386/pc/serial.c: Likewise.
18694 * term/usb_keyboard.c: Likewise.
18695
18696 2009-05-03 David S. Miller <davem@davemloft.net>
18697
18698 * normal/menu.c: Include grub/parser.h
18699
18700 2009-05-03 Pavel Roskin <proski@gnu.org>
18701
18702 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18703 not char*.
18704 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18705 Suggested by Javier Martín <lordhabbit@gmail.com>
18706
18707 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18708 efiemu??.o doesn't exist.
18709 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18710 copying.
18711
18712 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 FreeBSD 64-bit support
18715
18716 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18717 and loader/i386/bsd_trampoline.S
18718 (bsd_mod_ASFLAGS): new variable
18719 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18720 (FREEBSD_MODTYPE_KERNEL64): likewise
18721 (grub_bsd64_trampoline_start): likewise
18722 (grub_bsd64_trampoline_end): likewise
18723 (grub_bsd64_trampoline_selfjump): likewise
18724 (grub_bsd64_trampoline_gdt): likewise
18725 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18726 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18727 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18728 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18729 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18730 of "attrib" member
18731 * loader/i386/bsd_pagetable.c: new file
18732 * loader/i386/bsd_trampoline.S: likewise
18733 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18734 (ALIGN_VAR): likewise
18735 (entry_hi): new variable
18736 (kern_end_mdofs): likewise
18737 (is_64bit): likewise
18738 (grub_freebsd_add_meta): use ALIGN_VAR
18739 (grub_e820_mmap): new declaration
18740 (grub_freebsd_add_mmap): new function
18741 (grub_freebsd_add_meta_module): support 64 bit kernels
18742 (grub_freebsd_list_modules): use ALIGN_VAR
18743 (gdt_descriptor): new declaration
18744 (grub_freebsd_boot): support 64 bit kernels
18745 (grub_bsd_elf64_hook): new function
18746 (grub_bsd_load_elf): support elf64
18747
18748 2009-05-03 Bean <bean123ch@gmail.com>
18749
18750 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18751 after we get the result of if statement.
18752
18753 2009-05-03 Bean <bean123ch@gmail.com>
18754
18755 * Makefile.in (enable_efiemu): New variable.
18756
18757 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18758 set.
18759 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18760 path.
18761 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18762 path, add -mno-red-zone option.
18763 (efiemu64_s.o): Likewise.
18764 (efiemu64.o): Use macro $^ for source file.
18765
18766 * configure.ac (--enable-efiemu): New option.
18767
18768 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18769
18770 xnu support
18771
18772 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18773 (pkglib_MODULES): add xnu.mod
18774 (xnu_mod_SOURCES): new variable
18775 (xnu_mod_CFLAGS): likewise
18776 (xnu_mod_LDFLAGS): likewise
18777 (xnu_mod_ASFLAGS): likewise
18778 * conf/i386-pc.rmk: likewise
18779 * conf/x86_64-efi.rmk: likewise
18780 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18781 new declaration
18782 * include/grub/i386/macho.h: new file
18783 * include/grub/i386/xnu.h: likewise
18784 * include/grub/macho.h: likewise
18785 * include/grub/machoload.h: likewise
18786 * include/grub/x86_64/macho.h: likewise
18787 * include/grub/x86_64/xnu.h: likewise
18788 * include/grub/xnu.h: likewise
18789 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18790 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18791 * loader/i386/efi/xnu.c: new file
18792 * loader/i386/pc/xnu.c: likewise
18793 * loader/i386/xnu.c: likewise
18794 * loader/i386/xnu_helper.S: likewise
18795 * loader/macho.c: likewise
18796 * loader/xnu.c: likewise
18797 * loader/xnu_resume.c: likewise
18798 * util/grub-dumpdevtree: likewise
18799 * include/grub/i386/pit.h: include grub/err.h
18800 (grub_pit_wait): export
18801 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18802
18803 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 Efiemu
18806
18807 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18808 _linux_efi, linux_efi.
18809 new files in grub-emu
18810 new targets efiemu32.o and efiemu64.o
18811 * loader/linux_normal_efiemu.c: likewise
18812 * loader/i386/efi/linux.c: added preliminary efiemu support
18813 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18814 files to copy
18815 * include/grub/autoefi.h: new file
18816 * include/grub/i386/efiemu.h: likewise
18817 * include/grub/i386/pc/efiemu.h: likewise
18818 * include/grub/efi/api.h: add LL suffix when necessary
18819 new definitions relating to tables
18820 * include/grub/efiemu/efiemu.h: new file
18821 * include/grub/efiemu/runtime.h: likewise
18822 * efiemu/prepare.c: likewise
18823 * efiemu/loadcore_common.c: likewise
18824 * efiemu/loadcore64.c: likewise
18825 * efiemu/runtime/efiemu.sh: likewise
18826 * efiemu/runtime/efiemu.S: likewise
18827 * efiemu/runtime/efiemu.c: likewise
18828 * efiemu/runtime/config.h: likewise
18829 * efiemu/prepare32.c: likewise
18830 * efiemu/main.c: likewise
18831 * efiemu/modules/pnvram.c: likewise
18832 * efiemu/modules/i386: likewise
18833 * efiemu/modules/i386/pc: likewise
18834 * efiemu/modules/acpi.c: likewise
18835 * efiemu/i386/pc/cfgtables.c: likewise
18836 * efiemu/i386/loadcore64.c: likewise
18837 * efiemu/i386/loadcore32.c: likewise
18838 * efiemu/prepare64.c: likewise
18839 * efiemu/loadcore.c: likewise
18840 * efiemu/symbols.c: likewise
18841 * efiemu/mm.c: likewise
18842 * efiemu/loadcore32.c: likewise
18843
18844 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 ACPI spoofing
18847
18848 * commands/acpi.c: new file
18849 * commands/i386/pc/acpi.c: likewise
18850 * commands/efi/acpi.c: likewise
18851 * include/grub/acpi.h: likewise
18852 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18853 (acpi_mod_SOURCES): new variable
18854 (acpi_mod_CFLAGS): likewise
18855 (acpi_mod_LDFLAGS): likewise
18856 * conf/i386-efi.rmk: likewise
18857 * conf/x86_64-efi.rmk: likewise
18858
18859 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 Missing part from mmap patch
18862
18863 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18864 (grub_mmap_unregister)
18865 (grub_mmap_free_and_unregister): use grub_mmap_register
18866
18867 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 Mmap services
18870
18871 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18872 * loader/i386/linux.c (find_mmap_size): likewise
18873 (allocate_pages): likewise
18874 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18875 (grub_fill_multiboot_mmap): likewise
18876 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18877 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18878 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18879 (OPENBSD_MMAP_RESERVED): likewise
18880 * include/grub/i386/pc/memory.h: include grub/memory.h
18881 (grub_lower_mem): removed
18882 (grub_upper_mem): likewise
18883 (GRUB_MACHINE_MEMORY_ACPI): new definition
18884 (GRUB_MACHINE_MEMORY_NVS): likewise
18885 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18886 (GRUB_MACHINE_MEMORY_HOLE): likewise
18887 (grub_machine_mmap_register): likewise
18888 (grub_machine_mmap_unregister): likewise
18889 (grub_machine_get_upper): likewise
18890 (grub_machine_get_lower): likewise
18891 (grub_machine_get_post64): likewise
18892 * include/grub/i386/efi/memory.h: new file
18893 * include/grub/x86_64/efi/memory.h: likewise
18894 * include/grub/efi/memory.h: likewise
18895 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18896 (mmap_mod_SOURCES): new variable
18897 (mmap_mod_LDFLAGS): likewise
18898 (mmap_mod_ASFLAGS): likewise
18899 * conf/i386-coreboot.rmk: likewise
18900 * conf/i386-ieee1275.rmk: likewise
18901 * conf/i386-efi.rmk: likewise
18902 * conf/x86_64-efi.rmk: likewise
18903 * include/grub/types.h (UINT_TO_PTR): new macro
18904 (PTR_TO_UINT32): likewise
18905 (PTR_TO_UINT64): likewise
18906 * include/grub/memory.h: new file
18907 * mmap/i386/pc/mmap.c: likewise
18908 * mmap/i386/pc/mmap_helper.S: likewise
18909 * mmap/i386/uppermem.c: likewise
18910 * mmap/mmap.c: likewise
18911 * mmap/efi/mmap.c: likewise
18912 * kern/i386/coreboot/init.c (grub_machine_init): don't use
18913 grub_upper_mem
18914 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18915 (grub_upper_mem): likewise
18916 (grub_machine_init): don't use grub_upper_mem,
18917 make grub_lower_mem local
18918 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18919 grub_mmap_iterate and grub_mmap_get_upper
18920 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18921
18922 2009-05-02 Bean <bean123ch@gmail.com>
18923
18924 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18925 script/sh/parser.y.
18926 (pkglib_MODULES): Add normal.mod and sh.mod.
18927 (normal_SOURCES): New variable.
18928 (normal_mod_CFLAGS): Likewise.
18929 (normal_mod_LDFLAGS): Likewise.
18930 (sh_mod_SOURCES): Likewise.
18931 (sh_mod_CFLAGS): Likewise.
18932 (sh_mod_LDFLAGS): Likewise.
18933
18934 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18935 script/sh/lexer.c_DEPENDENCIES.
18936 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18937 kern/rescue_reader.c and kern/rescue_parser.c.
18938 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18939 (grub_emu_SOURCES): Change source files.
18940 (pkglib_MODULES): Remove normal.mod.
18941 (normal_SOURCES): Removed.
18942 (normal_mod_CFLAGS): Likewise.
18943 (normal_mod_LDFLAGS): Likewise.
18944 * conf/i386-coreboot.rmk: Likewise.
18945 * conf/i386-efi.rmk: Likewise.
18946 * conf/i386-ieee1276.rmk: Likewise.
18947 * conf/powerpc-ieee1275.rmk: Likewise.
18948 * conf/sparc64-ieee1275.rmk: Likewise.
18949 * conf/x86_64-efi.rmk: Likewise.
18950
18951 * include/grub/command.h (grub_command_execute): New inline function.
18952
18953 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18954
18955 * include/grub/normal.h: Remove <grub/setjmp.h>.
18956 (grub_fs_module_list): Moved to normal/autofs.c.
18957 (grub_exit_env): Removed.
18958 (grub_command_execute): Likewise.
18959 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18960 parameter script.
18961 (read_command_list): New function declaration.
18962 (read_fs_list): Likewise.
18963
18964 * include/parser.h: Include <grub/reader.h>.
18965 (grub_parser_split_cmdline): Change type of getline parameter.
18966 (grub_parser): New structure.
18967 (grub_parser_class): New variable.
18968 (grub_parser_execute): New function declaration.
18969 (grub_register_rescue_parser): Likewise.
18970 (grub_parser_register): New inline function.
18971 (grub_parser_unregister): Likewise.
18972 (grub_parser_get_current): Likewise.
18973 (grub_parser_set_current): Likewise.
18974
18975 * include/grub/reader.h: New file.
18976 * kern/reader.c: Likewise.
18977 * kern/rescue_parser.c: Likewise.
18978 * kern/rescue_reader.c: Likewise.
18979 * normal/autofs.c: Likewise.
18980 * normal/dyncmd.c: Likewise.
18981
18982 * include/grub/rescue.h: Removed.
18983 * normal/command.h: Likewise.
18984
18985 * include/grub/script.h: Moved to ...
18986 * include/grub/script_sh.h: ... Moved here.
18987 * normal/execute.c: Moved to ...
18988 * script/sh/execute.c: ... Moved here.
18989 * normal/function.c: Moved to ...
18990 * script/sh/function.c: ... Moved here.
18991 * normal/lexer.c: Moved to ...
18992 * script/sh/lexer.c: ... Moved here.
18993 * normal/parser.y: Moved to ...
18994 * script/sh/parser.y: ... Moved here.
18995 * normal/script.c: Moved to ...
18996 * script/sh/script.c: ... Moved here.
18997
18998 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18999 <grub/reader.h>.
19000 (grub_exit_env): Removed.
19001 (fs_module_list): Moved to normal/autofs.c.
19002 (grub_file_getline): Don't handle comment here.
19003 (free_menu): Skip removed field entry->commands.
19004 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19005 script parameter.
19006 (read_config_file): Removed nested parameter, change getline function.
19007 (grub_enter_normal_mode): Removed.
19008 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19009 (read_command_list): Likewise.
19010 (autoload_fs_module): Moved to normal/autofs.c.
19011 (read_fs_list): Likewise.
19012 (reader_nested): New variable.
19013 (grub_normal_execute): Run parser.sh to switch to sh parser.
19014 (grub_cmd_rescue): Removed.
19015 (cmd_normal): Removed.
19016 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19017 rescue command.
19018 (grub_cmdline_run): New function.
19019 (grub_normal_reader_init): Likewise.
19020 (grub_normal_read_line): Likewise.
19021 (grub_env_write_pager): Likewise.
19022 (cmdline): New variable.
19023 (grub_normal_reader): Likewise.
19024 (GRUB_MOD_INIT): Register normal reader and set as current, register
19025 pager hook, register normal command with grub_register_command_prio,
19026 so that it won't show up in command.lst.
19027 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19028 grub_fs_autoload_hook.
19029
19030 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19031 (grub_menu_execute_entry): Replace grub_script_execute with
19032 grub_parser_execute, change parameter to grub_command_execute.
19033
19034 * normal/menu_text.c: Remove <grub/script.h>.
19035
19036 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19037 and <grub/parser.h>.
19038 (run): Change editor_getline to use new parser interface. Change
19039 parameter to grub_command_execute.
19040
19041 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19042 <grub/reader.h> and <grub/parser.h>.
19043 (grub_load_normal_mode): Execute normal command.
19044 (grub_main): Call grub_register_core_commands,
19045 grub_register_rescue_parser and grub_register_rescue_reader, use
19046 grub_reader_loop to enter input loop.
19047
19048 * kern/parser.c (grub_parser_split_cmdline): Change type of
19049 getline parameter.
19050 (grub_parser_class): New variable.
19051 (grub_parser_execute): New function.
19052
19053 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19054 * loader/multiboot2.c: Likewise.
19055 * loader/sparc64/ieee1275/linux.c: Likewise.
19056
19057 * util/grub-emu.c (read_command_list): New dummy function.
19058
19059 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19062 count to 16 for CCISS and IDA.
19063
19064 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19065
19066 * normal/menu_text.c (grub_wait_after_message): Print a newline
19067 after waiting for user input.
19068
19069 * loader/i386/linux.c: Include `<grub/normal.h>'.
19070 (grub_cmd_linux): Improve the error message about `ask' mode, by
19071 waiting for user input so it's not missed (we can do this, since
19072 user requested interaction).
19073
19074 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 Added missing lst to grub-mkrescue
19077
19078 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19079 and ${input_dir}/parttool.lst
19080
19081 2009-04-30 David S. Miller <davem@davemloft.net>
19082
19083 * util/hostdisk.c (device_is_wholedisk): New function.
19084 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19085 zero only if device_is_wholedisk() returns true.
19086
19087 * util/hostdisk.c (convert_system_partition_to_system_disk):
19088 Handle virtual disk devices named /dev/vdiskX as found on sparc
19089 and powerpc.
19090
19091 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19092 lettered partition specifier is found, convert to numbered.
19093
19094 2009-04-29 David S. Miller <davem@davemloft.net>
19095
19096 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19097 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19098
19099 * normal/command.c: Add missing newline at end of file.
19100
19101 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19102 warnings.
19103 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19104 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19105 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19106 ihandles have a 32-bit type but need to be stored in a "void *".
19107
19108 2009-04-28 Pavel Roskin <proski@gnu.org>
19109
19110 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19111 not disk. Adjust all dependencies.
19112 (grub_fs_uuid_close): Use grub_device_close(), not
19113 grub_disk_close().
19114
19115 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19116 parent's partition, don't copy it by reference, as it gets freed
19117 on close.
19118
19119 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 Preboot hooks support
19122
19123 * commands/boot.c (struct grub_preboot_t): new declaration
19124 (preboots_head): new variable
19125 (preboots_tail): likewise
19126 (grub_loader_register_preboot_hook): new function
19127 (grub_loader_unregister_preboot_hook): likewise
19128 (grub_loader_set): launch preboot hooks
19129 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19130 (grub_loader_register_preboot_hook): new declaration
19131 (grub_loader_unregister_preboot_hook): likewise
19132
19133 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 Warning fix
19136
19137 * disk/scsi.c (grub_scsi_open): added missing cast when
19138 calling grub_dprintf
19139
19140 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 Bug and warning fixes
19143
19144 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
19145 declaration
19146 * commands/test.c (test_parse): fixed bug with file tests and corrected
19147 declaration of find_file
19148
19149 2009-04-26 Pavel Roskin <proski@gnu.org>
19150
19151 * Makefile.in: Don't install empty manual pages if help2man is
19152 missing. Use help2man option for output, not shell redirection.
19153
19154 2009-04-26 David S. Miller <davem@davemloft.net>
19155
19156 * util/grub-mkdevicemap.c (make_device_map): Add missing
19157 NESTED_FUNC_ATTR to process_device().
19158
19159 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 Test command
19162
19163 * commands/test.c: rewritten to use bash-like test
19164
19165 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 Parttool autoloading and improvements
19168
19169 * Makefile.in (pkglib_DATA): add parttool.lst
19170 (parttool.lst): new target
19171 * genmk.rb: generate parttool-*
19172 (CLEANFILES): add #{parttool}
19173 (PARTTOOLFILES): new variable
19174 * genparttoollist.sh: new file
19175 * parttool/pcpart.c (grub_pcpart_boot): more feedback
19176 (grub_pcpart_type): likewise
19177 * commands/parttool.c (helpmsg): new variable
19178 (grub_cmd_parttool): output help if not enough arguments are supplied
19179 autoload modules
19180 (GRUB_MOD_INIT(parttool)): use helpmsg
19181
19182 2009-04-24 David S. Miller <davem@davemloft.net>
19183
19184 Avoiding opening same device multiple times in device iterator.
19185
19186 * kern/device.c: (grub_device_iterate): Define struct part_ent,
19187 and use it to build a list of partitions in iterate_disk() and
19188 iterate_partition().
19189
19190 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19191 on disk->data.
19192
19193 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19194 grub_devalias_iterate() result instead of unconditional 0.
19195 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19196 Also, capture hook return value, either directly or via
19197 grub_children_iterate(), and propagate to caller.
19198 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19199 grub_children_iterate): Return value is now 'int' instead of
19200 'grub_err_t'.
19201 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19202 like a proper iterator, stopping when hooks return non-zero.
19203 (grub_devalias_iterate): Likewise.
19204
19205 2009-04-23 David S. Miller <davem@davemloft.net>
19206
19207 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19208
19209 2009-04-22 David S. Miller <davem@davemloft.net>
19210
19211 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19212 is larger than address_cells, use that value for address_cells too.
19213
19214 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19215 IEEE1275_MAX_PATH_LEN): Define.
19216 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19217 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19218 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19219 'devtype'. Explicitly NULL terminate devalias expansion.
19220
19221 * util/sparc64/ieee1275/misc.c: New file.
19222 * util/sparc64/ieee1275/grub-setup.c: New file.
19223 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19224 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19225 * util/sparc64/ieee1275/grub-install.in: New file.
19226 * util/ieee1275/ofpath.c: New file.
19227 * util/ieee1275/devicemap.c: New file.
19228 * util/devicemap.c: New file.
19229 * util/deviceiter.c: New file.
19230 * kern/sparc64/ieee1275/init.c: New file.
19231 * include/grub/util/ofpath.h: New file.
19232 * include/grub/util/deviceiter.h: New file.
19233 * util/grub-mkdevicemap.c: Include deviceiter.h.
19234 Implement using grub_util_emit_devicemap_entry and
19235 grub_util_iterate_devices.
19236 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19237 util/devicemap.c into grub-mkdevicemap
19238 * conf/i386-efi.rmk: Likewise.
19239 * conf/i386-ieee1275.rmk: Likewise.
19240 * conf/i386-pc.rmk: Likewise.
19241 * conf/powerpc-ieee1275.rmk: Likewise.
19242 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19243 images and installation utilities. Build kernel as image
19244 instead of as elf binary. Use common rules as much as possible.
19245
19246 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 Correct GPT definition
19249
19250 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
19251 of "attrib" member
19252
19253 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
19254
19255 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19256
19257 2009-04-19 David S. Miller <davem@davemloft.net>
19258
19259 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19260 (grub_rescue_cmd_linux): Rename to...
19261 (grub_cmd_linux): and fix prototype.
19262 (grub_rescue_cmd_initrd): Rename to...
19263 (grub_cmd_initrd): and fix prototype.
19264 (cmd_linux, cmd_initrd): New.
19265 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19266 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19267
19268 2009-04-17 Pavel Roskin <proski@gnu.org>
19269
19270 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19271 format.
19272 (grub_ohci_transfer): Likewise.
19273
19274 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19275
19276 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19277 return without a value. Fix inconsistent indentation.
19278
19279 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19280 match struct grub_fs.
19281
19282 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19283 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19284 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19285 * commands/lspci.c (grub_lspci_iter): Likewise.
19286
19287 2009-04-16 Bean <bean123ch@gmail.com>
19288
19289 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19290 value.
19291
19292 2009-04-15 Pavel Roskin <proski@gnu.org>
19293
19294 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19295 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19296 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19297 definitions.
19298
19299 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19300
19301 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19302 that no multiple data or metadata areas are supported and `Unknown
19303 metadata header'.
19304
19305 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 Move loader out of the kernel
19308
19309 * kern/loader.c: moved to ...
19310 * commands/boot.c: ... moved here
19311 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19312 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19313 * include/grub/kernel.h (grub_machine_fini): export
19314 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19315 (grub_loader_set): likewise
19316 (grub_loader_unset): likewise
19317 (grub_loader_boot): likewise
19318 * conf/common.rmk: new module boot.mod
19319 (pkglib_MODULES): add boot.mod
19320 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19321 (grub_emu_SOURCES): likewise
19322 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19323 (grub_emu_SOURCES): likewise
19324 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19325 (grub_emu_SOURCES): likewise
19326 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19327 (grub_emu_SOURCES): likewise
19328 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19329 (grub_emu_SOURCES): likewise
19330 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19331 (grub_emu_SOURCES): likewise
19332 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19333 (grub_emu_SOURCES): likewise
19334
19335 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19338
19339 * kern/misc.c (grub_itoa): Removed function
19340 (grub_ltoa): likewise
19341 (grub_vsprintf): use grub_lltoa
19342
19343 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 Restore grub-emu
19346
19347 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19348 * conf/i386-coreboot.rmk: likewise
19349 * conf/i386-ieee1275.rmk: likewise
19350 * conf/powerpc-ieee1275.rmk: likewise
19351
19352 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19353
19354 * INSTALL: Add that `./autogen.sh' needs to be run before
19355 `./configure.'.
19356
19357 2009-04-14 Bean <bean123ch@gmail.com>
19358
19359 * Makefile.in (pkglib_DATA): Add handler.lst.
19360 (handler.lst): New rule.
19361
19362 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19363 * conf/i386-coreboot.rmk: Likewise.
19364 * conf/i386-ieee1275.rmk: Likewise.
19365 * conf/i386-efi.rmk: Likewise.
19366 * conf/x86_64-efi.rmk: Likewise.
19367 * conf/powerpc-ieee1275.rmk: Likewise.
19368 * conf/sparc64-ieee1275.rmk: Likewise.
19369
19370 * genhandlerlist.sh: New file.
19371
19372 * genmk.rb: Add rules to generate handler.lst.
19373
19374 * include/grub/normal.h (grub_file_getline): New function definition.
19375 (read_handler_list): Likewise.
19376 (free_handler_list): Likewise.
19377
19378 * include/grub/term.h (grub_term_register_input): Add name parameter
19379 for auto generation of handler.lst.
19380 (grub_term_register_output): Likewise.
19381
19382 * normal/handler.c: New file.
19383
19384 * normal/main.c (get_line): Renamed to grub_file_getline.
19385 (read_config_file): Use the newly renamed grub_file_getline.
19386 (read_command_list): Likewise.
19387 (read_fs_list): Likewise.
19388 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19389 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19390
19391 * term/efi/console.c (grub_console_init): Add name parameter for auto
19392 generation of handler.lst.
19393 * term/gfxterm.c: Likewise.
19394 * term/i386/pc/at_keyboard.c: Likewise.
19395 * term/i386/pc/console.c: Likewise.
19396 * term/i386/pc/serial.c: Likewise.
19397 * term/i386/pc/vesafb.c: Likewise.
19398 * term/i386/pc/vga.c: Likewise.
19399 * term/i386/pc/vga_text.c: Likewise.
19400 * term/ieee1275/ofconsole.c: Likewise.
19401 * term/usb_keyboard.c: Likewise.
19402
19403 2009-04-14 Bean <bean123ch@gmail.com>
19404
19405 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19406 properly with null character.
19407
19408 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19409
19410 * configure: Remove.
19411 * config.h.in: Likewise.
19412 * stamp-h.in: Likewise.
19413 * DISTLIST: Likewise.
19414 * conf/common.mk: Likewise.
19415 * conf/i386-coreboot.mk: Likewise.
19416 * conf/i386-efi.mk: Likewise.
19417 * conf/i386-ieee1275.mk: Likewise.
19418 * conf/i386.mk: Likewise.
19419 * conf/i386-pc.mk: Likewise.
19420 * conf/powerpc-ieee1275.mk: Likewise.
19421 * conf/sparc64-ieee1275.mk: Likewise.
19422 * conf/x86_64-efi.mk: Likewise.
19423
19424 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19425 develop on GRUB.
19426
19427 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19428 David S. Miller <davem@davemloft.net>
19429
19430 * util/hostdisk.c (make_device_name): Fix buffer length
19431 calculations.
19432
19433 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19434
19435 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19436 <sys/param.h> and <sys/sysctl.h>.
19437 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19438 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19439 opening the device and reset them afterwards.
19440
19441 2009-04-13 Pavel Roskin <proski@gnu.org>
19442
19443 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19444 Reported by John Stanley <jpsinthemix@verizon.net>
19445
19446 2009-04-13 Robert Millan <rmh@aybabtu.com>
19447
19448 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19449 that name for menuentries when appropriate.
19450
19451 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19452
19453 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19454
19455 2009-04-13 Robert Millan <rmh@aybabtu.com>
19456
19457 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19458 to Linux, simply abort telling the user it's no longer supported.
19459
19460 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19461
19462 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19463 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19464 `freebsd_loadenv' only when devices.hints exist.
19465
19466 2009-04-13 Pavel Roskin <proski@gnu.org>
19467
19468 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19469
19470 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19471
19472 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19473 partition number.
19474 (grub_drive): Likewise.
19475
19476 2009-04-13 David S. Miller <davem@davemloft.net>
19477
19478 * kern/sparc64/ieee1275/ieee1275.c: New file.
19479 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19480 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19481 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19482 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19483 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19484 grub_ieee1275_alloc_physmem): Declare new exported functions.
19485
19486 * include/grub/sparc64/ieee1275/loader.h: New file.
19487 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19488 * include/grub/sparc64/kernel.h: Likewise.
19489 * loader/sparc64/ieee1275/linux.c: Likewise.
19490
19491 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19492 (grub_fstest_SOURCES): Likewise.
19493
19494 * util/hostdisk.c (make_device_name): Do not make any assumptions
19495 about the length of drive names.
19496
19497 * kern/dl.c (grub_dl_load_file): Close file immediately when
19498 we are done using it.
19499
19500 2009-04-12 David S. Miller <davem@davemloft.net>
19501
19502 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19503 values. Noticed by Pavel Roskin.
19504
19505 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19506 target compiler.
19507
19508 * genmk.rb: Add more flexible image type specification, also
19509 pass --strip-unneeded to objcopy.
19510 * conf/i386-pc.rmk: Use *_FORMAT.
19511 * conf/i386-pc.mk: Rebuilt.
19512
19513 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19514 (OFDISK_HASH_SZ): Define.
19515 (ofdisk_hash): New hash table.
19516 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19517 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19518 instead of device phandle which is not unique.
19519
19520 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19521 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19522 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19523 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19524 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19525 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19526 GRUB_KERNEL_MACHINE_DATA_END): Define.
19527 (grub_kernel_image_size, grub_total_module_size): Declare.
19528
19529 2009-04-12 Pavel Roskin <proski@gnu.org>
19530
19531 * configure.ac: Change the logic when we check for target tools.
19532 Do it when the target is specified and it's different from the
19533 specified value of the host.
19534
19535 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19536
19537 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19538 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19539 GNU/kFreeBSD. Check if a device is a character device. Use
19540 DIOCGMEDIASIZE to get the size.
19541 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19542 support for GNU/kFreeBSD.
19543 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19544 is a character device instead of a block device. Add support for
19545 FreeBSD device names.
19546
19547 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19548 is a character device instead of a block device.
19549
19550 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19551 is a character device instead of a block device.
19552
19553 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19554
19555 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19556 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19557 FreeBSD. Check if a device is a character device. Use
19558 DIOCGMEDIASIZE to get the size.
19559 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19560 support for FreeBSD.
19561 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19562 is a character device instead of a block device. Add support for
19563 FreeBSD device names.
19564
19565 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19566 a character device instead of a block device.
19567 (grub_util_check_char_device): New function.
19568
19569 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19570 a character device instead of a block device.
19571
19572 * include/grub/util/getroot.h (grub_util_check_char_device): New
19573 prototype.
19574
19575 2009-04-11 David S. Miller <davem@davemloft.net>
19576
19577 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19578 static libgcc.
19579 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19580 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19581 function, if present.
19582 (__bswapdi2): Likewise.
19583
19584 * include/grub/sparc64/ieee1275/boot.h: New file.
19585 * boot/sparc64/ieee1275/boot.S: Likewise.
19586 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19587
19588 * kern/misc.c (grub_ltoa): New function.
19589 (grub_vsprintf): Use it to format 'long' integers.
19590
19591 2009-04-10 David S. Miller <davem@davemloft.net>
19592
19593 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19594 slots are of type grub_ieee1275_cell_t.
19595 (grub_nand_read): Likewise.
19596 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19597 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19598 macros are used to compare values in arg/ret block of the call.
19599 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19600 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19601 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19602 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19603 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19604 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19605 grub_ieee1275_close, grub_ieee1275_set_property,
19606 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19607 grub_ieee1275_cell_t.
19608 * kern/ieee1275/openfw.c (grub_map): Likewise.
19609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19610 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19611
19612 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19613 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19614 (grub_devalias_iterate): Likewise.
19615
19616 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 UFS improvements
19619
19620 * fs/ufs.c (INODE_NBLOCKS): new definition
19621 (struct grub_ufs_dirent): added fields for non-BSD dirents
19622 (grub_ufs_get_file_block): fixed double indirect handling
19623 (grub_ufs_lookup_symlink): use more robust way to determine whether
19624 symlink is inline
19625 (grub_ufs_find_file): support for non-BSD dirents
19626 (grub_ufs_dir): support for non-BSD dirents
19627
19628 2009-04-10 Bean <bean123ch@gnail.com>
19629
19630 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19631 attribute, otherwise the size would be wrong for i386 platform.
19632
19633 * include/grub/pci.h (grub_pci_read_word): New inline function.
19634 (grub_pci_read_byte): Likewise.
19635 (grub_pci_write): Likewise.
19636 (grub_pci_write_word): Likewise.
19637 (grub_pci_write_byte): Likewise.
19638
19639 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19640
19641 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19642 (find_framebuf): Scan pci to locate the frame buffer address.
19643
19644 * commands/efi/fixvideo.c: New file.
19645
19646 * commands/efi/loadbios.c: Likewise.
19647
19648 * commands/memrw.c: Likewise.
19649
19650 * util/grub-dumpbios.in: Likewise.
19651
19652 * conf/common.rmk (grub-dumpbios): New utility.
19653 (pkglib_MODULES): New module memrw.mod.
19654 (memrw_mod_SOURCE): New macro.
19655 (memrw_mod_CFLAGS): Likewise.
19656 (memrw_mod_LDFLAGS): Likewise.
19657
19658 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19659 fixvideo.mod.
19660 (loadbios_mod_SOURCE): New macro.
19661 (loadbios_mod_CFLAGS): Likewise.
19662 (loadbios_mod_LDFLAGS): Likewise.
19663 (fixvideo_mod_SOURCE): Likewise.
19664 (fixvideo_mod_CFLAGS): Likewise.
19665 (fixvideo_mod_LDFLAGS): Likewise.
19666
19667 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19668 fixvideo.mod.
19669 (loadbios_mod_SOURCE): New macro.
19670 (loadbios_mod_CFLAGS): Likewise.
19671 (loadbios_mod_LDFLAGS): Likewise.
19672 (fixvideo_mod_SOURCE): Likewise.
19673 (fixvideo_mod_CFLAGS): Likewise.
19674 (fixvideo_mod_LDFLAGS): Likewise.
19675
19676 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19677
19678 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19679
19680 2009-04-07 David S. Miller <davem@davemloft.net>
19681
19682 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19683 support for R_SPARC_OLO10 relocations. Fix compile warning for
19684 R_SPARC_WDISP30 case.
19685 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19686
19687 2009-04-06 Pavel Roskin <proski@gnu.org>
19688
19689 * include/grub/misc.h (ARRAY_SIZE): New macro.
19690 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19691 New macro.
19692 * loader/i386/linux.c (allocate_pages): Use free_pages().
19693 (grub_linux_unload): Don't use free_pages().
19694 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19695 wrong index. Treat all other modes as text modes.
19696 (grub_cmd_linux): Initialize vid_mode unconditionally to
19697 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19698
19699 * commands/help.c (print_command_help): Use cmd->prio, not
19700 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19701
19702 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 Parttool
19705
19706 * parttool/pcpart.c: new file
19707 * commands/parttool.c: likewise
19708 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19709 (parttool_mod_SOURCES): new variable
19710 (parttool_mod_CFLAGS): likewise
19711 (parttool_mod_LDFLAGS): likewise
19712 (pcpart_mod_SOURCES): likewise
19713 (pcpart_mod_CFLAGS): likewise
19714 (pcpart_mod_LDFLAGS): likewise
19715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19716 and parttool/pcpart.c
19717 * conf/i386-efi.rmk: likewise
19718 * conf/i386-ieee1275.rmk: likewise
19719 * conf/i386-pc.rmk: likewise
19720 * conf/powerpc-ieee1275.rmk: likewise
19721 * conf/sparc64-ieee1275.rmk: likewise
19722 * conf/x86_64-ieee1275.rmk: likewise
19723
19724 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19725
19726 Support for mtime and further expandability of dir command
19727
19728 * include/grub/lib/datetime.h: moved to ...
19729 * include/grub/datetime.h: ... moved here and added
19730 declaration of grub_unixtime2datetime. All users updated
19731 * include/grub/fs.h: new syntax for dir and mtime functions in
19732 struct grub_fs
19733 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19734 and GRUB_FSHELP_FLAGS_MASK
19735 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19736 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19737 (grub_ext2_mtime): new function
19738 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19739 (grub_hfsplus_mtime): new function
19740 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19741 (GRUB_UFS_ATTR_FILE): likewise
19742 (GRUB_UFS_ATTR_LNK): likewise
19743 (struct grub_ufs_sblock): new fields mtime
19744 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19745 all users updated
19746 (grub_ufs_dir): mtime support
19747 (grub_ufs_mtime): new function
19748 * fs/affs.c (grub_affs_dir): use new dir syntax
19749 * fs/afs.c (grub_afs_dir): likewise
19750 * fs/cpio.c (grub_cpio_dir): likewise
19751 * fs/fat.c (grub_fat_find_dir): likewise
19752 * fs/hfs.c (grub_hfs_dir): likewise
19753 * fs/iso9660.c (grub_iso9660_dir): likewise
19754 * fs/jfs.c (grub_jfs_dir): likewise
19755 * fs/minix.c (grub_minix_dir): likewise
19756 * fs/ntfs.c (grub_ntfs_dir): likewise
19757 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19758 * fs/sfs.c (grub_sfs_dir): likewise
19759 * fs/xfs.c (grub_xfs_dir): likewise
19760 * util/hostfs.c (grub_hostfs_dir): likewise
19761 * lib/datetime.c: moved to ...
19762 * normal/datetime.c: ... moved here
19763 (grub_unixtime2datetime): new function
19764 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19765 * normal/completion.c (iterate_dir): use new dir syntax
19766 * normal/misc.c (grub_normal_print_device_info): tell the
19767 last modification time of a volume
19768 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19769 * conf/common.rmk: added lib/datetime.c to ls.mod
19770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19771 (normal_mod_SOURCES): likewise
19772 (datetime_mod_SOURCES): Removed lib/datetime.c
19773 * conf/i386-efi.rmk: likewise
19774 * conf/i386-ieee1275.rmk: likewise
19775 * conf/i386-pc.rmk: likewise
19776 * conf/powerpc-ieee1275.rmk: likewise
19777 * conf/sparc64-ieee1275.rmk: likewise
19778 * conf/x86_64-efi.rmk: likewise
19779
19780 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 Trim trailing spaces in FAT label and support mtools-like labels
19783
19784 * fs/fat.c (grub_fat_iterate_dir): New function based
19785 on grub_fat_find_dir
19786 (grub_fat_find_dir): use grub_fat_iterate_dir
19787 (grub_fat_label): likewise
19788
19789 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19792 and command.h
19793 remove extraneous kernel_elf_HEADERS
19794
19795 2009-04-04 Bean <bean123ch@gnail.com>
19796
19797 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19798
19799 * util/misc.c: Likewise.
19800
19801 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19802
19803 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19804 instead of grub_printf.
19805
19806 2009-04-03 Robert Millan <rmh@aybabtu.com>
19807
19808 * loader/i386/linux.c (grub_linux_setup_video): Fill
19809 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19810 values from `mode info' structure instead of hardcoded
19811 values.
19812
19813 2009-04-01 Pavel Roskin <proski@gnu.org>
19814
19815 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19816 unused now.
19817 * genmk.rb: Likewise.
19818 * configure.ac: Likewise.
19819
19820 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19821
19822 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19823 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19824
19825 2009-04-01 David S. Miller <davem@davemloft.net>
19826
19827 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19828 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19829 (grub_setjmp): Mark with 'returns_twice' attribute.
19830 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19831 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19832 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19833
19834 2009-04-01 Robert Millan <rmh@aybabtu.com>
19835
19836 Reapply fix from 2008-07-28 which was accidentally reverted; also
19837 perform the same fix to a similar check in same function.
19838
19839 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19840 with the same number are found, just use issue a warning with
19841 grub_dprintf(), as this error has been reported to be non-fatal.
19842
19843 2009-03-31 Pavel Roskin <proski@gnu.org>
19844
19845 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19846 for cross-compilation.
19847
19848 2009-03-30 Robert Millan <rmh@aybabtu.com>
19849
19850 Fix i386-ieee1275 build.
19851
19852 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19853 Remove declaration.
19854
19855 2009-03-30 Pavel Roskin <proski@gnu.org>
19856
19857 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19858 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19859 zero-terminated, rely only on the strlen value. Fix comparison
19860 of strings differing in length.
19861
19862 2009-03-30 Robert Millan <rmh@aybabtu.com>
19863
19864 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19865 checking for abi version. Improve error messages on BIOS to notify
19866 user about `linux16' command.
19867
19868 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 Leak fixes
19871
19872 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19873 in case of collision
19874 * disk/scsi.c (grub_scsi_open): free scsi in case of error
19875
19876 2009-03-29 Robert Millan <rmh@aybabtu.com>
19877
19878 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19879 set `vid_mode' accordingly.
19880 (grub_linux_boot): Process `vid_mode' and set video mode.
19881
19882 2009-03-29 Robert Millan <rmh@aybabtu.com>
19883
19884 * util/grub.d/10_linux.in (linux_entry): New function.
19885 Factorize generation of Linux boot entries.
19886
19887 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19888
19889 Make the format of Environment Block plain text. The boot loader
19890 part is not tested well yet.
19891
19892 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19893 (buffer): Removed.
19894 (envblk): Likewise.
19895 (usage): Remove "info" and "clear". Add "unset". Update the
19896 description of "set", as this does not delete variables any
19897 longer.
19898 (create_envblk_file): Complete rewrite.
19899 (open_envblk_file): Likewise.
19900 (cmd_info): Removed.
19901 (cmd_list): Likewise.
19902 (cmd_set): Likewise.
19903 (cmd_clear): Likewise.
19904 (list_variables): New function.
19905 (write_envblk): Likewise.
19906 (set_variables): Likewise.
19907 (unset_variables): Likewise.
19908 (main): Complete rewrite.
19909
19910 * commands/loadenv.c (buffer): Removed.
19911 (envblk): Likewise.
19912 (open_envblk_file): New function.
19913 (read_envblk_file): Complete rewrite.
19914 (grub_cmd_load_env): Likewise.
19915 (grub_cmd_list_env): Likewise.
19916 (struct blocklist): New struct.
19917 (free_blocklists): New function.
19918 (check_blocklists): Likewise.
19919 (write_blocklists): Likewise.
19920 (grub_cmd_save_env): Complete rewrite.
19921
19922 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19923 a plain text signature.
19924 (GRUB_ENVBLK_MAXLEN): Removed.
19925 (struct grub_envblk): Complete rewrite.
19926 (grub_envblk_find): Removed.
19927 (grub_envblk_insert): Likewise.
19928 (grub_envblk_open): New prototype.
19929 (grub_envblk_set): Likewise.
19930 (grub_envblk_delete): Put const to VALUE.
19931 (grub_envblk_iterate): Put const to NAME and VALUE.
19932 (grub_envblk_close): New prototype.
19933 (grub_envblk_buffer): New inline function.
19934 (grub_envblk_size): Likewise.
19935
19936 * lib/envblk.c: Include grub/mm.h.
19937 (grub_env_find): Removed.
19938 (grub_envblk_open): New function.
19939 (grub_envblk_close): Likewise.
19940 (escaped_value_len): Likewise.
19941 (find_next_line): Likewise.
19942 (grub_envblk_insert): Removed.
19943 (grub_envblk_set): New function.
19944 (grub_envblk_delete): Complete rewrite.
19945 (grub_envblk_iterate): Likewise.
19946
19947 2009-03-28 Robert Millan <rmh@aybabtu.com>
19948
19949 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19950 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19951 variables. Use 16-bit loader.
19952 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19953 loader.
19954 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19955 (grub_linux16_boot): ... this. Update all users.
19956 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19957 (grub_linux_boot): ... this. Update all users.
19958
19959 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19960 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19961 commands to `linux16' and `initrd16'.
19962 (GRUB_MOD_FINI(linux)): Rename to ...
19963 (GRUB_MOD_FINI(linux16)): ... this.
19964
19965 2009-03-24 Pavel Roskin <proski@gnu.org>
19966
19967 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19968 not just for compilation.
19969
19970 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 Move multiboot helper out of kernel
19973
19974 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19975 `loader/i386/multiboot_helper.S'.
19976 * conf/i386-coreboot.rmk: Likewise
19977 * conf/i386-ieee1275.rmk: Likewise
19978
19979 * kern/i386/loader.S: Move multiboot helpers from here...
19980 * loader/i386/multiboot_helper.S: ...moved here
19981 * include/grub/i386/loader.h: Move declarations of multiboot
19982 helpers from here...
19983 * include/grub/i386/multiboot.h: ...moved here
19984 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19985
19986 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19987
19988 * kern/env.c (grub_env_context_open): Added an argument to specify
19989 whether a new context inherits exported variables from current
19990 one. This is useful when making a sandbox to interpret a config
19991 file.
19992 All callers updated.
19993
19994 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19995
19996 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19997
19998 * kern/env.c (grub_env_context_close): Fix memory leaks.
19999
20000 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20001
20002 * normal/main.c (grub_normal_execute): Added an argument
20003 BATCH to specify if an interactive interface should be provided
20004 after reading a config file.
20005 All callers updated.
20006 (read_command_list): Prevent being executed twice.
20007 (read_fs_list): Likewise.
20008
20009 * include/grub/normal.h (grub_normal_execute): Updated the
20010 prototype.
20011
20012 2009-03-22 Pavel Roskin <proski@gno.org>
20013
20014 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20015 _start.
20016 * kern/i386/pc/startup.S: Likewise.
20017 * kern/i386/efi/startup.S: Likewise.
20018 * kern/i386/ieee1275/startup.S: Likewise.
20019 * kern/i386/coreboot/startup.S: Likewise.
20020 * kern/x86_64/efi/startup.S: Likewise.
20021
20022 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20023 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20024 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20025
20026 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20027
20028 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20029
20030 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20031 limit detection.
20032 Use vaddr of correct segment for entry_point.
20033
20034 2009-03-21 Bean <bean123ch@gmail.com>
20035
20036 * commands/blocklist.c: Add include file <grub/command.h>, remove
20037 <grub/normal.h> and <grub/arg.h>.
20038 (grub_cmd_blocklist): Use the new command interface.
20039 (GRUB_MOD_INIT): Likewise.
20040 (GRUB_MOD_FINI): Likewise.
20041 * commands/boot.c: Likewise.
20042 * commands/cat.c: Likewise.
20043 * commands/cmp.c: Likewise.
20044 * commands/configfile.c: Likewise.
20045 * commands/crc.c: Likewise.
20046 * commands/echo.c: Likewise.
20047 * commands/halt.c: Likewise.
20048 * commands/handler.c: Likewise.
20049 * commands/hdparm.c: Likewise.
20050 * commands/help.c: Likewise.
20051 * commands/hexdump.c: Likewise.
20052 * commands/loadenv.c: Likewise.
20053 * commands/ls.c: Likewise.
20054 * commands/lsmmap.c: Likewise.
20055 * commands/lspci.c: Likewise.
20056 * commands/loadenv.c: Likewise.
20057 * commands/read.c: Likewise.
20058 * commands/reboot.c: Likewise.
20059 * commands/search.c: Likewise.
20060 * commands/sleep.c: Likewise.
20061 * commands/test.c: Likewise.
20062 * commands/usbtest.c: Likewise.
20063 * commands/videotest.c: Likewise.
20064 * commands/i386/cpuid.c: Likewise.
20065 * commands/i386/pc/halt.c: Likewise.
20066 * commands/i386/pc/play.c: Likewise.
20067 * commands/i386/pc/pxecmd.c: Likewise.
20068 * commands/i386/pc/vbeinfo.c: Likewise.
20069 * commands/i386/pc/vbetest.c: Likewise.
20070 * commands/ieee1275/suspend.c: Likewise.
20071 * disk/loopback.c: Likewise.
20072 * font/font_cmd.c: Likewise.
20073 * hello/hello.c: Likewise.
20074 * loader/efi/appleloader.c: Likewise.
20075 * loader/efi/chainloader.c: Likewise.
20076 * loader/i386/bsd.c: Likewise.
20077 * loader/i386/efi/linux.c: Likewise.
20078 * loader/i386/ieee1275/linux.c: Likewise.
20079 * loader/i386/linux.c: Likewise.
20080 * loader/i386/pc/chainloader.c: Likewise.
20081 * loader/i386/pc/linux.c: Likewise.
20082 * loader/powerpc/ieee1275/linux.c: Likewise.
20083 * loader/multiboot_loader.c: Likewise.
20084 * term/gfxterm.c: Likewise.
20085 * term/i386/pc/serial.c: Likewise.
20086 * term/terminfo.c: Likewise.
20087
20088 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20089 * term/i386/pc/vga.c: Likewise.
20090 * video/readers/jpeg.c: Likewise.
20091 * video/readers/png.c: Likewise.
20092 * video/readers/tga.c: Likewise.
20093
20094 * util/grub-fstest (cmd_loopback): Removed.
20095 (cmd_blocklist): Likewise.
20096 (cmd_ls): Likewise.
20097 (grub_register_command): Likewise.
20098 (grub_unregister_command): Likewise.
20099 (execute_command): Use grub_command_find to locate command and execute
20100 it.
20101
20102 * include/grub/efi/chainloader.h: Removed.
20103 * loader/efi/chainloader_normal.c: Likewise.
20104 * loader/i386/bsd_normal.c: Likewise.
20105 * loader/i386/pc/chainloader_normal.c: Likewise.
20106 * loader/i386/pc/multiboot_normal.c: Likewise.
20107 * loader/linux_normal.c: Likewise.
20108 * loader/multiboot_loader_normal.c: Likewise.
20109 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20110
20111 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20112 and grub_register_command_p1.
20113
20114 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20115 kern/command.c, lib/arg.c and commands/extcmd.c.
20116 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20117 (minicmd_mod_SOURCES): New variable.
20118 (minicmd_mod_CFLAGS): Likewise.
20119 (minicmd_mod_LDFLAGS): Likewise.
20120 (extcmd_mod_SOURCES): Likewise.
20121 (extcmd_mod_CFLAGS): Likewise.
20122 (extcmd_mod_LDFLAGS): Likewise.
20123 (boot_mod_SOURCES): Removed.
20124 (boot_mod_CFLAGS): Likewise.
20125 (boot_mod_LDFLAGS): Likewise.
20126
20127 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20128 kern/corecmd.c.
20129 (kernel_img_HEADERS): Add command.h.
20130 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20131 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20132 and lib/arg.c.
20133 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20134 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20135 remove the corresponding normal mode command.
20136 (normal_mod_SOURCES): Remove normal/arg.c.
20137 * conf/i386-coreboot.rmk: Likewise.
20138 * conf/i386-efi.rmk: Likewise.
20139 * conf/i386-ieee1275.rmk: Likewise.
20140 * conf/powerpc-ieee1275.rmk: Likewise.
20141 * conf/x86_64-efi.rmk: Likewise.
20142
20143 * include/grub/arg.h: Move from here ...
20144 * include/grub/lib/arg.h: ... to here.
20145
20146 * normal/arg.c: Move from here ...
20147 * lib/arg.c: ... to here.
20148
20149 * commands/extcmd.c: New file.
20150 * commands/minicmd.c: Likewise.
20151 * include/grub/command.h: Likewise.
20152 * include/grub/extcmd.h: Likewise.
20153 * kern/command.c: Likewise.
20154 * kern/corecmd.c: Likewise.
20155
20156 * kern/list.c (grub_list_iterate): Return int instead of void.
20157 (grub_list_insert): New function.
20158 (grub_prio_list_insert): Likewise.
20159
20160 * kern/rescue.c (grub_rescue_command): Removed.
20161 (grub_rescue_command_list): Likewise.
20162 (grub_rescue_register_command): Likewise.
20163 (grub_rescue_unregister_command): Likewise.
20164 (grub_rescue_cmd_boot): Move to minicmd.c
20165 (grub_rescue_cmd_help): Likewise.
20166 (grub_rescue_cmd_info): Likewise.
20167 (grub_rescue_cmd_boot): Likewise.
20168 (grub_rescue_cmd_testload): Likewise.
20169 (grub_rescue_cmd_dump): Likewise.
20170 (grub_rescue_cmd_rmmod): Likewise.
20171 (grub_rescue_cmd_lsmod): Likewise.
20172 (grub_rescue_cmd_exit): Likewise.
20173 (grub_rescue_print_devices): Moved to corecmd.c.
20174 (grub_rescue_print_files): Likewise.
20175 (grub_rescue_cmd_ls): Likewise.
20176 (grub_rescue_cmd_insmod): Likewise.
20177 (grub_rescue_cmd_set): Likewise.
20178 (grub_rescue_cmd_unset): Likewise.
20179 (attempt_normal_mode): Use grub_command_find to get normal module.
20180 (grub_enter_rescue_mode): Use grub_register_core_commands to register
20181 commands, remove grub_rescue_register_command calls.
20182
20183 * normal/command.c (grub_register_command): Removed.
20184 (grub_unregister_command): Likewise.
20185 (grub_command_find): Likewise.
20186 (grub_iterate_commands): Likewise.
20187 (rescue_command): Likewise.
20188 (export_command): Moved to corecmd.c.
20189 (set_command): Removed.
20190 (unset_command): Likewise.
20191 (insmod_command): Likewise.
20192 (rmmod_command): Likewise.
20193 (lsmod_command): Likewise.
20194 (grub_command_init): Likewise.
20195
20196 * normal/completion.c (iterate_command): Use cmd->prio to check for
20197 active command.
20198 (complete_arguments): Use grub_extcmd_t structure to find options.
20199 (grub_normal_do_completion): Change function grub_iterate_commands to
20200 grub_command_iterate.
20201
20202 * normal/execute.c (grub_script_execute_cmd): No need to parse
20203 argument here.
20204
20205 * normal/main.c (grub_dyncmd_dispatcher): New function.
20206 (read_command_list): Register unload commands as dyncmd.
20207 (grub_cmd_normal): Use new command interface, register rescue,
20208 unregister normal at entry, register normal, unregister rescue at exit.
20209
20210 * include/grub/list.h (grub_list_test_t): New type.
20211 (grub_list_iterate): Return int instead of void.
20212 (grub_list_insert): New function.
20213 (GRUB_AS_NAMED_LIST_P): New macro.
20214 (GRUB_AS_PRIO_LIST): Likewise.
20215 (GRUB_AS_PRIO_LIST_P): Likewise.
20216 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20217 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20218 (grub_prio_list): New structure.
20219 (grub_prio_list_insert): New function.
20220 (grub_prio_list_remove): New inline function.
20221
20222 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20223 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20224 (GRUB_COMMAND_FLAG_MENU): Likewise.
20225 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20226 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20227 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20228 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20229 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20230 (grub_command): Likewise.
20231 (grub_register_command): Likewise.
20232 (grub_command_find): Likewise.
20233 (grub_iterate_commands): Likewise.
20234 (grub_command_init): Likewise.
20235 (grub_arg_parse): Likewise.
20236 (grub_arg_show_help): Likewise.
20237
20238 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20239 (grub_rescue_unregister_command): Likewise.
20240
20241 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20242 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20243 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20244
20245 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20246 grub_rescue_cmd_initrd.
20247 * include/grub/i386/loader.h: Likewise.
20248 * include/grub/x86_64/loader.h: Likewise.
20249
20250 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20251
20252 2009-03-21 Bean <bean123ch@gmail.com>
20253
20254 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20255 instead of stat in mingw environment.
20256
20257 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20258
20259 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20260
20261 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20262 AC_CONFIG_LINKS.
20263
20264 2009-03-21 Bean <bean123ch@gmail.com>
20265
20266 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20267 out of range error.
20268
20269 2009-03-18 Michel Dänzer <michel@daenzer.net>
20270
20271 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20272 checking inode flags for EXT4_EXTENTS_FLAG.
20273
20274 2009-03-18 Robert Millan <rmh@aybabtu.com>
20275
20276 * loader/i386/linux.c: Include `<grub/video.h>' and
20277 `<grub/i386/pc/vbe.h>'..
20278 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20279 (grub_linux32_boot): Attempt to configure video settings with
20280 grub_linux_setup_video().
20281 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20282 to avoid grub_console_fini() which would step out of graphical mode
20283 unconditionally.
20284
20285 2009-03-14 Robert Millan <rmh@aybabtu.com>
20286
20287 Fix build on powerpc.
20288 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20289
20290 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20293 background image command.
20294
20295 2009-03-12 Colin D Bennett <colin@gibibit.com>
20296
20297 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20298 (grub_gfxterm_putchar): Extract pairs of identical calls to
20299 draw_cursor out of conditional blocks.
20300
20301 2009-03-11 Pavel Roskin <proski@gnu.org>
20302
20303 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20304 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20305
20306 2009-03-11 Robert Millan <rmh@aybabtu.com>
20307
20308 * loader/i386/multiboot_elfxx.c
20309 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20310
20311 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20312
20313 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20314 `kern/handler.c'.
20315
20316 2009-03-11 Robert Millan <rmh@aybabtu.com>
20317
20318 * loader/i386/multiboot.c (code_size): New variable.
20319 (grub_multiboot): Define offsets by adding to `code_size' rather
20320 than subtracting from `grub_multiboot_payload_size'. Provide
20321 4-byte alignment to MBI and others by increasing
20322 `boot_loader_name_length' appropriately.
20323
20324 * loader/i386/multiboot_elfxx.c
20325 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20326
20327 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20328
20329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20330 `fs/ext2.c'.
20331
20332 2009-03-08 Robert Millan <rmh@aybabtu.com>
20333
20334 Make loader/i386/linux.c usable on i386-pc again.
20335
20336 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20337 memory to heap.
20338 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20339 `#error' stanza.
20340
20341 2009-03-07 Bean <bean123ch@gmail.com>
20342
20343 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20344 allocation.
20345
20346 2009-03-06 Robert Millan <rmh@aybabtu.com>
20347
20348 Fix display issue on terminals with screen size other than 80x25
20349 (e.g. gfxterm with resolution higher than 640x480).
20350
20351 * normal/main.c (grub_normal_init_page): Display title text in a
20352 position relative to the center of the terminal instead of relying
20353 on a hardcoded offset.
20354
20355 2009-03-04 Robert Millan <rmh@aybabtu.com>
20356
20357 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20358 installed.
20359
20360 * Makefile.in (host_kernel): New variable.
20361 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20362 scripts instead of just the windows one.
20363 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20364
20365 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20366
20367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20368 `kern/handler.c'.
20369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20370 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20373 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20375
20376 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20377
20378 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20379 or if there's no space for the disk label and print the partition number on a
20380 invalid magic.
20381
20382 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20383
20384 * util/misc.c: Include <time.h>.
20385 (grub_millisleep): New function.
20386
20387 2009-03-04 Bean <bean123ch@gmail.com>
20388
20389 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20390 another option -mno-red-zone.
20391
20392 * commands/handler.c: Change module description.
20393
20394 * kern/handler.c: Add missing space at the end of description line.
20395
20396 * kern/list.c: Likewise.
20397
20398 2009-03-03 Robert Millan <rmh@aybabtu.com>
20399
20400 Move more components to the relocation area, and fix mbi pointer
20401 handling to use the destination rather than the origin (thanks to
20402 Vladimir Serbinenko for spotting).
20403
20404 * loader/i386/multiboot.c (mbi_dest): New variable.
20405 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20406 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20407 relocation area.
20408
20409 2009-03-01 Bean <bean123ch@gmail.com>
20410
20411 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20412 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20413 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20414 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20415
20416 * loader/i386/efi/linux.c (acpi_guid): New variable.
20417 (acpi_guid): Likewise.
20418 (EBDA_SEG_ADDR): New constant.
20419 (LOW_MEM_ADDR): Likewise.
20420 (FAKE_EBDA_SEG): Likewise.
20421 (fake_bios_data): New function.
20422 (grub_linux_boot): Call fake_bios_data.
20423
20424 2009-03-01 Bean <bean123ch@gmail.com>
20425
20426 * commands/terminal.c: Removed.
20427
20428 * commands/handler.c: New file.
20429
20430 * include/grub/list.h: Likewise.
20431
20432 * include/grub/handler.h: Likewise.
20433
20434 * kern/list.c: Likewise.
20435
20436 * kern/handler.c: Likewise.
20437
20438 * kern/term.h: Include header file <grub/handler.h>.
20439 (grub_term_input): Move next field to the beginning.
20440 (grub_term_output): Likewise.
20441 (grub_term_input_class): New variable.
20442 (grub_term_output_class): Likewise.
20443 (grub_term_register_input): Changed to inline function.
20444 (grub_term_register_output): Likewise.
20445 (grub_term_unregister_input): Likewise.
20446 (grub_term_unregister_output): Likewise.
20447 (grub_term_set_current_input): Likewise.
20448 (grub_term_set_current_output): Likewise.
20449 (grub_term_get_current_input): Likewise.
20450 (grub_term_get_current_output): Likewise.
20451 (grub_term_iterate_input): Removed.
20452 (grub_term_iterate_output): Likewise.
20453
20454 * kern/term.c (grub_term_list_input): Removed.
20455 (grub_term_list_output): Likewise.
20456 (grub_term_input_class): New variable.
20457 (grub_term_output_class): Likewise.
20458 (grub_cur_term_input): Change variable as macro.
20459 (grub_cur_term_output): Likewise.
20460 (grub_term_register_input): Removed.
20461 (grub_term_register_output): Likewise.
20462 (grub_term_unregister_input): Likewise.
20463 (grub_term_unregister_output): Likewise.
20464 (grub_term_set_current_input): Likewise.
20465 (grub_term_set_current_output): Likewise.
20466 (grub_term_iterate_input): Likewise.
20467 (grub_term_iterate_output): Likewise.
20468 (grub_term_get_current_input): Likewise.
20469 (grub_term_get_current_output): Likewise.
20470
20471 * util/grub-editenv.c: Include header file <grub/handler.h>.
20472 (grub_term_get_current_input): Removed.
20473 (grub_term_get_current_output): Likewise.
20474 (grub_term_input_class): New variable.
20475 (grub_term_output_class): Likewise.
20476
20477 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20478 (grub_term_get_current_output): Likewise.
20479 (grub_term_input_class): New variable.
20480 (grub_term_output_class): Likewise.
20481
20482 * util/grub-probe.c (grub_term_get_current_input): Removed.
20483 (grub_term_get_current_output): Likewise.
20484 (grub_term_input_class): New variable.
20485 (grub_term_output_class): Likewise.
20486
20487 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20488 (grub_term_get_current_output): Likewise.
20489 (grub_term_input_class): New variable.
20490 (grub_term_output_class): Likewise.
20491
20492 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20493 (terminal_mod_SOURCES): Likewise.
20494 (terminal_mod_CFLAGS): Likewise.
20495 (terminal_mod_LDFLAGS): Likewise.
20496
20497 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20498 handler.c.
20499 (kernel_img_SOURCES): Add list.c and handler.c.
20500 (kernel_img_HEADERS): Add list.h and handler.h.
20501
20502 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20503 handler.c.
20504 (kernel_mod_SOURCES): Add list.c and handler.c.
20505 (kernel_mod_HEADERS): Add list.h and handler.h.
20506
20507 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20508 handler.c.
20509 (kernel_elf_SOURCES): Add list.c and handler.c.
20510 (kernel_elf_HEADERS): Add list.h and handler.h.
20511
20512 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20513 handler.c.
20514 (kernel_elf_SOURCES): Add list.c and handler.c.
20515 (kernel_elf_HEADERS): Add list.h and handler.h.
20516
20517 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20518 handler.c.
20519 (kernel_mod_SOURCES): Add list.c and handler.c.
20520 (kernel_mod_HEADERS): Add list.h and handler.h.
20521
20522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20523 handler.c.
20524 (kernel_elf_SOURCES): Add list.c and handler.c.
20525 (kernel_elf_HEADERS): Add list.h and handler.h.
20526
20527 2009-02-27 Robert Millan <rmh@aybabtu.com>
20528
20529 Factorize elf32 / elf64 code in Multiboot loader. This will
20530 prevent it from getting out of sync again.
20531
20532 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20533 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20534 grub_multiboot_load_elf64): Move from here ...
20535 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20536 grub_multiboot_load_elf): ... to here (new file).
20537
20538 2009-02-27 Robert Millan <rmh@aybabtu.com>
20539
20540 * util/grub.d/10_linux.in: Rename "single-user mode" to
20541 "recovery mode".
20542
20543 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 Don't leak in SCSI code.
20546 * disk/scsi.c (grub_scsi_close): free `scsi'.
20547
20548 2009-02-27 Robert Millan <rmh@aybabtu.com>
20549
20550 * loader/i386/pc/multiboot.c: Move from here ...
20551 * loader/i386/multiboot.c: ... to here. Update all users.
20552
20553 2009-02-27 Robert Millan <rmh@aybabtu.com>
20554
20555 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20556 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20557
20558 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20559
20560 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20561 b-tree.
20562
20563 2009-02-27 Robert Millan <rmh@aybabtu.com>
20564
20565 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20566 `0x' qualifier as 0 when base is specified as parameter).
20567
20568 2009-02-24 Bean <bean123ch@gmail.com>
20569
20570 * configure.ac: Check for -mcmodel=large in x86_64 target.
20571
20572 * include/grub/efi/api.h (efi_call_10): New macro.
20573 (efi_wrap_10): New function.
20574
20575 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20576 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20577 (GRUB_PE32_REL_BASED_LOW): Likewise.
20578 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20579 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20580 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20581 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20582 (GRUB_PE32_REL_BASED_REL): Likewise.
20583 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20584 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20585 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20586
20587 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20588 issue.
20589
20590 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20591 (efi_wrap_10): New function.
20592
20593 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20594
20595 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20596 MB/MBP model (NV chipset).
20597 (devdata_devs): Add devpath_5 to the list.
20598
20599 * load/i386/efi/linux.c (video_base): Remove variable.
20600 (RGB_MASK): New macro.
20601 (RGB_MAGIC): Likewise.
20602 (LINE_MIN): Likewise.
20603 (LINE_MAX): Likewise.
20604 (FBTEST_STEP): Likewise.
20605 (FBTEST_COUNT): Likewise.
20606 (fb_list): New variable.
20607 (grub_find_video_card): Remove function.
20608 (find_framebuf): New function.
20609 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20610 line length.
20611
20612 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20613 problem for x86_64.
20614
20615 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20616
20617 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20618
20619 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20620 coding tool name.
20621
20622 2009-02-22 Robert Millan <rmh@aybabtu.com>
20623
20624 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20625 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20626 in our relocation, instead of using it directly from heap. Also
20627 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20628
20629 2009-02-21 Robert Millan <rmh@aybabtu.com>
20630
20631 Implement USB keyboard support (based on patch by Marco Gerards)
20632
20633 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20634 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20635 (usb_keyboard_mod_LDFLAGS): New variables.
20636
20637 * term/usb_keyboard.c: New file.
20638
20639 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 Corrected wrong declaration
20642
20643 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20644
20645 2009-02-14 Christian Franke <franke@computer.org>
20646
20647 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20648 (grub_lspci_iter): Print class code and programming interface byte.
20649
20650 2009-02-14 Christian Franke <franke@computer.org>
20651
20652 * gendistlist.sh: Ignore `.svn' directories.
20653
20654 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20655
20656 * fs/fat.c: Add 2009 to Copyright line.
20657
20658 2009-02-14 Christian Franke <franke@computer.org>
20659
20660 * commands/hdparm.c: New file. Provides `hdparm' command
20661 which sends ATA commands via grub_disk_ata_pass_through ().
20662
20663 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20664
20665 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20666 and <grub/cpu/io.h> to include/grub/ata.h.
20667 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20668 (GRUB_CDROM_SECTOR_SIZE): Remove.
20669 (GRUB_ATA_*): Move to include/grub/ata.h.
20670 (GRUB_ATAPI_*): Likewise.
20671 (enum grub_ata_commands): Likewise.
20672 (enum grub_ata_timeout_milliseconds): Likewise.
20673 (struct grub_ata_device): Likewise.
20674 (grub_ata_regset): Likewise.
20675 (grub_ata_regget): Likewise.
20676 (grub_ata_regset2): Likewise.
20677 (grub_ata_regget2): Likewise.
20678 (grub_ata_check_ready): Likewise.
20679 (grub_ata_wait_not_busy): Remove static, exported in
20680 include/grub/ata.h.
20681 (grub_ata_wait_drq): Likewise.
20682 (grub_ata_pio_read): Likewise.
20683
20684 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20685 function for hdparm.mod.
20686
20687 * include/grub/ata.h: New file, contains declarations from
20688 disk/ata.c.
20689 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20690
20691 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20692 (grub_disk_ata_pass_through): New exported variable.
20693
20694 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20695
20696 2009-02-13 Colin D Bennett <colin@gibibit.com>
20697
20698 Support multiple fallback entries, and provide an API to support
20699 executing default+fallback menu entries. Renamed the `terminal' menu
20700 viewer to `text'.
20701
20702 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20703 variable declaration.
20704 (grub_menu_execute_callback): New structure declaration.
20705 (grub_menu_execute_callback_t): New typedef.
20706 (grub_menu_execute_with_fallback): New function declaration.
20707 (grub_menu_get_entry): Likewise.
20708 (grub_menu_get_timeout): Likewise.
20709 (grub_menu_set_timeout): Likewise.
20710
20711 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20712
20713 * normal/menu.c (grub_wait_after_message): Moved to
20714 `normal/menu_text.c'.
20715 (draw_border): Likewise.
20716 (print_message): Likewise.
20717 (print_entry): Likewise.
20718 (print_entries): Likewise.
20719 (grub_menu_init_page): Likewise.
20720 (get_entry_number): Likewise.
20721 (print_timeout): Likewise.
20722 (run_menu): Likewise.
20723 (grub_menu_execute_entry): Likewise.
20724 (show_text_menu): Likewise.
20725 (get_and_remove_first_entry_number): New function.
20726 (grub_menu_execute_with_fallback): Likewise.
20727 (get_entry): Renamed to ...
20728 (grub_menu_get_entry): .. this and made it global.
20729 (get_timeout): Renamed to ...
20730 (grub_menu_get_timeout): ... this and made it global.
20731 (set_timeout): Renamed to ...
20732 (grub_menu_set_timeout): ... this and made it global.
20733 (grub_normal_terminal_menu_viewer): Renamed to ...
20734 (grub_normal_text_menu_viewer): ... this.
20735
20736 * normal/menu_text.c: New file. Extracted text-menu-specific code
20737 from normal/menu.c.
20738
20739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20740 (normal_mod_SOURCES): Likewise.
20741
20742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20743 (normal_mod_SOURCES): Likewise.
20744
20745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20746 (normal_mod_SOURCES): Likewise.
20747
20748 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20749 (normal_mod_SOURCES): Likewise.
20750
20751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20752 (normal_mod_SOURCES): Likewise.
20753
20754 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20755 (normal_mod_SOURCES): Likewise.
20756
20757 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20758 (normal_mod_SOURCES): Likewise.
20759
20760 2009-02-11 Robert Millan <rmh@aybabtu.com>
20761
20762 * util/grub.d/00_header.in: Update old reference to `font' command.
20763
20764 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20765
20766 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20767
20768 Based on patch from Javier Martín.
20769
20770 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20771
20772 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20773 to avoid false positives with FAT.
20774 (grub_fstest_SOURCES): Likewise.
20775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20776 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20781
20782 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20783
20784 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20785 bpb.version_specific.fat12_or_fat16.fstype and
20786 bpb.version_specific.fat32.fstype.
20787
20788 2009-02-08 Robert Millan <rmh@aybabtu.com>
20789
20790 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20791
20792 2009-02-08 Robert Millan <rmh@aybabtu.com>
20793
20794 * Makefile.in (host_os, host_cpu): New variables.
20795 (target_os): Remove. Update all users.
20796
20797 2009-02-08 Marco Gerards <marco@gnu.org>
20798
20799 * Makefile.in (enable_grub_emu_usb): New variable.
20800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20801 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20802 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20803 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20804 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20805 `usbtest.mod' and `usbms.mod'.
20806 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20807 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20808 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20809 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20810 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20811 variables.
20812
20813 * disk/usbms.c: New file.
20814
20815 * include/grub/usb.h: Likewise.
20816
20817 * include/grub/usbtrans.h: Likewise.
20818
20819 * include/grub/usbdesc.h: Likewise.
20820
20821 * bus/usb/usbtrans.c: Likewise.
20822
20823 * bus/usb/ohci.c: Likewise.
20824
20825 * bus/usb/uhci.c: Likewise.
20826
20827 * bus/usb/usbhub.c: Likewise.
20828
20829 * bus/usb/usb.c: Likewise.
20830
20831 * commands/usbtest.c: Likewise.
20832
20833 * util/usb.c: Likewise.
20834
20835 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20836
20837 * configure.ac: Test for libusb presence.
20838
20839 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20840
20841 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20842
20843 * kern/mm.c: Add more comments.
20844
20845 2009-02-08 Robert Millan <rmh@aybabtu.com>
20846
20847 Patch from Javier Martín.
20848 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20849 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20850
20851 2009-02-08 Robert Millan <rmh@aybabtu.com>
20852
20853 * fs/cpio.c: Split tar functionality to ...
20854 * fs/tar.c: ... here (new file). Update all users.
20855
20856 2009-02-07 Robert Millan <rmh@aybabtu.com>
20857
20858 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20859 backward-incompatible features.
20860
20861 Based on patch from Javier Martín, with some adjustments.
20862
20863 2009-02-07 Michael Scherer <misc@mandriva.org>
20864
20865 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20866
20867 2009-02-07 Robert Millan <rmh@aybabtu.com>
20868
20869 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20870 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20871 after the RAID stuff.
20872
20873 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20874
20875 Fixes problem when running vbetest command as reported by
20876 Vladimir Serbinenko <phcoder@gmail.com>.
20877
20878 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20879
20880 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
20881
20882 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20883 /dev/md/NpN style mdraid devices.
20884
20885 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20886
20887 * util/unifont2pff.rb: Remove.
20888
20889 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20890
20891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20892 `#'.
20893
20894 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20895
20896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20897 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20898 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20901 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20903
20904 2009-02-02 Christian Franke <franke@computer.org>
20905
20906 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20907
20908 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
20909
20910 * INSTALL: Note that we now require at least autoconf 2.59 and
20911 that LZO is optional.
20912
20913 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20914
20915 Base on patch on bug #24154 created by Tomas Tintera
20916 <trosos@seznam.cz>.
20917
20918 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20919
20920 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20921
20922 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
20923 <bero@arklinux.org>.
20924
20925 * normal/parser.y (script_init): Add missing semicolon.
20926
20927 2009-01-31 Colin D Bennett <colin@gibibit.com>
20928
20929 * normal/main.c: Add include to grub/menu_viewer.h.
20930 (free_menu_entry_classes): Added.
20931 (grub_normal_menu_addentry): Added class property handling.
20932 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20933 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20934
20935 * normal/menu_viewer.c: New file.
20936
20937 * normal/menu.c (run_menu_entry): Renamed to ...
20938 (grub_menu_execute_entry): ... this and made it as global.
20939 (grub_menu_run): Renamed to ...
20940 (show_text_menu): ... this and made it local.
20941 (show_text_menu): Adapt to new function names.
20942 (grub_normal_terminal_menu_viewer): New global variable.
20943
20944 * include/grub/menu.h: New file.
20945
20946 * include/grub/menu_viewer.h: New file.
20947
20948 * include/grub/normal.h: Added include to grub/menu.h.
20949 (grub_menu_entry): Moved to include/grub/menu.h.
20950 (grub_menu_entry_t): Likewise.
20951 (grub_menu): Likewise.
20952 (grub_menu_t): Likewise.
20953 (grub_normal_terminal_menu_viewer): Added.
20954 (grub_menu_execute_entry): Likewise.
20955 (grub_menu_run): Removed.
20956
20957 * DISTLIST: Added include/grub/menu.h.
20958 Added include/grub/menu_viewer.h.
20959 Added normal/menu_viewer.c.
20960
20961 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20962
20963 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20964 arglist for menutitle arguments.
20965
20966 * normal/main.c (grub_normal_menu_addentry): Likewise.
20967
20968 * normal/parser.y (menuentry): Likewise.
20969
20970 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20971
20972 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20973 (grub_script_create_cmdmenu): Likewise.
20974
20975 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20976
20977 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20978 changes.
20979
20980 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20981
20982 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20983
20984 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20985
20986 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20987
20988 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20989
20990 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20991
20992 2009-01-30 Christian Franke <franke@computer.org>
20993
20994 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20995 in option help text.
20996
20997 2009-01-27 Pavel Roskin <proski@gnu.org>
20998
20999 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21000
21001 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21002
21003 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21004
21005 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21006
21007 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21008 unregister function.
21009
21010 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21011
21012 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21013
21014 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21015
21016 * util/grub-mkfont.c (usage): Fix typo.
21017
21018 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21019
21020 2009-01-26 Daniel Mierswa <impulze@impulze.org>
21021
21022 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21023
21024 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21025
21026 * kern/misc.c (grub_strcasecmp): New function.
21027 (grub_strcasecmp): Use grub_size_t instead of int for length.
21028 Fix return value.
21029 * include/grub/misc.h: Update function prototypes.
21030
21031 2009-01-26 Robert Millan <rmh@aybabtu.com>
21032
21033 * configure.ac: Fix cross-compilation check.
21034
21035 2009-01-22 Christian Franke <franke@computer.org>
21036
21037 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21038 (precision) digit string. Allow `.format2' without `format1' (width).
21039 Limit input chars for `%s' output to `format2' if specified. This is
21040 compatible with standard printf ().
21041
21042 2009-01-22 Christian Franke <franke@computer.org>
21043
21044 * disk/ata.c (grub_ata_wait_status): Replace by ...
21045 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21046 other status bits may be invalid while BSY is asserted.
21047 (grub_ata_check_ready): New function.
21048 (grub_ata_cmd): Removed.
21049 (grub_ata_wait_drq): New function.
21050 (grub_ata_strncpy): Remove inline.
21051 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21052 and error check now done by grub_ata_wait_drq ().
21053 (grub_ata_pio_write): Likewise.
21054 (grub_atapi_identify): Set DEV before check for !BSY. Use
21055 grub_ata_wait_drq () to wait for data.
21056 (grub_ata_device_initialize): Add status register check to
21057 detect missing SATA slave devices. Add debug messages.
21058 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21059 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21060 transfer loop by grub_ata_pio_write ().
21061 (grub_ata_identify): Set DEV before check for !BSY. Use
21062 grub_ata_wait_drq () to wait for data.
21063 (grub_ata_setaddress): Set DEV before check for !BSY.
21064 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21065 read/write in one loop. Fix invalid command on write. Fix incomplete
21066 command on (size % batch) == 0. Add missing error check after write of
21067 last block. Add debug messages.
21068 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21069
21070 2009-01-19 Christian Franke <franke@computer.org>
21071
21072 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21073 (GRUB_ATAPI_IREASON_*): Likewise.
21074 (grub_ata_pio_write): Fix timeout error return.
21075 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21076 (grub_atapi_wait_drq): New function.
21077 (grub_atapi_packet): New parameter `size'.
21078 Use grub_atapi_wait_drq () and direct write instead of
21079 grub_ata_pio_write ().
21080 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21081 reads the number of bytes requested by the device for each DRQ
21082 assertion.
21083 (grub_atapi_write): Remove old implementation, return not
21084 implemented instead.
21085
21086 2009-01-19 Christian Franke <franke@computer.org>
21087
21088 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21089 of 512 to calculate data size.
21090 (grub_scsi_read12): Likewise.
21091 (grub_scsi_write10): Likewise.
21092 (grub_scsi_write12): Likewise.
21093 (grub_scsi_read): Adjust size according to blocksize.
21094 Add checks for invalid blocksize and unaligned transfer.
21095
21096 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21097
21098 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21099
21100 * term/gfxterm.c (write_char): Fix background rendering for wide
21101 width glyphs.
21102
21103 2009-01-19 Robert Millan <rmh@aybabtu.com>
21104
21105 * config.guess: Update to latest version from config git.
21106 * config.sub: Likewise.
21107
21108 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
21109
21110 * Makefile.in: Change font compilation to use new grub-mkfont instead
21111 of java version.
21112
21113 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21114 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21115 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21116 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21117 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21118 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21119 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21120 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21121 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21122
21123 2009-01-16 Christian Franke <franke@computer.org>
21124
21125 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21126 (enum grub_ata_timeout_milliseconds): New enum.
21127 (grub_ata_wait_status): Add parameter milliseconds.
21128 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21129 recovery from timed-out commands.
21130 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21131 return grub_errno instead of REG_ERROR.
21132 (grub_ata_pio_write): Add parameter milliseconds.
21133 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21134 Pass milliseconds to grub_ata_wait_status () and
21135 grub_ata_pio_read ().
21136 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21137 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21138 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21139 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21140 It is not suitable for device detection, because DEV bit is ignored,
21141 the command may run too long, and not all devices set the signature
21142 properly.
21143 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21144 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21145 Fix device selection, DEV bit must be set first to address the registers
21146 of the correct device.
21147 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21148 grub_ata_pio_read/write ().
21149 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21150 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21151
21152 2009-01-13 Carles Pina i Estany <carles@pina.cat>
21153
21154 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21155
21156 2009-01-13 Bean <bean123ch@gmail.com>
21157
21158 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21159
21160 2009-01-13 Bean <bean123ch@gmail.com>
21161
21162 * Makefile.in: (enable_grub_mkfont): New variable.
21163 (freetype_cflags): Likewise.
21164 (freetype_libs): Likewise.
21165
21166 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21167 (grub_mkfont_SOURCES): New variable.
21168 (grub_mkfont_CFLAGS): Likewise.
21169 (grub_mkfont_LDFLAGS): Likewise.
21170
21171 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21172 library if `--enable-grub-mkfont' is requested.
21173 (enable_grub_mkfont): New variable.
21174 (freetype_cflags): Likewise.
21175 (freetype_libs): Likewise.
21176
21177 * util/grub-mkfont.c: New file.
21178
21179 2009-01-12 Christian Franke <franke@computer.org>
21180
21181 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21182 mode check. Fix setting of compat_use[].
21183
21184 2009-01-10 Robert Millan <rmh@aybabtu.com>
21185
21186 Update a few copyright years which we forgot to do in 2008 (only for
21187 files whose changes made in 2008 were copyright-significant)
21188
21189 * Makefile.in: Add 2008 to Copyright line.
21190 * disk/ieee1275/ofdisk.c: Likewise.
21191 * disk/efi/efidisk.c: Likewise.
21192 * kern/dl.c: Likewise.
21193 * kern/sparc64/ieee1275/init.c: Likewise.
21194 * kern/mm.c: Likewise.
21195 * kern/efi/mm.c: Likewise.
21196 * boot/i386/pc/boot.S: Likewise.
21197 * genfslist.sh: Likewise.
21198 * fs/iso9660.c: Likewise.
21199 * fs/hfs.c: Likewise.
21200 * fs/jfs.c: Likewise.
21201 * fs/minix.c: Likewise.
21202 * fs/ufs.c: Likewise.
21203 * gensymlist.sh.in: Likewise.
21204 * genkernsyms.sh.in: Likewise.
21205 * include/grub/misc.h: Likewise.
21206 * include/grub/types.h: Likewise.
21207 * include/grub/symbol.h: Likewise.
21208 * include/grub/elf.h: Likewise.
21209 * include/grub/kernel.h: Likewise.
21210 * include/grub/disk.h: Likewise.
21211 * include/grub/dl.h: Likewise.
21212 * include/grub/i386/linux.h: Likewise.
21213 * include/grub/i386/pc/biosdisk.h: Likewise.
21214 * include/grub/efi/api.h: Likewise.
21215 * include/grub/efi/pe32.h: Likewise.
21216 * include/grub/util/misc.h: Likewise.
21217 * normal/execute.c: Likewise.
21218 * normal/arg.c: Likewise.
21219 * normal/completion.c: Likewise.
21220 * normal/lexer.c: Likewise.
21221 * normal/parser.y: Likewise.
21222 * normal/misc.c: Likewise.
21223 * commands/i386/pc/vbeinfo.c: Likewise.
21224 * commands/hexdump.c: Likewise.
21225 * commands/terminal.c: Likewise.
21226 * commands/ls.c: Likewise.
21227 * commands/help.c: Likewise.
21228 * partmap/pc.c: Likewise.
21229 * loader/efi/chainloader.c: Likewise.
21230 * loader/multiboot_loader.c: Likewise.
21231 * loader/i386/pc/multiboot2.c: Likewise.
21232 * term/efi/console.c: Likewise.
21233 * term/i386/pc/serial.c: Likewise.
21234 * util/lvm.c: Likewise.
21235 * util/console.c: Likewise.
21236 * util/i386/efi/grub-mkimage.c: Likewise.
21237 * util/raid.c: Likewise.
21238
21239 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21240
21241 * commands/videotest.c: Removed include to grub/machine/memory.h.
21242
21243 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21244 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21245 (video_mod_SOURCES): Removed.
21246 (video_mod_CFLAGS): Likewise.
21247 (video_mod_LDFLAGS): Likewise.
21248 (gfxterm_mod_SOURCES): Likewise.
21249 (gfxterm_mod_CFLAGS): Likewise.
21250 (gfxterm_mod_LDFLAGS): Likewise.
21251 (videotest_mod_SOURCES): Likewise.
21252 (videotest_mod_CFLAGS): Likewise.
21253 (videotest_mod_LDFLAGS): Likewise.
21254 (bitmap_mod_SOURCES): Likewise.
21255 (bitmap_mod_CFLAGS): Likewise.
21256 (bitmap_mod_LDFLAGS): Likewise.
21257 (tga_mod_SOURCES): Likewise.
21258 (tga_mod_CFLAGS): Likewise.
21259 (tga_mod_LDFLAGS): Likewise.
21260 (jpeg_mod_SOURCES): Likewise.
21261 (jpeg_mod_CFLAGS): Likewise.
21262 (jpeg_mod_LDFLAGS): Likewise.
21263 (png_mod_SOURCES): Likewise.
21264 (png_mod_CFLAGS): Likewise.
21265 (png_mod_LDFLAGS): Likewise.
21266
21267 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21268 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21269 (video_mod_SOURCES): Added.
21270 (video_mod_CFLAGS): Likewise.
21271 (video_mod_LDFLAGS): Likewise.
21272 (videotest_mod_SOURCES): Likewise.
21273 (videotest_mod_CFLAGS): Likewise.
21274 (videotest_mod_LDFLAGS): Likewise.
21275 (bitmap_mod_SOURCES): Likewise.
21276 (bitmap_mod_CFLAGS): Likewise.
21277 (bitmap_mod_LDFLAGS): Likewise.
21278 (tga_mod_SOURCES): Likewise.
21279 (tga_mod_CFLAGS): Likewise.
21280 (tga_mod_LDFLAGS): Likewise.
21281 (jpeg_mod_SOURCES): Likewise.
21282 (jpeg_mod_CFLAGS): Likewise.
21283 (jpeg_mod_LDFLAGS): Likewise.
21284 (png_mod_SOURCES): Likewise.
21285 (png_mod_CFLAGS): Likewise.
21286 (png_mod_LDFLAGS): Likewise.
21287 (gfxterm_mod_SOURCES): Likewise.
21288 (gfxterm_mod_CFLAGS): Likewise.
21289 (gfxterm_mod_LDFLAGS): Likewise.
21290
21291 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21292 grub/machine/console.h.
21293
21294 2009-01-04 Jerone Young <jerone@gmail.com>
21295
21296 Make on screen instructions clearer
21297
21298 Based on patch created by Jidanni <jidanni@jidanni.org>
21299
21300 * normal/menu.c: print clearer instructions on the screen
21301
21302 2009-01-02 Colin D Bennett <colin@gibibit.com>
21303
21304 New font engine.
21305
21306 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21307 build system and fixed gfxterm.c to work with different sized fonts.
21308
21309 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21310
21311 * configure: Re-generated.
21312
21313 * DISTLIST: Removed font/manager.c.
21314 Added font/font.c.
21315 Added font/font_cmd.c.
21316
21317 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21318 compilation.
21319
21320 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21321
21322 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21323
21324 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21325
21326 * normal/menu.c: Likewise.
21327
21328 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21329 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21330
21331 * include/grub/font.h: Replaced with new file.
21332
21333 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21334 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21335 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21336 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21337 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21338 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21339 fg_red, fg_green, fg_blue, fg_alpha.
21340 (grub_video_adapter): Removed blit_glyph.
21341 (grub_video_blit_glyph): Removed.
21342
21343 * font/manager.c: Removed file.
21344
21345 * font/font.c: New file.
21346
21347 * font/font_cmd.c: Likewise.
21348
21349 * video/video.c (grub_video_blit_glyph): Removed.
21350
21351 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21352 (grub_video_vbe_map_rgba): Likewise.
21353 (grub_video_vbe_unmap_color_int): Likewise.
21354 (grub_video_vbe_blit_glyph): Removed.
21355 (grub_video_vbe_adapter): Removed blit_glyph.
21356
21357 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21358 (get_pixel): Likewise.
21359 (set_pixel): Likewise.
21360
21361 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21362
21363 * term/gfxterm.c: Adapted to new font engine.
21364
21365 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21366
21367 * term/i386/pc/vga.c: Likewise.
21368
21369 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21370
21371 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21372
21373 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21374
21375 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21376
21377 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21378
21379 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21380
21381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21382
21383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21384
21385 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21386
21387 * util/grub.d/00_header.in: Changed to use new loadfont command.
21388
21389 * util/grub-mkconfig_lib.in: Changed font extension.
21390
21391 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21392
21393 * util/getroot.c (grub_util_get_grub_dev): Add support for
21394 /dev/md/dNNpNN style partitionable mdraid devices.
21395
21396 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21397
21398 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21399 at a time limit of the PXE TFTP API correctly.
21400 (grub_pxefs_close): Likewise.
21401
21402 2008-11-29 Robert Millan <rmh@aybabtu.com>
21403
21404 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21405 grub_ata_device_initialize() calls.
21406
21407 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21408
21409 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21410 iteration failed.
21411 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21412
21413 2008-11-28 Robert Millan <rmh@aybabtu.com>
21414
21415 Fix build on powerpc-ieee1275. Based on patch created by
21416 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21417 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21418 `kern/ieee1275/mmap.c'.
21419 * include/grub/powerpc/ieee1275/memory.h: New file.
21420
21421 Provide grub-install on coreboot.
21422 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21423 (grub_install_SOURCES): New variable.
21424 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21425 usable on coreboot.
21426
21427 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21428
21429 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21430 to `grub_term_input_t'.
21431 (grub_term_get_current_output): Change return type to
21432 `grub_term_output_t'.
21433
21434 2008-11-22 Robert Millan <rmh@aybabtu.com>
21435
21436 Fix breakage on coreboot due to declaration mismatch.
21437 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21438 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21439 grub_vga_text_cls().
21440
21441 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21442 comments. Avoid copying one more byte than necessary (just in case).
21443
21444 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21445 to 0x200000 (avoids trouble with some OFW implementations, and matches
21446 with the one in Yaboot).
21447 Reported by Manoel Abranches
21448
21449 2008-11-20 Robert Millan <rmh@aybabtu.com>
21450
21451 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21452 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21453
21454 * util/grub-mkconfig_lib.in (grub_warn): New function.
21455 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21456 warnings, to obtain consistent formatting.
21457 * util/grub.d/00_header.in: Likewise.
21458 * util/update-grub_lib.in: Likewise.
21459
21460 * loader/i386/linux.c (allocate_pages): Fix a warning.
21461 Move comment text to `#error' stanza.
21462
21463 Harmonize ieee1275's grub_available_iterate() with the generic
21464 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21465 build problem on i386-ieee1275):
21466 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21467 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21468 parameter `type'. Update all users of this function.
21469 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21470 `kern/ieee1275/mmap.c'.
21471 * kern/ieee1275/init.c
21472 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21473 with ...
21474 (grub_machine_mmap_iterate): ... this.
21475 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21476 return type to `grub_err_t'. Update all implementations of this
21477 function prototype.
21478 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21479 Likewise.
21480
21481 Add `lsmmap' command (lists firmware-provided memory map):
21482 * commands/lsmmap.c: New file.
21483 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21484 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21485 variables.
21486 * conf/powerpc-ieee1275.rmk: Likewise.
21487 * conf/i386-coreboot.rmk: Likewise.
21488 * conf/i386-ieee1275.rmk: Likewise.
21489
21490 2008-11-19 Robert Millan <rmh@aybabtu.com>
21491
21492 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21493 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21494 constraints to initrd allocation (based on code from
21495 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21496 for Linux to find it.
21497
21498 2008-11-14 Robert Millan <rmh@aybabtu.com>
21499
21500 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21501 order to cope with duplicate slashes.
21502
21503 2008-11-14 Robert Millan <rmh@aybabtu.com>
21504
21505 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21506 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21507 don't want to mess with lower memory, because it is used in the Linux
21508 loader.
21509
21510 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21511 an appropriate place in lower memory, between 0x10000 and 0x90000,
21512 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21513 is in our heap (probably as a result of it being corrupted during
21514 decompression). Add #error instance with comment to explain why this
21515 loader isn't currently usable on PC/BIOS.
21516
21517 2008-11-14 Robert Millan <rmh@aybabtu.com>
21518
21519 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21520 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21521
21522 2008-11-12 Robert Millan <rmh@aybabtu.com>
21523
21524 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21525
21526 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21527 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21528 from here ...
21529 * include/grub/i386/pc/memory.h: ... to here.
21530
21531 2008-11-12 Robert Millan <rmh@aybabtu.com>
21532
21533 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21534 split).
21535
21536 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21537 (grub_console_cur_color, grub_console_real_putchar)
21538 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21539 (grub_console_setcolorstate, grub_console_setcolor)
21540 (grub_console_getcolor): Move from here ...
21541 * include/grub/i386/vga_common.h: ... to here (new file).
21542
21543 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21544 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21545 `<grub/i386/io.h>'.
21546 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21547 `<grub/i386/vga_common.h>'.
21548
21549 2008-11-12 Robert Millan <rmh@aybabtu.com>
21550
21551 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21552 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21553 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21554 variables.
21555 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21556 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21557
21558 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21559 grub_console_init() with call to grub_vga_text_init().
21560 (grub_machine_fini): Replace call to
21561 grub_console_fini() with call to grub_vga_text_fini() and
21562 grub_at_keyboard_fini().
21563
21564 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21565 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21566 (grub_console_setcolorstate, grub_console_setcolor)
21567 (grub_console_getcolor): New function prototypes.
21568
21569 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21570 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21571 (grub_vga_text_setcursor): Static-ize.
21572 (grub_vga_text_term): New structure.
21573 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21574
21575 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21576 (grub_console_cur_color, grub_console_standard_color)
21577 (grub_console_normal_color, grub_console_highlight_color)
21578 (map_char, grub_console_putchar, grub_console_getcharwidth)
21579 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21580 (grub_console_getcolor): Move from here ...
21581 * term/i386/vga_common.c: ... to here (same function names).
21582
21583 2008-11-12 Robert Millan <rmh@aybabtu.com>
21584
21585 Use newly-added Multiboot support in coreboot.
21586
21587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21588 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21589
21590 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21591 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21592 (codestart): Store the MBI in `startup_multiboot_info' when we're
21593 being loaded using Multiboot.
21594
21595 * kern/i386/coreboot/init.c (grub_machine_init): Move
21596 grub_at_keyboard_init() call to beginning of function (useful for
21597 debugging). Call grub_machine_mmap_init() before attempting to use
21598 grub_machine_mmap_iterate().
21599 (grub_lower_mem, grub_upper_mem): Move from here ...
21600 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21601 here (new file).
21602
21603 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21604 function prototype.
21605
21606 2008-11-12 Robert Millan <rmh@aybabtu.com>
21607
21608 Fix a regression introduced by the at_keyboard.mod split. Because
21609 some terminals are default on some platforms and non-default on
21610 others, the first terminal being registered determines which is
21611 going to be default.
21612
21613 * kern/term.c (grub_term_register_input): If this is the first
21614 terminal being registered, set it as the current one.
21615 (grub_term_register_output): Likewise.
21616
21617 * term/efi/console.c (grub_console_init): Do not call
21618 grub_term_set_current_output() or grub_term_set_current_input().
21619 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21620 * term/i386/pc/console.c (grub_console_init): Likewise.
21621 (grub_console_fini): Do not call grub_term_set_current_input()
21622 (but leave grub_term_set_current_output() to restore text mode).
21623
21624 2008-11-10 Robert Millan <rmh@aybabtu.com>
21625
21626 * util/grub.d/00_header.in: Add backward compatibility check for
21627 versions of terminal.mod that don't understand `terminal_input' or
21628 `terminal_output'.
21629
21630 2008-11-09 Robert Millan <rmh@aybabtu.com>
21631
21632 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21633 `terminal_input' / `terminal_output', not `terminal'.
21634
21635 2008-11-08 Robert Millan <rmh@aybabtu.com>
21636
21637 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21638 (DISTCLEANFILES): Add `build_env.mk'.
21639
21640 2008-11-08 Robert Millan <rmh@aybabtu.com>
21641
21642 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21643 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21644 members. Update all users.
21645 * util/console.c (grub_ncurses_term): Split in ...
21646 (grub_ncurses_term_input): ... this, and ...
21647 (grub_ncurses_term_output): ... this. Update all users.
21648 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21649
21650 2008-11-08 Robert Millan <rmh@aybabtu.com>
21651
21652 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21653 (PKGDATA): Add $(pkgdata_SRCDIR).
21654 (pkglib_BUILDDIR): New variable.
21655 (pkgdata_SRCDIR): New variable.
21656 (build_env.mk): New target.
21657 (include_DATA): New variable.
21658 (install-local): Install $(include_DATA) files in $(includedir).
21659
21660 2008-11-07 Pavel Roskin <proski@gnu.org>
21661
21662 * gendistlist.sh: Use C locale for sorting to ensure consistent
21663 output on all systems.
21664
21665 * util/grub.d/00_header.in: Remove incorrect space before
21666 "serial".
21667
21668 2008-11-07 Robert Millan <rmh@aybabtu.com>
21669
21670 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21671 per specification.
21672 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21673 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21674 (based on find_multi_boot1_header).
21675 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21676 using find_multi_boot2_header(), and abort if neither Multiboot or
21677 Multiboot headers were found.
21678
21679 2008-11-07 Robert Millan <rmh@aybabtu.com>
21680
21681 Modularize at_keyboard.mod:
21682
21683 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21684 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21685 (at_keyboard_mod_LDFLAGS): New variables.
21686
21687 Actual terminal split:
21688
21689 * include/grub/term.h (struct grub_term): Split in ...
21690 (struct grub_term_input): ... this, and ...
21691 (struct grub_term_output): ... this. Update all users.
21692 (grub_term_set_current): Split in ...
21693 (grub_term_set_current_input): ... this, and ...
21694 (grub_term_set_current_output): ... this.
21695 (grub_term_get_current): Split in ...
21696 (grub_term_get_current_input): ... this, and ...
21697 (grub_term_get_current_output): ... this.
21698 (grub_term_register): Split in ...
21699 (grub_term_register_input): ... this, and ...
21700 (grub_term_register_output): ... this.
21701 (grub_term_unregister): Split in ...
21702 (grub_term_unregister_input): ... this, and ...
21703 (grub_term_unregister_output): ... this.
21704 (grub_term_iterate): Split in ...
21705 (grub_term_iterate_input): ... this, and ...
21706 (grub_term_iterate_output): ... this.
21707
21708 * kern/term.c (grub_term_list): Split in ...
21709 (grub_term_list_input): ... this, and ...
21710 (grub_term_list_output): ... this. Update all users.
21711 (grub_cur_term): Split in ...
21712 (grub_cur_term_input): ... this, and ...
21713 (grub_cur_term_output): ... this. Update all users.
21714 (grub_term_set_current): Split in ...
21715 (grub_term_set_current_input): ... this, and ...
21716 (grub_term_set_current_output): ... this.
21717 (grub_term_get_current): Split in ...
21718 (grub_term_get_current_input): ... this, and ...
21719 (grub_term_get_current_output): ... this.
21720 (grub_term_register): Split in ...
21721 (grub_term_register_input): ... this, and ...
21722 (grub_term_register_output): ... this.
21723 (grub_term_unregister): Split in ...
21724 (grub_term_unregister_input): ... this, and ...
21725 (grub_term_unregister_output): ... this.
21726 (grub_term_iterate): Split in ...
21727 (grub_term_iterate_input): ... this, and ...
21728 (grub_term_iterate_output): ... this.
21729
21730 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21731 a check for input and one for output (and only attempt to get keys
21732 from user when input works).
21733
21734 * util/grub-probe.c (grub_term_get_current): Split in ...
21735 (grub_term_get_current_input): ... this, and ...
21736 (grub_term_get_current_output): ... this.
21737 * util/grub-fstest.c: Likewise.
21738 * util/i386/pc/grub-setup.c: Likewise.
21739 * util/grub-editenv.c: Likewise.
21740
21741 Portability adjustments:
21742
21743 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21744 `term/i386/pc/at_keyboard.c'.
21745 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21746 grub_keyboard_controller_init() (now handled by terminal .init).
21747 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21748 grub_at_keyboard_init().
21749 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21750 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21751 at_keyboard.mod via input terminal interface).
21752 * include/grub/i386/coreboot/console.h: Convert into a stub for
21753 `<grub/i386/pc/console.h>'.
21754
21755 Migrate full terminals to new API:
21756
21757 * term/efi/console.c (grub_console_term): Split into ...
21758 (grub_console_term_input): ... this, and ...
21759 (grub_console_term_output): ... this. Update all users.
21760 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21761 (grub_ofconsole_init): Split into ...
21762 (grub_ofconsole_init_input): ... this, and ...
21763 (grub_ofconsole_init_output): ... this.
21764 (grub_ofconsole_term): Split into ...
21765 (grub_ofconsole_term_input): ... this, and ...
21766 (grub_ofconsole_term_output): ... this. Update all users.
21767 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21768 (grub_serial_term_input): ... this, and ...
21769 (grub_serial_term_output): ... this. Update all users.
21770 * term/i386/pc/console.c (grub_console_term): Split into ...
21771 (grub_console_term_input): ... this, and ...
21772 (grub_console_term_output): ... this. Update all users.
21773 (grub_console_term_input): Only enable it on PC/BIOS platform.
21774 (grub_console_init): Remove grub_keyboard_controller_init() call.
21775
21776 Migrate input terminals to new API:
21777
21778 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21779 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21780 i386-specific anyway).
21781 (grub_console_checkkey): Rename to ...
21782 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21783 users.
21784 (grub_keyboard_controller_orig): New variable.
21785 (grub_console_getkey): Rename to ...
21786 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21787 users.
21788 (grub_keyboard_controller_init): Static-ize. Save original
21789 controller value so that it can be restored ...
21790 (grub_keyboard_controller_fini): ... here (new function).
21791 (grub_at_keyboard_term): New structure.
21792 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21793 functions.
21794
21795 Migrate output terminals to new API:
21796
21797 * term/i386/pc/vga.c (grub_vga_term): Change type to
21798 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21799 members. Update all users.
21800 * term/gfxterm.c (grub_video_term): Change type to
21801 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21802 members. Update all users.
21803 * include/grub/i386/pc/console.h (grub_console_checkkey)
21804 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21805 etc).
21806
21807 Migrate `terminal' command and userland tools to new API:
21808
21809 * commands/terminal.c (grub_cmd_terminal): Split into ...
21810 (grub_cmd_terminal_input): ... this, and ...
21811 (grub_cmd_terminal_output): ... this.
21812 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21813 `terminal_input' and `terminal_output'.
21814 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21815 `terminal_input' / `terminal_output' API.
21816 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21817 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21818 provided ${GRUB_TERMINAL}, convert it).
21819
21820 2008-11-04 Robert Millan <rmh@aybabtu.com>
21821
21822 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21823 for FreeBSD.
21824 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21825
21826 2008-11-03 Bean <bean123ch@gmail.com>
21827
21828 * kern/elf.c (grub_elf32_load): Revert to previous code.
21829 (grub_elf64_load): Likewise.
21830
21831 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21832
21833 2008-11-01 Robert Millan <rmh@aybabtu.com>
21834
21835 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21836 (TARGET_CPPFLAGS): Likewise.
21837 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21838
21839 2008-11-01 Carles Pina i Estany <carles@pina.cat>
21840
21841 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21842
21843 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21844
21845 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21846 addition of objects until the code is not going to be able to fail.
21847
21848 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21849
21850 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21851 (add a missing NULL check, and correct them by moving the pointer
21852 operations after the actual check).
21853
21854 2008-10-29 Robert Millan <rmh@aybabtu.com>
21855
21856 * util/i386/pc/grub-install.in: Handle empty string as output from
21857 make_system_path_relative_to_its_root().
21858
21859 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21860
21861 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21862 circular metadata worst case scenario. If the metadata is circular
21863 then copy the wrap in place.
21864 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21865 project lib/format_text/layout.h
21866 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21867
21868 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21869
21870 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
21871
21872 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21873
21874 * util/update-grub_lib.in: Mention filename in warning message.
21875
21876 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21877
21878 * NEWS: Update for rename of update-grub to grub-mkconfig.
21879
21880 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21881
21882 * util/update-grub_lib.in: Copy to ...
21883 * util/grub-mkconfig_lib.in: ... this. Update all users.
21884 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
21885 * util/update-grub.in: Rename to ...
21886 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21887 option. Add `--output' option to allow users to specify the generated
21888 configuration file. Default to stdout.
21889 (update_grub_dir): Rename to ...
21890 (grub_mkconfig_dir): ... this.
21891 (grub_cfg): Default to an empty string.
21892 * conf/common.rmk (update-grub): Rename to ...
21893 (grub-mkconfig): ... this.
21894 (update-grub_lib): Copy to ...
21895 (grub-mkconfig_lib): ... this.
21896 (update-grub_SCRIPTS): Copy to ...
21897 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21898 (update-grub_DATA): Rename to ...
21899 (grub-mkconfig_DATA): ... this.
21900
21901 2008-09-28 Robert Millan <rmh@aybabtu.com>
21902
21903 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21904 to `modified'. Add the real `created' field.
21905 (grub_iso9660_uuid): Use `modified' rather than `created' for
21906 constructing the UUID.
21907
21908 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
21909
21910 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21911 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21912
21913 2008-09-28 Bean <bean123ch@gmail.com>
21914
21915 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21916 Thanks to Christian Franke for finding this bug.
21917
21918 2008-09-25 Robert Millan <rmh@aybabtu.com>
21919
21920 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21921 instances of grub_util_get_disk_name() (see previous commit).
21922
21923 2008-09-25 Robert Millan <rmh@aybabtu.com>
21924
21925 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21926 `util/i386/get_disk_name.c'.
21927 * conf/i386-efi.rmk: Likewise.
21928 * conf/x86_64-efi.rmk: Likewise.
21929 * conf/i386-coreboot.rmk: Likewise.
21930 * conf/i386-ieee1275.rmk: Likewise.
21931 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21932 `util/ieee1275/get_disk_name.c'.
21933 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21934 * util/ieee1275/get_disk_name.c: Remove file.
21935 * util/i386/get_disk_name.c: Remove file.
21936 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21937 "hd%d" for device.map entries, rather than using
21938 grub_util_get_disk_name().
21939
21940 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21941
21942 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21943 warning.
21944 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21945
21946 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21947
21948 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21949 Changed to 0x5100.
21950 (GRUB_TERM_PPAGE): Changed to 0x4900.
21951
21952 2008-09-24 Robert Millan <rmh@aybabtu.com>
21953
21954 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21955 macros (they were i386-pc specific).
21956 * include/grub/sparc64/ieee1275/console.h: Likewise.
21957 * include/grub/efi/console.h: Likewise.
21958
21959 2008-09-22 Bean <bean123ch@gmail.com>
21960
21961 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21962 resident and in attribute list.
21963
21964 * include/grub/ntfs.h (BMP_LEN): Removed.
21965
21966 2008-09-22 Bean <bean123ch@gmail.com>
21967
21968 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
21969 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21970
21971 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21972 error occurs, as grub_disk_open will call grub_disk_close, which will
21973 call p->close (scsi).
21974
21975 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21976
21977 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21978 (AC_PREREQ): Bumped to 2.59.
21979 (AC_TRY_COMPILE): Replace obsolete macro with ...
21980 (AC_COMPILE_IFELSE): ... this.
21981 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21982 (AC_LINK_IFELSE): ... this.
21983
21984 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21985
21986 * autogen.sh: Add a call to `gendistlist.sh'.
21987
21988 2008-09-19 Christian Franke <franke@computer.org>
21989
21990 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21991 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21992 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21993 Export __enable_execute_stack() to modules.
21994 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21995 New function.
21996
21997 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21998
21999 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22000 Sort the list.
22001
22002 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
22003
22004 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
22005 #include <grub/util/hostdisk.h>.
22006
22007 2008-09-08 Robert Millan <rmh@aybabtu.com>
22008
22009 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22010 segments when their filesz is zero (grub_file_read() interprets
22011 zero-size as "read until EOF", which results in memory corruption).
22012 Use `lowest_segment' rather than 0 for calculating the current
22013 segment load address.
22014
22015 2008-09-08 Robert Millan <rmh@aybabtu.com>
22016
22017 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22018 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22019 clobbered useful information.
22020
22021 2008-09-08 Robert Millan <rmh@aybabtu.com>
22022
22023 * include/grub/util/biosdisk.h: Move to ...
22024 * include/grub/util/hostdisk.h: ... here. Update all users.
22025 * util/biosdisk.c: Move to ...
22026 * util/hostdisk.c: ... here. Update all users.
22027
22028 2008-09-07 Robert Millan <rmh@aybabtu.com>
22029
22030 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22031 variables.
22032 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22033 and length can be stored directly in the `mbi->mmap_addr' and
22034 `mbi->mmap_length' struct fields.
22035
22036 2008-09-07 Robert Millan <rmh@aybabtu.com>
22037
22038 * conf/i386.rmk: New file. Provides declaration for building
22039 `cpuid.mod'.
22040 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22041 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22042 variables.
22043 Include `conf/i386.mk'.
22044 * conf/i386-efi.rmk: Likewise.
22045 * conf/x86_64-efi.rmk: Likewise.
22046 * conf/i386-coreboot.rmk: Likewise.
22047 * conf/i386-ieee1275.rmk: Likewise.
22048
22049 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22050
22051 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22052 Adds optimization support for BGR based modes.
22053
22054 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22055 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22056 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22057 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22058 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22059 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22060 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22061 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22062 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22063 (grub_video_i386_vbeblit_index_index): Likewise.
22064 (grub_video_i386_vbeblit_replace_directN): Added.
22065 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22066 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22067 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22068 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22069 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22070 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22071 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22072 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22073 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22074 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22075 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22076 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22077 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22078
22079 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22080 (grub_video_i386_vbefill_R8G8B8): Likewise.
22081 (grub_video_i386_vbefill_index): Likewise.
22082 (grub_video_i386_vbefill_direct32): Added.
22083 (grub_video_i386_vbefill_direct24): Likewise.
22084 (grub_video_i386_vbefill_direct16): Likewise.
22085 (grub_video_i386_vbefill_direct8): Likewise.
22086
22087 * include/grub/video.h (grub_video_blit_format): Removed
22088 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22089 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22090 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22091 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22092 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
22093
22094 * video/video.c (grub_video_get_blit_format): Updated to use new
22095 blit formats. Added handling for 16 bit color modes.
22096
22097 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
22098 fillers.
22099 (common_blitter): Updated to use new blitters.
22100
22101 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22102 Removed.
22103 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22105 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22106 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22107 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22108 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22109 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22110 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22111 (grub_video_i386_vbeblit_index_index): Likewise.
22112 (grub_video_i386_vbeblit_replace_directN): Added.
22113 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22114 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22115 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22116 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22117 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22118 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22119 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22120 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22121 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22122 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22123 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22124 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22125 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22126
22127 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22128 (grub_video_i386_vbefill_R8G8B8): Likewise.
22129 (grub_video_i386_vbefill_index): Likewise.
22130 (grub_video_i386_vbefill_direct32): Added.
22131 (grub_video_i386_vbefill_direct24): Likewise.
22132 (grub_video_i386_vbefill_direct16): Likewise.
22133 (grub_video_i386_vbefill_direct8): Likewise.
22134
22135 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22136 types.
22137
22138 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22139 types.
22140
22141 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22142 blitter types.
22143
22144 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22145 types.
22146
22147 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22148
22149 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22150 RAID level 1.
22151
22152 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
22153
22154 * fs/iso9660.c (grub_iso9660_date): New structure.
22155 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22156 (grub_iso9660_uuid): New function.
22157
22158 2008-09-05 Bean <bean123ch@gmail.com>
22159
22160 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22161
22162 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22163 insensitive bit for names in Win32 and Win32 & DOS namespace.
22164
22165 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22166
22167 * include/grub/types.h (LONG_MAX): Likewise.
22168
22169 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22170
22171 * util/getroot.c: Include <config.h>.
22172 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22173 add support for /dev/md/N devices and handle LVM double dash escaping.
22174
22175 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
22176
22177 * config.guess: Update to latest version from config git.
22178 * config.sub: Likewise.
22179
22180 2008-09-03 Robert Millan <rmh@aybabtu.com>
22181
22182 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22183 `disk->total_sectors'.
22184
22185 2008-09-01 Colin D Bennett <colin@gibibit.com>
22186
22187 * include/grub/normal.h: Fixed incorrect comment for
22188 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22189
22190 2008-09-01 Colin D Bennett <colin@gibibit.com>
22191
22192 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22193 values with defines.
22194
22195 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22196 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22197 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22198 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22199 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22200 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22201 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22202 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22203 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22204 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22205 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22206 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22207 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22208 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22209 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22210 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22211 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22212 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22213 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22214
22215 2008-08-31 Robert Millan <rmh@aybabtu.com>
22216
22217 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22218 declaration.
22219 (grub_multiboot): Fix a few warnings.
22220
22221 2008-08-31 Robert Millan <rmh@aybabtu.com>
22222
22223 * loader/i386/pc/multiboot.c: Update comment not to say that
22224 boot_device support is unimplemented.
22225
22226 2008-08-31 Robert Millan <rmh@aybabtu.com>
22227
22228 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22229 or memory map support are unimplemented.
22230
22231 2008-08-31 Colin D Bennett <colin@gibibit.com>
22232
22233 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22234
22235 2008-08-31 Colin D Bennett <colin@gibibit.com>
22236
22237 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22238 total video memory in 'vbeinfo' output; show color format details for
22239 each video mode.
22240
22241 2008-08-30 Pavel Roskin <proski@gnu.org>
22242
22243 * util/genmoddep.c: Remove for real this time.
22244 * DISTLIST: Remove util/genmoddep.c.
22245
22246 2008-08-30 Robert Millan <rmh@aybabtu.com>
22247
22248 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22249 as required by Multiboot spec (it was already 4-byte aligned, but
22250 only by chance).
22251
22252 2008-08-29 Pavel Roskin <proski@gnu.org>
22253
22254 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22255 * kern/powerpc/ieee1275/startup.S: ... this.
22256 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22257 * DISTLIST: Likewise.
22258
22259 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22260 grub/cpu/kernel.h. Add start label for consistency with other
22261 platforms. Add grub_prefix immediately after start. Add jump
22262 to the code after grub_prefix.
22263 * include/grub/powerpc/kernel.h: Provide valid values for
22264 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22265
22266 2008-08-29 Bean <bean123ch@gmail.com>
22267
22268 * configure.ac: Change host_os to cygwin for mingw.
22269 (asprintf): New check for function.
22270
22271 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22272 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22273
22274 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
22275 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
22276 sync, sleep and grub_util_get_disk_size for mingw.
22277
22278 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22279 to get size in mingw.
22280 (open_device): Use flag O_BINARY if it's defined.
22281 (find_root_device): Add dummy code for mingw.
22282
22283 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22284 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22285 (get_scsi_disk_name): Return 0 for mingw.
22286
22287 * util/hostfs.c: #include <grub/util/misc.h>.
22288 (grub_hostfs_open): Use "rb" flag to open file, use
22289 grub_util_get_disk_size to get disk size for mingw.
22290
22291 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22292 (asprintf): New function if HAVE_ASPRINTF is not set.
22293 (sync): New function for mingw.
22294 (sleep): Likewise.
22295 (grub_util_get_disk_size): Likewise.
22296
22297 2008-08-28 Pavel Roskin <proski@gnu.org>
22298
22299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22300 kern/time.c.
22301
22302 2008-08-28 Robert Millan <rmh@aybabtu.com>
22303
22304 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22305
22306 2008-08-28 Robert Millan <rmh@aybabtu.com>
22307
22308 Change find_grub_drive() syntax so it doesn't prevent it from
22309 detecting NULL names as errors.
22310
22311 * util/biosdisk.c (find_grub_drive): Move free slot search code
22312 from here ...
22313 (find_free_slot): ... to here.
22314 (read_device_map): Use find_free_slot() to search for free slots.
22315
22316 2008-08-27 Marco Gerards <marco@gnu.org>
22317
22318 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22319 (scsi_mod_SOURCES): New variable.
22320 (scsi_mod_CFLAGS): Likewise
22321 (scsi_mod_LDFLAGS): Likewise.
22322
22323 * disk/scsi.c: New file.
22324
22325 * include/grub/scsi.h: Likewise.
22326
22327 * include/grub/scsicmd.h: Likewise.
22328
22329 * disk/ata.c: Include <grub/scsi.h>.
22330 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22331 instead.
22332 (grub_ata_iterate): Skip ATAPI devices.
22333 (grub_ata_open): Only handle ATAPI devices.
22334 (struct grub_atapi_read): Removed.
22335 (grub_atapi_readsector): Likewise.
22336 (grub_ata_read): No longer handle ATAPI devices.
22337 (grub_ata_write): Likewise.
22338 (grub_atapi_iterate): New function.
22339 (grub_atapi_read): Likewise.
22340 (grub_atapi_write): Likewise.
22341 (grub_atapi_open): Likewise.
22342 (grub_atapi_close): Likewise.
22343 (grub_atapi_dev): New variable.
22344 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22345 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22346
22347 * include/grub/disk.h (enum grub_disk_dev_id): Add
22348 `GRUB_DISK_DEVICE_SCSI_ID'.
22349
22350 2008-08-26 Robert Millan <rmh@aybabtu.com>
22351
22352 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22353 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22354 descriptive.
22355
22356 2008-08-23 Bean <bean123ch@gmail.com>
22357
22358 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22359 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22360 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22361 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22362 dm_nv.mod.
22363 (raid5rec_mod_SOURCES): New macro.
22364 (raid5rec_mod_CFLAGS): Likewise.
22365 (raid5rec_mod_LDFLAGS): Likewise.
22366 (raid6rec_mod_SOURCES): Likewise.
22367 (raid6rec_mod_CFLAGS): Likewise.
22368 (raid6rec_mod_LDFLAGS): Likewise.
22369 (mdraid_mod_SOURCES): Likewise.
22370 (mdraid_mod_CFLAGS): Likewise.
22371 (mdraid_mod_LDFLAGS): Likewise.
22372 (dm_nv_mod_SOURCES): Likewise.
22373 (dm_nv_mod_CFLAGS): Likewise.
22374 (dm_nv_mod_LDFLAGS): Likewise.
22375
22376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22377 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22378 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22379
22380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22381 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22382
22383 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22384
22385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22386
22387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22388
22389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22390
22391 * disk/raid5_recover.c: New file.
22392
22393 * disk/raid6_recover.c: Likewise.
22394
22395 * disk/mdraid_linux.c: Likewise.
22396
22397 * disk/dmraid_nvidia.c: Likewise.
22398
22399 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22400 ULONG_MAX.
22401
22402 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22403 calculate the size of raid device.
22404 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22405 different layout of raid5.
22406 (grub_raid_scan_device): Remove code specific to mdraid.
22407 (grub_raid_list): New variable.
22408 (free_array): New function.
22409 (grub_raid_register): Likewise.
22410 (grub_raid_unregister): Likewise.
22411 (grub_raid_rescan): Likewise.
22412 (GRUB_MOD_INIT): Don't iterate device here.
22413 (GRUB_MOD_FINI): Use free_array to release resource.
22414
22415 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22416 (grub_raid5_recover_func_t): New function variable type.
22417 (grub_raid6_recover_func_t): Likewise.
22418 (grub_raid5_recover_func): New variable.
22419 (grub_raid6_recover_func): Likewise.
22420 (grub_raid_register): New function.
22421 (grub_raid_unregister): Likewise.
22422 (grub_raid_rescan): Likewise.
22423 (grub_raid_block_xor): Likewise.
22424
22425 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22426 (CMD_CRC): New macro.
22427 (part): Removed.
22428 (read_file): Handle device as well as file.
22429 (cmd_crc): New function.
22430 (fstest): Handle multiple disks.
22431 (options): Remove part, raw and long, add root and diskcount.
22432 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22433 (main): Find the first non option entry and ignore subsequent options,
22434 add handling for the new options, support multiple disks.
22435
22436 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22437
22438 2008-08-23 Bean <bean123ch@gmail.com>
22439
22440 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22441
22442 * genfslist.sh: Ignore kernel.mod.
22443
22444 * genpartmaplist.sh: Likewise.
22445
22446 2008-08-23 Robert Millan <rmh@aybabtu.com>
22447
22448 * util/getroot.c (find_root_device): Skip anything that starts with
22449 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22450
22451 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22452
22453 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22454 * util/grub.d/00_header.in: Allow the administrator to change default
22455 gfxmode via ${GRUB_GFXMODE}.
22456
22457 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22458
22459 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22460
22461 2008-08-21 Robert Millan <rmh@aybabtu.com>
22462
22463 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22464 loader.
22465 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22466 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22467
22468 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22469
22470 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22471 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22472
22473 2008-08-19 Robert Millan <rmh@aybabtu.com>
22474
22475 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22476 (struct grub_virtual_screen): Remove `cursor_color'.
22477 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22478 initialization.
22479 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22480
22481 2008-08-18 Robert Millan <rmh@aybabtu.com>
22482
22483 Unify (identical) linux_normal.c files.
22484 * loader/i386/efi/linux_normal.c: Move from here ...
22485 * loader/linux_normal.c: ... to here. Update all users.
22486 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22487 * loader/i386/ieee1275/linux_normal.c: Likewise.
22488
22489 2008-08-18 Robert Millan <rmh@aybabtu.com>
22490
22491 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22492 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22493 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22494 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22495 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22496 New macros.
22497 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22498 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22499 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22500 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22501 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22502 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22503 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22504 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22505 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22506 portably using grub_getxy().
22507 Replace `-EFI' with `-bzImage' in boot message.
22508
22509 2008-08-17 Robert Millan <rmh@aybabtu.com>
22510
22511 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22512
22513 2008-08-17 Robert Millan <rmh@aybabtu.com>
22514
22515 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22516
22517 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22518 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22519 (grub_machine_mmap_iterate): New function declaration.
22520 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22521 structure.
22522 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22523 macros.
22524
22525 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22526 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22527 Move e820 parsing from here ...
22528 * kern/i386/pc/mmap.c: New file.
22529 (grub_machine_mmap_iterate): ... to here.
22530
22531 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22532 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22533 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22534 (grub_available_iterate): Redeclare to return `void', and redeclare
22535 its hook to use grub_uint64_t as addr and size parameters, and rename
22536 to ...
22537 (grub_machine_mmap_iterate): ... this. Update all users.
22538
22539 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22540 to make it more readable. Rename to ...
22541 (grub_machine_mmap_iterate): ... this.
22542
22543 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22544 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22545 (grub_multiboot): Allocate an extra region after the payload, and fill
22546 it with a Multiboot memory map. Adjust a.out loader to calculate size
22547 with the extra space.
22548 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22549 with the extra space.
22550
22551 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22552
22553 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22554
22555 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22556
22557 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22558 mdate-sh to the list `find' searches for.
22559 * DISTLIST: Regenerated.
22560
22561 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22562
22563 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22564 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22565 genmoddep.awk, gensymlist.sh.in.
22566 (DISTDIRS): Add bus, docs, hook, lib.
22567 * DISTLIST: Regenerated.
22568 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22569
22570 2008-08-16 Robert Millan <rmh@aybabtu.com>
22571
22572 * disk/raid.c (grub_raid_init): Handle/report errors set by
22573 grub_device_iterate().
22574 * disk/lvm.c (grub_lvm_init): Likewise.
22575
22576 2008-08-15 Bean <bean123ch@gmail.com>
22577
22578 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22579 and datehook.mod.
22580 (datetime_mod_SOURCES): New macro.
22581 (datetime_mod_CFLAGS): Likewise.
22582 (datetime_mod_LDFLAGS): Likewise.
22583 (date_mod_SOURCES): Likewise.
22584 (date_mod_CFLAGS): Likewise.
22585 (date_mod_LDFLAGS): Likewise.
22586 (datehook_mod_SOURCES): Likewise.
22587 (datehook_mod_CFLAGS): Likewise.
22588 (datehook_mod_LDFLAGS): Likewise.
22589
22590 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22591 and datehook.mod.
22592 (datetime_mod_SOURCES): New macro.
22593 (datetime_mod_CFLAGS): Likewise.
22594 (datetime_mod_LDFLAGS): Likewise.
22595 (date_mod_SOURCES): Likewise.
22596 (date_mod_CFLAGS): Likewise.
22597 (date_mod_LDFLAGS): Likewise.
22598 (datehook_mod_SOURCES): Likewise.
22599 (datehook_mod_CFLAGS): Likewise.
22600 (datehook_mod_LDFLAGS): Likewise.
22601
22602 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22603 and datehook.mod.
22604 (datetime_mod_SOURCES): New macro.
22605 (datetime_mod_CFLAGS): Likewise.
22606 (datetime_mod_LDFLAGS): Likewise.
22607 (date_mod_SOURCES): Likewise.
22608 (date_mod_CFLAGS): Likewise.
22609 (date_mod_LDFLAGS): Likewise.
22610 (datehook_mod_SOURCES): Likewise.
22611 (datehook_mod_CFLAGS): Likewise.
22612 (datehook_mod_LDFLAGS): Likewise.
22613
22614 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22615 and datehook.mod.
22616 (datetime_mod_SOURCES): New macro.
22617 (datetime_mod_CFLAGS): Likewise.
22618 (datetime_mod_LDFLAGS): Likewise.
22619 (date_mod_SOURCES): Likewise.
22620 (date_mod_CFLAGS): Likewise.
22621 (date_mod_LDFLAGS): Likewise.
22622 (datehook_mod_SOURCES): Likewise.
22623 (datehook_mod_CFLAGS): Likewise.
22624 (datehook_mod_LDFLAGS): Likewise.
22625
22626 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22627 and datehook.mod.
22628 (datetime_mod_SOURCES): New macro.
22629 (datetime_mod_CFLAGS): Likewise.
22630 (datetime_mod_LDFLAGS): Likewise.
22631 (date_mod_SOURCES): Likewise.
22632 (date_mod_CFLAGS): Likewise.
22633 (date_mod_LDFLAGS): Likewise.
22634 (datehook_mod_SOURCES): Likewise.
22635 (datehook_mod_CFLAGS): Likewise.
22636 (datehook_mod_LDFLAGS): Likewise.
22637
22638 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22639
22640 * commands/date.c: New file.
22641
22642 * hook/datehook.c: Likewise.
22643
22644 * include/grub/lib/datetime.h: Likewise.
22645
22646 * include/grub/i386/cmos.h: Likewise.
22647
22648 * lib/datetime.c: Likewise.
22649
22650 * lib/i386/datetime.c: Likewise.
22651
22652 * lib/efi/datetime.c: Likewise.
22653
22654 2008-08-14 Robert Millan <rmh@aybabtu.com>
22655
22656 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22657 (grub_mkelfimage_SOURCES): New variable.
22658 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22659
22660 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22661 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22662 * conf/powerpc-ieee1275.rmk: Likewise.
22663 * conf/i386-ieee1275.rmk: Likewise.
22664
22665 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22666 * kern/i386/coreboot/init.c: Likewise.
22667
22668 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22669 with `<grub/cpu/kernel.h>'.
22670 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22671 to ...
22672 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22673 * kern/i386/coreboot/startup.S: Likewise.
22674
22675 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22676 (GRUB_MOD_GAP): Remove.
22677 * include/grub/powerpc/kernel.h: New file.
22678 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22679 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22680 * include/grub/i386/kernel.h: New file.
22681 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22682 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22683 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22684
22685 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22686 `grub-mkelfimage'.
22687 Use --directory when invoking grub_mkimage.
22688
22689 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22690 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22691 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22692 and GRUB_KERNEL_CPU_PREFIX.
22693
22694 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22695
22696 * include/grub/err.h (grub_err_printf): New function prototype.
22697 * util/misc.c (grub_err_printf): New function.
22698 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22699 grub_printf.
22700 * kern/err.c (grub_print_error): Use grub_err_printf.
22701
22702 2008-08-13 Robert Millan <rmh@aybabtu.com>
22703
22704 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22705
22706 2008-08-13 Robert Millan <rmh@aybabtu.com>
22707
22708 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22709 boot entry.
22710
22711 2008-08-12 Robert Millan <rmh@aybabtu.com>
22712
22713 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22714 of the relocation code from here ...
22715 (grub_multiboot): ... to here.
22716 (forward_relocator, backward_relocator): Move from here ...
22717 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22718 (grub_multiboot_backward_relocator): ... to here.
22719 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22720 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22721 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22722 (grub_multiboot_forward_relocator_end)
22723 (grub_multiboot_backward_relocator)
22724 (grub_multiboot_backward_relocator_end): New variables.
22725
22726 2008-08-12 Bean <bean123ch@gmail.com>
22727
22728 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22729
22730 2008-08-11 Robert Millan <rmh@aybabtu.com>
22731
22732 * kern/i386/linuxbios/startup.S: Move from here ...
22733 * kern/i386/coreboot/startup.S: ... to here.
22734
22735 * kern/i386/linuxbios/init.c: Move from here ...
22736 * kern/i386/coreboot/init.c: ... to here.
22737
22738 * kern/i386/linuxbios/table.c: Move from here ...
22739 * kern/i386/coreboot/mmap.c: ... to here.
22740
22741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22742
22743 2008-08-11 Robert Millan <rmh@aybabtu.com>
22744
22745 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22746 errors. Leave it to the upper layer to handle them.
22747
22748 2008-08-09 Christian Franke <franke@computer.org>
22749
22750 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22751 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22752 Install `grub.d/10_windows' only on Cygwin.
22753 * configure.ac: Add subst of `target_os'.
22754 Check `target_os' also before setting TARGET_OBJ2ELF.
22755 Add `--enable-grub-pe2elf'.
22756
22757 2008-08-08 Robert Millan <rmh@aybabtu.com>
22758
22759 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22760 (grub_last_time): Change type to grub_uint64_t.
22761 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22762 (grub_disk_close): Likewise.
22763
22764 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22765 (run_menu): Migrate code from to using grub_get_time_ms().
22766
22767 * util/misc.c (grub_get_time_ms): New function.
22768
22769 2008-08-08 Marco Gerards <marco@gnu.org>
22770
22771 * disk/ata.c (grub_ata_regget): Change return type to
22772 `grub_uint8_t'.
22773 (grub_ata_regget2): Likewise.
22774 (grub_ata_wait_status): New function.
22775 (grub_ata_wait_busy): Removed function, updated all users to use
22776 `grub_ata_wait_status'.
22777 (grub_ata_wait_drq): Likewise.
22778 (grub_ata_cmd): New function.
22779 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22780 error handling.
22781 (grub_ata_pio_write): Add error handling.
22782 (grub_atapi_identify): Likewise.
22783 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22784 handling.
22785 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22786 handling. Actually use the detected registers. Reorder the
22787 detection logic such that it is easier to read.
22788 (grub_ata_pciinit): Do not assign the same ID to each controller.
22789 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22790 handling.
22791 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22792
22793 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22794
22795 2008-08-08 Marco Gerards <marco@gnu.org>
22796
22797 * NEWS: Update.
22798
22799 2008-08-07 Bean <bean123ch@gmail.com>
22800
22801 * include/grub/x86_64/pci.h: New file.
22802
22803 2008-08-07 Christian Franke <franke@computer.org>
22804
22805 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22806 (TIMER2_GATE): Likewise.
22807 (grub_pit_wait): Add enable/disable of the timer2 gate
22808 bit of port 0x61. This fixes a possible infinite loop.
22809
22810 2008-08-07 Bean <bean123ch@gmail.com>
22811
22812 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22813 kern/i386/tsc.c and kern/i386/pit.c.
22814
22815 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22816 x86_64 platform.
22817
22818 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22819 <grub/i386/tsc.h>.
22820
22821 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22822
22823 2008-08-07 Bean <bean123ch@gmail.com>
22824
22825 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22826
22827 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22828
22829 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22830 multiple inclusion. Add #include <grub/types.h>.
22831
22832 2008-08-06 Christian Franke <franke@computer.org>
22833
22834 * conf/common.rmk: Build and install `10_windows'.
22835 * util/grub.d/10_windows.in: New script.
22836
22837 2008-08-06 Pavel Roskin <proski@gnu.org>
22838
22839 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22840
22841 2008-08-06 Robert Millan <rmh@aybabtu.com>
22842
22843 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22844 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22845
22846 2008-08-06 Bean <bean123ch@gmail.com>
22847
22848 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22849 (grub_pxefs_fs_int): Remove dummy definition.
22850 (grub_pxefs_open): Use data->block_size to store the current block
22851 size setting.
22852 (grub_pxefs_read): Use block size stored in data->block_size. As the
22853 value of grub_pxe_blksize can be changed after the file is opened.
22854
22855 2008-08-06 Bean <bean123ch@gmail.com>
22856
22857 * fs/i386/pc/pxe.c (curr_file): new variable.
22858 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22859 require the dummy internal file system anymore.
22860 (grub_pxefs_read): Removed.
22861 (grub_pxefs_close): Likewise.
22862 (grub_pxefs_fs_int): Likewise.
22863 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22864 connection when we switch file.
22865 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22866
22867 2008-08-06 Robert Millan <rmh@aybabtu.com>
22868
22869 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22870 `halt.mod'.
22871 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22872 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22873
22874 * kern/i386/halt.c: New file.
22875 * kern/i386/reboot.c: Likewise.
22876 * include/grub/i386/reboot.h: Likewise.
22877 * include/grub/i386/halt.h: Likewise.
22878
22879 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22880 Include `<grub/cpu/halt.h>'.
22881 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22882 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22883
22884 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22885 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22886 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22887 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22888 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22889 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22890 from here ...
22891 * include/grub/i386/at_keyboard.h: ... to here.
22892
22893 2008-08-05 Robert Millan <rmh@aybabtu.com>
22894
22895 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22896 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22897 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22898 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22899 `kern/generic/millisleep.c'.
22900
22901 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22902 instead of grub_get_rtc().
22903 (grub_tsc_init): Initialize `tsc_boot_time'.
22904
22905 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22906 (grub_machine_init): Use grub_tsc_init() rather than
22907 installing an RTC-based handler via grub_install_get_time_ms().
22908
22909 * kern/i386/pit.c: New file.
22910 * include/grub/i386/pit.h: Likewise.
22911
22912 2008-08-05 Bean <bean123ch@gmail.com>
22913
22914 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22915
22916 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22917 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22918 (pxe_mod_SOURCES): New macro.
22919 (pxe_mod_CFLAGS): Likewise.
22920 (pxe_mod_LDFLAGS): Likewise.
22921 (pxecmd_mod_SOURCES): Likewise.
22922 (pxecmd_mod_CFLAGS): Likewise.
22923 (pxecmd_mod_LDFLAGS): Likewise.
22924
22925 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22926 (grub_pxe_call): Likewise.
22927
22928 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22929
22930 * commands/i386/pc/pxecmd.c: New file.
22931
22932 * fs/i386/pc/pxe.c: Likewise.
22933
22934 * include/grub/i386/pc/pxe.h: Likewise.
22935
22936 2008-08-05 Bean <bean123ch@gmail.com>
22937
22938 * util/console.c (grub_console_cur_color): New variable.
22939 (grub_console_standard_color): Likewise.
22940 (grub_console_normal_color): Likewise.
22941 (grub_console_highlight_color): Likewise.
22942 (color_map): Likewise.
22943 (use_color): Likewise.
22944 (NUM_COLORS): New macro.
22945 (grub_ncurses_setcolorstate): Handle color properly.
22946 (grub_ncurses_setcolor): Don't change color here, just remember the
22947 settings, color will be set in grub_ncurses_setcolorstate.
22948 (grub_ncurses_getcolor): New function.
22949 (grub_ncurses_init): Initialize color pairs.
22950 (grub_ncurses_term): New member grub_ncurses_getcolor.
22951
22952 2008-08-05 Colin D Bennett <colin@gibibit.com>
22953
22954 High resolution timer support. Implemented for x86 CPUs using TSC.
22955 Extracted generic grub_millisleep() so it's linked in only as needed.
22956 This requires a Pentium compatible CPU; if the RDTSC instruction is
22957 not supported, then it falls back on the generic grub_get_time_ms()
22958 implementation that uses the machine's RTC.
22959
22960 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22961 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22962 `kern/generic/millisleep.c'.
22963
22964 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22965 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22966
22967 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22968 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22969
22970 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22971
22972 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22973 `kern/generic/millisleep.c'.
22974
22975 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22976
22977 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22978
22979 * kern/generic/rtc_get_time_ms.c: New file.
22980
22981 * kern/generic/millisleep.c: New file.
22982
22983 * kern/misc.c: Don't include
22984 <kern/time.h> anymore.
22985 (grub_millisleep_generic): Removed.
22986
22987 * commands/sleep.c (grub_interruptible_millisleep): Uses
22988 grub_get_time_ms() instead of grub_get_rtc().
22989
22990 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22991 function.
22992 (grub_cpu_is_cpuid_supported): New inline function.
22993 (grub_cpu_is_tsc_supported): New inline function.
22994 (grub_tsc_init): New function prototype.
22995 (grub_tsc_get_time_ms): New function prototype.
22996
22997 * kern/i386/tsc.c (grub_get_time_ms): New file.
22998
22999 * include/grub/time.h: Include <grub/types.h.
23000 (grub_millisleep_generic): Removed.
23001 (grub_get_time_ms): New prototype.
23002 (grub_install_get_time_ms): New prototype.
23003 (grub_rtc_get_time_ms): New prototype.
23004
23005 * kern/time.c (grub_get_time_ms): New function.
23006 (grub_install_get_time_ms): New function.
23007
23008 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23009 <grub/time.h> anymore.
23010 (grub_millisleep): Removed.
23011 (grub_machine_init): Call grub_tsc_init.
23012
23013 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23014 get_time_ms() implementation.
23015
23016 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23017 (ieee1275_get_time_ms): New function.
23018 (grub_machine_init): Install get_time_ms() implementation.
23019
23020 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23021 (grub_machine_init): Call grub_tsc_init().
23022 (grub_millisleep): Removed.
23023
23024 * kern/ieee1275/init.c (grub_millisleep): Removed.
23025 (grub_machine_init): Install ieee1275_get_time_ms()
23026 implementation.
23027 (ieee1275_get_time_ms): New function.
23028 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23029 real work.
23030
23031 2008-08-05 Marco Gerards <marco@gnu.org>
23032
23033 * disk/ata.c: Include <grub/pci.h>.
23034 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23035 (grub_ata_initialize): Rewritten.
23036 (grub_ata_device_initialize): New function.
23037
23038 2008-08-04 Pavel Roskin <proski@gnu.org>
23039
23040 * kern/main.c: Include grub/mm.h.
23041
23042 2008-08-04 Robert Millan <rmh@aybabtu.com>
23043
23044 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23045 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23046 corruption problem).
23047
23048 2008-08-04 Robert Millan <rmh@aybabtu.com>
23049
23050 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23051 warnings introduced in my last commit.
23052
23053 2008-08-03 Robert Millan <rmh@aybabtu.com>
23054
23055 Make PCI available on all i386 architectures.
23056
23057 * include/grub/i386/pc/pci.h: Move from here ...
23058 * include/grub/i386/pci.h: ... to here.
23059
23060 * include/grub/i386/pc/pci.h: Remove.
23061 * include/grub/i386/efi/pci.h: Remove.
23062 * include/grub/x86_64/efi/pci.h: Remove.
23063
23064 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23065 `<grub/cpu/pci.h>'.
23066
23067 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23068 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23069 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23070
23071 * conf/i386-ieee1275.rmk: Likewise.
23072
23073 2008-08-03 Robert Millan <rmh@aybabtu.com>
23074
23075 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23076 (grub_console_setcursor): Make it possible to set cursor off.
23077
23078 2008-08-03 Robert Millan <rmh@aybabtu.com>
23079
23080 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23081 of modules instead of assuming which platform provides what.
23082 * util/update-grub.in: Likewise.
23083
23084 2008-08-03 Robert Millan <rmh@aybabtu.com>
23085
23086 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23087 instead of `grub_install_dos_part' to determine whether a drive needs
23088 to be prepended to prefix (`grub_install_dos_part' is not reliable,
23089 because it can be overridden when loading GRUB via Multiboot).
23090
23091 2008-08-02 Robert Millan <rmh@aybabtu.com>
23092
23093 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23094
23095 2008-08-02 Robert Millan <rmh@aybabtu.com>
23096
23097 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23098 of informational grub_dprintf() calls.
23099
23100 2008-08-02 Robert Millan <rmh@aybabtu.com>
23101
23102 * disk/memdisk.c (memdisk_size): Don't initialize.
23103 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23104
23105 * include/grub/i386/pc/kernel.h
23106 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23107 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23108 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23109 (grub_arch_memdisk_size): Remove.
23110
23111 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23112 field (was only used to transfer a constant). Add `type' field to
23113 support multiple module types.
23114 (grub_module_iterate): New function.
23115
23116 * kern/device.c (grub_device_open): Do not hide error messages
23117 when grub_disk_open() fails. Use grub_print_error() instead.
23118
23119 * kern/i386/pc/init.c (grub_arch_modules_addr)
23120 (grub_arch_memdisk_size): Remove functions.
23121 (grub_arch_modules_addr): Return the module address in high memory
23122 (now that it isn't copied anymore).
23123
23124 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23125 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23126 decompression routine (grub_total_module_size already includes that
23127 now). Don't copy modules back to low memory.
23128
23129 * kern/main.c: Include `<grub/mm.h>'.
23130 (grub_load_modules): Split out (and use) ...
23131 (grub_module_iterate): ... this function, which iterates through
23132 module objects and runs a hook.
23133 Comment out grub_mm_init_region() call, as it would cause non-ELF
23134 modules to be overwritten.
23135
23136 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23137 the memdisk image in its own region, make it part of the module list.
23138 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23139 (main): Parse --memdisk|-m option, and pass user-provided path as
23140 parameter to generate_image().
23141 (add_segments): Pass `memdisk_path' down to load_modules().
23142 (load_modules): Embed memdisk image in module section when requested.
23143 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23144 `header.type' instead of `header.offset'.
23145
23146 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23147 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23148 (memdisk_mod_LDFLAGS): New variables.
23149 * conf/i386-coreboot.rmk: Likewise.
23150 * conf/i386-ieee1275.rmk: Likewise.
23151
23152 2008-08-02 Robert Millan <rmh@aybabtu.com>
23153
23154 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23155 (backward_relocator): New variables. Used to allocate and relocate
23156 the payload, respectively.
23157 (grub_multiboot_load_elf32): Load into heap instead of requested
23158 address, install the appropriate relocator code in each bound of
23159 the payload, and set the entry point such that
23160 grub_multiboot_real_boot() will jump to one of them.
23161
23162 * kern/i386/loader.S (grub_multiboot_payload_size)
23163 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23164 (grub_multiboot_payload_entry_offset): New variables.
23165 (grub_multiboot_real_boot): Set cpu context to what the relocator
23166 expects, and jump to the relocator instead of the payload.
23167
23168 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23169 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23170 (grub_multiboot_payload_entry_offset): Export.
23171
23172 2008-08-01 Bean <bean123ch@gmail.com>
23173
23174 * normal/menu_entry.c (editor_getline): Don't return the original
23175 string as result, as it will be released by lexer once it has done
23176 using it.
23177
23178 2008-08-01 Robert Millan <rmh@aybabtu.com>
23179
23180 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23181 within menuentries, not before them.
23182 util/grub.d/10_hurd.in: Likewise.
23183
23184 2008-08-01 Bean <bean123ch@gmail.com>
23185
23186 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23187 (bufio_mod_SOURCES): New macro.
23188 (bufio_mod_CFLAGS): Likewise.
23189 (bufio_mod_LDFLAGS): Likewise.
23190
23191 * include/grub/bufio.h: New file.
23192
23193 * io/bufio.c: Likewise.
23194
23195 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23196 (grub_video_reader_png): Use grub_buffile_open to open file.
23197
23198 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23199 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23200
23201 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23202 (grub_video_reader_tga): Use grub_buffile_open to open file.
23203
23204 * font/manager.c: Include <grub/bufio.h>.
23205 (add_font): Use grub_buffile_open to open file.
23206
23207 2008-07-31 Robert Millan <rmh@aybabtu.com>
23208
23209 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23210 ELF segments, use a macro for arbitrarily accessing any of them instead
23211 of preparing a pointer that allows access to one at a time.
23212 (grub_multiboot_load_elf64): Likewise.
23213
23214 2008-07-31 Bean <bean123ch@gmail.com>
23215
23216 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23217 GRUB_KERNEL_MACHINE_DATA_END.
23218
23219 2008-07-30 Robert Millan <rmh@aybabtu.com>
23220
23221 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23222 Increase from 0x50 to 0x60.
23223 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23224 use UUIDs to identify the root drive for them. If that's not
23225 possible, abort.
23226 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23227 check, for cross-disk installs.
23228
23229 2008-07-30 Robert Millan <rmh@aybabtu.com>
23230
23231 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23232 is non-empty, use it to set the `prefix' environment variable instead
23233 of the usual approach.
23234 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23235 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23236 environment variable instead of dummy make_install_device().
23237
23238 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23239 (start): Insert a data section, with `grub_prefix' variable.
23240 * kern/i386/linuxbios/startup.S: Likewise.
23241
23242 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23243 New variable reference.
23244 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23245 New macro. Defines offset of `grub_prefix' within startup.S (relative
23246 to `start').
23247 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23248 section within startup.S (relative to `start').
23249 * include/grub/i386/coreboot/kernel.h: Likewise.
23250
23251 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23252 Overwrite grub_prefix with its contents, at the beginning of the
23253 first segment.
23254 (main): Understand -p|--prefix.
23255
23256 2008-07-30 Robert Millan <rmh@aybabtu.com>
23257
23258 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23259
23260 2008-07-30 Robert Millan <rmh@aybabtu.com>
23261
23262 * term/i386/pc/vga_text.c (grub_console_cls): Use
23263 grub_console_gotoxy() to go back to beginning of the screen.
23264 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23265
23266 2008-07-29 Christian Franke <franke@computer.org>
23267
23268 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23269 Add conversion of emulated mount points on Cygwin.
23270
23271 2008-07-29 Christian Franke <franke@computer.org>
23272
23273 * util/update-grub.in: Add a check for admin
23274 group on Cygwin.
23275 Remove old `grub.cfg.new' before creation.
23276 Add `-f' to `mv' to handle the different filesystem
23277 semantics of Windows.
23278
23279 2008-07-29 Bean <bean123ch@gmail.com>
23280
23281 * normal/main.c (get_line): Fix buffer overflow bug.
23282
23283 2008-07-28 Robert Millan <rmh@aybabtu.com>
23284
23285 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23286 (struct grub_apple_header): New struct. Describes the layout of
23287 the partmap header.
23288 (apple_partition_map_iterate): Check the header magic as well as the
23289 partition magic (which was already being checked).
23290
23291 2008-07-28 Pavel Roskin <proski@gnu.org>
23292
23293 * genmk.rb: Add a warning to the beginning of the output that
23294 it's a generated file and should not be edited.
23295
23296 2008-07-28 Robert Millan <rmh@aybabtu.com>
23297
23298 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23299 with the same number are found, just use issue a warning with
23300 grub_dprintf(), as this error has been reported to be non-fatal.
23301
23302 2008-07-27 Robert Millan <rmh@aybabtu.com>
23303
23304 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23305 information.
23306
23307 2008-07-27 Bean <bean123ch@gmail.com>
23308
23309 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23310 (grub_fat_find_dir): Ignore case when comparing filename.
23311
23312 2008-07-27 Bean <bean123ch@gmail.com>
23313
23314 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23315 smallino, as it's more descriptive, and i8count can be confused with
23316 the other field count.
23317 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23318 inode type.
23319
23320 2008-07-27 Bean <bean123ch@gmail.com>
23321
23322 * commands/crc.c: New file.
23323
23324 * lib/crc.c: Likewise.
23325
23326 * include/grub/lib/crc.h: Likewise.
23327
23328 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23329
23330 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23331 (hexdump): Move this function to ...
23332
23333 * lib/hexdump.c: ... here.
23334
23335 * include/grub/hexdump.h: Renamed to ...
23336
23337 * include/grub/lib/hexdump.h: ... this.
23338
23339 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23340
23341 * util/grub-editenv.c: Likewise.
23342
23343 * include/envblk.h: Renamed to ...
23344
23345 * include/lib/envblk.h: ... this.
23346
23347 * util/envblk.c: Renamed to ...
23348
23349 * lib/envblk.c: ... this.
23350
23351 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23352 lib/hexdump.c.
23353 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23354 (pkglib_MODULES): Add crc.mod.
23355 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23356 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23357 (crc_mod_SOURCES): New macro.
23358 (crc_mod_CFLAGS): Likewise.
23359 (crc_mod_LDFLAGS): Likewise.
23360
23361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23362
23363 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23364
23365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23366
23367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23368
23369 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23370
23371 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23372
23373 * commands/help.c: Include <grub/term.h>.
23374 (TERM_WIDTH): Removed. Updated all users.
23375
23376 2008-07-27 Pavel Roskin <proski@gnu.org>
23377
23378 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23379 spurious warnings about a comment within a comment.
23380
23381 2008-07-25 Robert Millan <rmh@aybabtu.com>
23382
23383 * util/getroot.c (find_root_device): Skip devices that match
23384 /dev/dm-[0-9]. This lets the real device be found for any type of
23385 abstraction (LVM, EVMS, RAID..).
23386 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23387 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23388 device is found first, find_root_device() will now skip it.
23389
23390 2008-07-24 Pavel Roskin <proski@gnu.org>
23391
23392 * include/grub/types.h: Use __builtin_bswap32() and
23393 __builtin_bswap64() with gcc 4.3 and newer.
23394
23395 2008-07-24 Christian Franke <franke@computer.org>
23396
23397 * util/i386/pc/grub-install.in: If `--debug' is specified,
23398 pass `--verbose' to grub-setup.
23399 Abort script if make_system_path_relative_to_its_root() fails.
23400
23401 2008-07-24 Bean <bean123ch@gmail.com>
23402
23403 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23404 variable `target_platform' should be `platform'.
23405
23406 2008-07-24 Bean <bean123ch@gmail.com>
23407
23408 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23409 (grub_png_init_fixed_block): New function.
23410 (grub_png_decode_image_data): Handle fixed huffman code compression.
23411
23412 2008-07-24 Bean <bean123ch@gmail.com>
23413
23414 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23415 (grub_pe2elf_SOURCES): New macro.
23416 (CLEANFILES): Add grub-pe2elf.
23417
23418 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23419 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23420 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23421 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23422 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23423 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23424 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23425 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23426 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23427 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23428 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23429 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23430 (GRUB_PE32_DT_FUNCTION): Likewise.
23431 (GRUB_PE32_REL_I386_DIR32): Likewise.
23432 (GRUB_PE32_REL_I386_REL32): Likewise.
23433 (grub_pe32_symbol): New structure.
23434 (grub_pe32_reloc): Likewise.
23435
23436 * util/grub-pe2elf.c: New file.
23437
23438 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23439 start symbol in non pc platform.
23440
23441 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23442
23443 The following patches are from Christian Franke.
23444
23445 * include/grub/dl.h: Remove .previous, gas supports this only
23446 for ELF format.
23447
23448 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23449 Remove .type, gas supports this only for ELF format.
23450
23451 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23452 nullbytes in symbol table. This fixes an infinite loop if table is
23453 zero filled.
23454
23455 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23456 TARGET_IMG_LDFLAGS and EXEEXT.
23457
23458 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23459 TARGET_IMG_LDFLAGS_AC.
23460 (grub_CHECK_STACK_ARG_PROBE): New function.
23461
23462 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23463
23464 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23465
23466 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23467 to set TARGET_IMG_LD* accordingly.
23468 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23469 Add call to grub_CHECK_STACK_ARG_PROBE.
23470 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23471
23472 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23473
23474 * genmk.rb: Add EXEEXT to CLEANFILES.
23475
23476 2008-07-23 Robert Millan <rmh@aybabtu.com>
23477
23478 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23479 define the codes for arrows and lines used for the menu).
23480 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23481 as well.
23482
23483 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23484 fonts, because the latter are too slow.
23485
23486 2008-07-21 Bean <bean123ch@gmail.com>
23487
23488 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23489 a20. Run keyboard test last, as it will cause macbook to halt.
23490
23491 2008-07-18 Pavel Roskin <proski@gnu.org>
23492
23493 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23494 load foreign architecture modules correctly anyway. Keep
23495 support for loading host architecture modules, whether we
23496 compile them or not.
23497
23498 2008-07-17 Pavel Roskin <proski@gnu.org>
23499
23500 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23501 change target_cpu. The compiler default can mismatch target_cpu
23502 in any case.
23503
23504 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23505 * kern/efi/efi.c: Likewise.
23506
23507 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23508 target compiler is functional.
23509 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23510 are set up.
23511
23512 * configure.ac: Default to efi platform for x86_64-apple. Allow
23513 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23514 adjustments from the rest, only do them if target is not
23515 explicitly given. Merge other adjustments with the final sanity
23516 check. Remove an extraneous check for supported CPU. Be
23517 specific which CPU and which platform is not supported.
23518
23519 * configure.ac: Default to pc platform for x86_64.
23520
23521 2008-07-17 Robert Millan <rmh@aybabtu.com>
23522
23523 Partial LinuxBIOS -> Coreboot rename.
23524
23525 * conf/i386-linuxbios.rmk: Renamed to ...
23526 * conf/i386-coreboot.rmk: ... this.
23527 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23528 * configure.ac: Accept "coreboot" as input platform (but maintain
23529 compatibility with "linuxbios").
23530 * include/grub/i386/linuxbios: Renamed to ...
23531 * include/grub/i386/coreboot: ... this.
23532
23533 2008-07-17 Bean <bean123ch@gmail.com>
23534
23535 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23536 (appleldr_mod_SOURCE): New variable.
23537 (appleldr_mod_CFLAGS): Likewise.
23538 (appleldr_mod_LDFLAGS): Likewise.
23539 (pci_mod_SOURCES): Likewise.
23540 (pci_mod_CFLAGS): Likewise.
23541 (pci_mod_LDFLAGS): Likewise.
23542 (lspci_mod_SOURCES): Likewise.
23543 (lspci_mod_CFLAGS): Likewise.
23544 (lspci_mod_LDFLAGS): Likewise.
23545
23546 * conf/x86_64-efi.rmk: New file.
23547
23548 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23549 macro.
23550 (grub_efidisk_write): Likewise.
23551
23552 * include/efi/api.h (efi_call_0): New macro.
23553 (efi_call_1): Likewise.
23554 (efi_call_2): Likewise.
23555 (efi_call_3): Likewise.
23556 (efi_call_4): Likewise.
23557 (efi_call_5): Likewise.
23558 (efi_call_6): Likewise.
23559
23560 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23561 grub_rescue_cmd_chainloader.
23562
23563 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23564 (grub_pe32_optional_header): Change some fields based on i386 or
23565 x86_64 platform.
23566 (GRUB_PE32_PE32_MAGIC): Likewise.
23567
23568 * include/grub/efi/uga_draw.h: New file.
23569
23570 * include/grub/elf.h (STN_ABS): New constant.
23571 (R_X86_64_NONE): Relocation constant for x86_64.
23572 (R_X86_64_64): Likewise.
23573 (R_X86_64_PC32): Likewise.
23574 (R_X86_64_GOT32): Likewise.
23575 (R_X86_64_PLT32): Likewise.
23576 (R_X86_64_COPY): Likewise.
23577 (R_X86_64_GLOB_DAT): Likewise.
23578 (R_X86_64_JUMP_SLOT): Likewise.
23579 (R_X86_64_RELATIVE): Likewise.
23580 (R_X86_64_GOTPCREL): Likewise.
23581 (R_X86_64_32): Likewise.
23582 (R_X86_64_32S): Likewise.
23583 (R_X86_64_16): Likewise.
23584 (R_X86_64_PC16): Likewise.
23585 (R_X86_64_8): Likewise.
23586 (R_X86_64_PC8): Likewise.
23587
23588 * include/grub/i386/efi/pci.h: New file.
23589
23590 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23591 Change it value based on platform.
23592 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23593 (GRUB_E820_RAM): Likewise.
23594 (GRUB_E820_RESERVED): Likewise.
23595 (GRUB_E820_ACPI): Likewise.
23596 (GRUB_E820_NVS): Likewise.
23597 (GRUB_E820_EXEC_CODE): Likewise.
23598 (GRUB_E820_MAX_ENTRY): Likewise.
23599 (grub_e820_mmap): New structure.
23600 (linux_kernel_header): Change the efi field according to different
23601 kernel version, also field from linux_kernel_header.
23602
23603 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23604
23605 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23606 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23607 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23608 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23609 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23610 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23611 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23612 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23613 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23614 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23615
23616 * include/grub/x86_64/efi/kernel.h: New file.
23617
23618 * include/grub/x86_64/efi/loader.h: Likewise.
23619
23620 * include/grub/x86_64/efi/machine.h: Likewise.
23621
23622 * include/grub/x86_64/efi/pci.h: Likewise.
23623
23624 * include/grub/x86_64/efi/time.h: Likewise.
23625
23626 * include/grub/x86_64/linux.h: Likewise.
23627
23628 * include/grub/x86_64/setjmp.h: Likewise.
23629
23630 * include/grub/x86_64/time.h: Likewise.
23631
23632 * include/grub/x86_64/types.h: Likewise.
23633
23634 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23635 GRUB_TARGET_SIZEOF_VOID_P.
23636
23637 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23638 (grub_efi_locate_handle): Likewise.
23639 (grub_efi_open_protocol): Likewise.
23640 (grub_efi_set_text_mode): Likewise.
23641 (grub_efi_stall): Likewise.
23642 (grub_exit): Likewise.
23643 (grub_reboot): Likewise.
23644 (grub_halt): Likewise.
23645 (grub_efi_exit_boot_services): Likewise.
23646 (grub_get_rtc): Likewise.
23647
23648 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23649 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23650 (grub_efi_allocate_pages): Wrap efi calls.
23651 (grub_efi_free_pages): Wrap efi calls.
23652 (grub_efi_get_memory_map): Wrap efi calls.
23653
23654 * kern/x86_64/dl.c: New file.
23655
23656 * kern/x86_64/efi/callwrap.S: Likewise.
23657
23658 * kern/x86_64/efi/startup.S: Likewise.
23659
23660 * loader/efi/appleloader.c: Likewise.
23661
23662 * loader/efi/chainloader.c (cmdline): New variable.
23663 (grub_chainloader_unload): Wrap efi calls.
23664 (grub_chainloader_boot): Likewise.
23665 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23666 command line.
23667
23668 * loader/efi/chainloader_normal.c (chainloader_command):
23669 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23670 command line.
23671
23672 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23673 method.
23674 (grub_e820_add_region): New function.
23675 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23676 booting.
23677 (grub_find_video_card): New function.
23678 (grub_linux_setup_video): New function.
23679 (grub_rescue_cmd_linux): Probe for video information.
23680
23681 * normal/x86_64/setjmp.S: New file.
23682
23683 * term/efi/console.c (map_char): New function.
23684 (grub_console_putchar): Map unicode char.
23685 (grub_console_checkkey): Wrap efi calls.
23686 (grub_console_getkey): Likewise.
23687 (grub_console_getwh): Likewise.
23688 (grub_console_gotoxy): Likewise.
23689 (grub_console_cls): Likewise.
23690 (grub_console_setcolorstate): Likewise.
23691 (grub_console_setcursor): Likewise.
23692
23693 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23694
23695 2008-07-16 Pavel Roskin <proski@gnu.org>
23696
23697 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23698 format strings.
23699
23700 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23701 pointer, not an integer. This fixes a warning and prevents
23702 precision loss on 64-bit systems.
23703 (relocate_addresses): Remove unneeded cast.
23704
23705 2008-07-15 Pavel Roskin <proski@gnu.org>
23706
23707 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23708
23709 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23710
23711 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23712 Fix comparison between signed and unsigned.
23713
23714 * include/grub/i386/ieee1275/console.h: Declare
23715 grub_console_init() and grub_console_fini().
23716
23717 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23718 It's empty and unused.
23719
23720 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23721 beginning to avoid warnings with some compilers.
23722
23723 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23724 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23725
23726 2008-07-14 Pavel Roskin <proski@gnu.org>
23727
23728 * kern/env.c (grub_register_variable_hook): Don't copy empty
23729 string, it leaks memory. Pass "" to grub_env_set(), it should
23730 handle constant strings.
23731
23732 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23733 * commands/cmp.c (grub_cmd_cmp): Likewise.
23734 * kern/dl.c (grub_dl_flush_cache): Likewise.
23735 (grub_dl_load_core): Likewise.
23736 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23737 (grub_elf64_load_phdrs): Likewise.
23738
23739 2008-07-13 Pavel Roskin <proski@gnu.org>
23740
23741 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23742 between signed and unsigned.
23743 (LzmaEnc_Finish): Fix warning about an unused parameter.
23744
23745 2008-07-13 Bean <bean123ch@gmail.com>
23746
23747 * Makefile.in (enable_lzo): New rule.
23748
23749 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23750
23751 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23752
23753 * boot/i386/pc/lnxboot.S: #include <config.h>.
23754
23755 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23756 its value according to the compression algorithm used, lzo or lzma.
23757
23758 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23759 compression algorithm according to configure macro.
23760
23761 * kern/i386/pc/startup.S (codestart): Likewise.
23762
23763 * kern/i386/pc/lzma_decode.S: New file.
23764
23765 * include/grub/lib/LzFind.h: Likewise.
23766
23767 * include/grub/lib/LzHash.h: Likewise.
23768
23769 * include/grub/lib/LzmaDec.h: Likewise.
23770
23771 * include/grub/lib/LzmaEnc.h: Likewise.
23772
23773 * include/grub/lib/LzmaTypes.h: Likewise.
23774
23775 * lib/LzFind.c: Likewise.
23776
23777 * lib/LzmaDec.c: Likewise.
23778
23779 * lib/LzmaEnc.c: Likewise.
23780
23781 2008-07-13 Bean <bean123ch@gmail.com>
23782
23783 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23784 (grub_ext4_extent_header): New structure.
23785 (grub_ext4_extent): Likewise.
23786 (grub_ext4_extent_idx): Likewise.
23787 (grub_ext4_find_leaf): New function.
23788 (grub_ext2_read_block): Handle extents.
23789
23790 2008-07-12 Robert Millan <rmh@aybabtu.com>
23791
23792 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23793
23794 2008-07-11 Robert Millan <rmh@aybabtu.com>
23795
23796 * util/grub.d/40_custom.in: New file. Example on how to add custom
23797 entries to /etc/grub.d.
23798 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23799 40_custom (implicitly, by merging all the grub.d rules).
23800
23801 2008-07-11 Pavel Roskin <proski@gnu.org>
23802
23803 * commands/read.c (grub_getline): Fix invalid memory access.
23804 Don't add newline to the variable value.
23805
23806 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23807 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23808 (serial_hw_get_port): Check validity of the port number.
23809 (grub_cmd_serial): Check return value of serial_hw_get_port().
23810
23811 2008-07-07 Pavel Roskin <proski@gnu.org>
23812
23813 * boot/i386/pc/diskboot.S (notification_string): Replace
23814 "Loading kernel" with just "loading". This is shorter, less
23815 confusing and saves a few bytes for possible future changes.
23816
23817 2008-07-05 Pavel Roskin <proski@gnu.org>
23818
23819 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23820 size for ATAPI devices, they are undefined. Output sector
23821 number in decimal form.
23822
23823 * disk/ata.c: Use named constants for status bits.
23824
23825 2008-07-04 Pavel Roskin <proski@gnu.org>
23826
23827 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23828 grub_addr_t before casting it to the void pointer to fix a
23829 warning. Non-addressable regions are discarded earlier.
23830 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23831 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23832 (check_signature): Don't shadow table_header.
23833 (grub_linuxbios_table_iterate): Cast numeric constants to
23834 grub_linuxbios_table_header_t.
23835 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23836 grub_stop().
23837
23838 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23839 prevent warnings.
23840
23841 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23842 pointer, which can cause warnings. Support 64-bit addresses.
23843
23844 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23845 of sizeof(long). This fixes PowerPC image generation on x86_64.
23846
23847 2008-07-04 Robert Millan <rmh@aybabtu.com>
23848
23849 This fixes a performance issue when pc & gpt partmap iterators
23850 didn't abort iteration even after our hook found what it was
23851 looking for (often causing expensive probes of non-existent drives).
23852
23853 Some callers relied on previous buggy behaviour, since they would
23854 raise an error when their own hooks caused early abortion of its
23855 iteration.
23856
23857 * kern/device.c (grub_device_open): Improve error message.
23858 * disk/lvm.c (grub_lvm_open): Likewise.
23859 * disk/raid.c (grub_raid_open): Likewise.
23860
23861 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23862 when hook requests it, independently of grub_errno.
23863 (pc_partition_map_probe): Do not fail when find_func() caused
23864 early abortion of pc_partition_map_iterate().
23865
23866 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23867 when hook requests it, independently of grub_errno.
23868 (gpt_partition_map_probe): Do not fail when find_func() caused
23869 early abortion of gpt_partition_map_iterate().
23870
23871 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23872 when hook requests it, independently of grub_errno. Do not fail when
23873 part_map_iterate_hook() caused early abortion of p->iterate().
23874
23875 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23876 when grub_partition_iterate() returned with non-zero.
23877
23878 2008-07-03 Pavel Roskin <proski@gnu.org>
23879
23880 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23881 like we do in grub_ata_pio_read().
23882 (grub_ata_readwrite): Always write individual sectors. Fix the
23883 sector count for the remainder.
23884 (grub_ata_write): Enable writing to ATA devices. Correctly
23885 report error for ATAPI devices.
23886
23887 2008-07-02 Pavel Roskin <proski@gnu.org>
23888
23889 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23890 warning.
23891
23892 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23893 for every read sector, we already increment it for the whole
23894 batch. This fixes reading more than 256 sectors at once.
23895
23896 * util/grub-editenv.c (cmd_info): Cast argument to long
23897 explicitly. ptrdiff_t reduces to int on i386.
23898
23899 * util/grub-editenv.c (main): Be specific which parameter is
23900 missing.
23901
23902 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23903 (memdisk): Make memdisk_orig_addr a pointer.
23904
23905 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23906 for file offsets, use grub_off_t instead. Fix printf format
23907 warnings.
23908
23909 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23910 there. Real unexpected warnings should not drown in the noise
23911 about known problems.
23912
23913 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23914 grub_disk_addr_t for memory addresses.
23915
23916 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23917 explicitly to fix a warning.
23918
23919 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23920
23921 * Makefile.in (MODULE_LDFLAGS): New variable.
23922 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23923 the linker accepts --build-id=none.
23924 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23925 MODULE_LDFLAGS.
23926 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23927
23928 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23929 those in Linux XFS code. Provide a way to access 64-bit parent
23930 inode.
23931 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23932 the end of struct grub_xfs_dir_header.
23933
23934 2008-07-02 Bean <bean123ch@gmail.com>
23935
23936 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23937 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23938 and GRUB_IEEE1275_FLAG_NO_ANSI.
23939
23940 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23941 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23942 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23943
23944 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23945 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23946
23947 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23948 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23949
23950 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23951 esc sequence on non ANSI terminal.
23952 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23953
23954 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23955 beginning of file.
23956
23957 2008-07-02 Bean <bean123ch@gmail.com>
23958
23959 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23960 (grub_editenv_SOURCES): New variable.
23961 (pkglib_MODULES): Add loadenv.mod.
23962 (loadenv_mod_SOURCES): New variable.
23963 (loadenv_mod_CFLAGS): Likewise.
23964 (loadenv_mod_LDFLAGS): Likewise.
23965
23966 * include/grub/envblk.h: New file.
23967
23968 * util/envblk.c: New file.
23969
23970 * util/grub-editenv.c: New file.
23971
23972 * commands/loadenv.c: New file.
23973
23974 2008-07-01 Pavel Roskin <proski@gnu.org>
23975
23976 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23977 not unsigned char. This fixes warnings and is consistent with
23978 other tags.
23979
23980 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23981
23982 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23983
23984 * term/tparm.c (analyze): Always set *popcount.
23985
23986 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23987 cast to fix a warning.
23988
23989 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23990 cast to suppress a warning.
23991
23992 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23993 grub_fshelp_read_file() expects.
23994
23995 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23996 write uuid as a 32-bit value in CPU byte order, so declare and
23997 use it as such.
23998
23999 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24000 long if the format specifier expects it.
24001 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24002 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24003 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24004 long to fix a warning.
24005 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24006 grub_dprintf() arguments to fix warnings.
24007
24008 2008-06-30 Pavel Roskin <proski@gnu.org>
24009
24010 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24011 install_bsd_part immediately before core.img is embedded or
24012 modified on disk. This fixes core.img verification if core.img
24013 cannot be embedded.
24014
24015 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24016 core_path to calculate the blocklist.
24017 Patch from Javier Martín <lordhabbit@gmail.com>
24018
24019 2008-06-29 Robert Millan <rmh@aybabtu.com>
24020
24021 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24022 block to disk block.
24023 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24024 Patch from Niels Böhm <bitbucket@arcor.de>
24025
24026 2008-06-29 Robert Millan <rmh@aybabtu.com>
24027
24028 * util/update-grub_lib.in (font_path): Search for fonts in
24029 /boot/grub first, which is more likely to be readable (we aren't
24030 deciding where fonts live, just looking for them).
24031
24032 2008-06-26 Pavel Roskin <proski@gnu.org>
24033
24034 * util/biosdisk.c (read_device_map): Don't leave dead map
24035 entries for devices failing stat() check.
24036
24037 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24038 core_path_dev for the core.img path on the target device.
24039
24040 2008-06-26 Robert Millan <rmh@aybabtu.com>
24041
24042 * disk/fs_uuid.c: New file.
24043 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24044 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24045 (fs_uuid_mod_LDFLAGS): New variables.
24046 * include/grub/disk.h (grub_disk_dev_id): Add
24047 `GRUB_DISK_DEVICE_UUID_ID'.
24048 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24049 implement iterate().
24050
24051 2008-06-26 Robert Millan <rmh@aybabtu.com>
24052
24053 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24054 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24055 Linux image includes no initrd.
24056
24057 2008-06-21 Javier Martín <lordhabbit@gmail.com>
24058
24059 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24060 call to resolve the core image location that effectively appended the
24061 name twice.
24062
24063 2008-06-21 Robert Millan <rmh@aybabtu.com>
24064
24065 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24066 call from here ...
24067
24068 * util/grub.d/10_hurd.in: ... to here ...
24069 * util/grub.d/10_linux.in: ... and here.
24070
24071 2008-06-19 Robert Millan <rmh@aybabtu.com>
24072
24073 * kern/main.c (grub_main): Export `prefix' variable immediately
24074 after it has been set by grub_machine_set_prefix().
24075
24076 2008-06-19 Robert Millan <rmh@aybabtu.com>
24077
24078 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24079 search result when not saving to variable, not the other way around.
24080 When saving to variable, abort iteration as soon as a match is found.
24081
24082 2008-06-19 Robert Millan <rmh@aybabtu.com>
24083
24084 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24085 check for partition that provides /boot/grub. Its logic is flawed,
24086 as it prevents prepare_grub_to_access_device() from being called
24087 multiple times.
24088
24089 2008-06-19 Robert Millan <rmh@aybabtu.com>
24090
24091 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24092 "insmod" command directly when abstraction modules are needed,
24093 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
24094 since it had already been processed).
24095
24096 2008-06-19 Pavel Roskin <proski@gnu.org>
24097
24098 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24099 changed. This is needed in case GRUB_LIBDIR changes.
24100 * conf/i386-ieee1275.rmk: Likewise.
24101 * conf/i386-linuxbios.rmk: Likewise.
24102 * conf/i386-pc.rmk: Likewise.
24103 * conf/powerpc-ieee1275.rmk: Likewise.
24104
24105 2008-06-18 Pavel Roskin <proski@gnu.org>
24106
24107 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24108 kernel_elf_symlist.c to symlist.c for consistency with other
24109 architectures. Update all users.
24110 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24111
24112 2008-06-18 Robert Millan <rmh@aybabtu.com>
24113
24114 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24115 it in prefix.
24116
24117 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24118 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24119 a RAID device, run setup() for all members independently on whether
24120 LVM abstraction is being used.
24121 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24122 If grub-mkimage has set `*install_dos_part == -2', don't override this
24123 value.
24124 Perform *install_dos_part adjustments independently on whether
24125 we're embedding or not.
24126 Clarify error message when image is too big for embedding.
24127 Remove duplicate *install_dos_part stanza.
24128
24129 2008-06-17 Robert Millan <rmh@aybabtu.com>
24130
24131 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24132 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24133 variables.
24134 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24135 values in grub_ofconsole_normal_color and
24136 grub_ofconsole_highlight_color (they're not directly related to
24137 background and foreground).
24138 (grub_ofconsole_setcolorstate): Extract background and foreground
24139 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24140
24141 2008-06-17 Robert Millan <rmh@aybabtu.com>
24142
24143 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24144 /boot/grub for the check in last commit, not /boot (they could be
24145 different partitions).
24146
24147 2008-06-16 Robert Millan <rmh@aybabtu.com>
24148
24149 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24150 asked to setup access for the same partition that provides /boot,
24151 don't bother using UUIDs since our root already has the value we
24152 want.
24153
24154 2008-06-16 Robert Millan <rmh@aybabtu.com>
24155
24156 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24157 I2O devices.
24158 Patch from Sven Mueller <sven@debian.org>.
24159
24160 2008-06-16 Robert Millan <rmh@aybabtu.com>
24161
24162 * util/update-grub.in: Check for $EUID instead of $UID.
24163 Reported by Vincent Zweije.
24164
24165 2008-06-16 Bean <bean123ch@gmail.com>
24166
24167 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
24168 (grub_ext2_read_block): Likewise.
24169 (grub_ext2_read_inode): Likewise.
24170 (grub_ext2_mount): Likewise.
24171 (grub_ext2_close): Likewise.
24172 (grub_ext3_get_journal): Removed.
24173
24174 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
24175 (grub_reiserfs_read_symlink): Likewise.
24176 (grub_reiserfs_mount): Likewise.
24177 (grub_reiserfs_open): Likewise.
24178 (grub_reiserfs_read): Likewise.
24179 (grub_reiserfs_close): Likewise.
24180 (grub_reiserfs_get_journal): Removed.
24181
24182 * fs/fshelp.c (grub_fshelp_read): Removed.
24183 (grub_fshelp_map_block): Likewise.
24184
24185 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24186 (grub_fshelp_journal): Likewise.
24187 (grub_fshelp_read): Likewise.
24188 (grub_fshelp_map_block): Likewise.
24189
24190 2008-06-16 Pavel Roskin <proski@gnu.org>
24191
24192 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24193 floating point anymore.
24194 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24195
24196 2008-06-15 Pavel Roskin <proski@gnu.org>
24197
24198 * commands/ls.c (grub_ls_list_files): Use integer calculations
24199 for human readable format, avoid floating point use.
24200 * kern/misc.c (grub_ftoa): Remove.
24201 (grub_vsprintf): Remove floating point support.
24202
24203 2008-06-15 Robert Millan <rmh@aybabtu.com>
24204
24205 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
24206 devices.
24207 Reported by Max Vozeler.
24208
24209 2008-06-15 Robert Millan <rmh@aybabtu.com>
24210
24211 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24212 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24213 skipped later.
24214 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24215 the beginning of the prefix.
24216
24217 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24218 It is assumed that if we have a memdisk, grub-mkimage has set
24219 grub_prefix to include the "(memdisk)" drive in it.
24220
24221 2008-06-15 Robert Millan <rmh@aybabtu.com>
24222
24223 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24224 Initialize keyboard controller after registering the terminal, so that
24225 grub_printf() can be called from grub_keyboard_controller_init().
24226
24227 2008-06-15 Robert Millan <rmh@aybabtu.com>
24228
24229 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24230 extent-btree which is written as big endian on disk.
24231 Reported by Alain Greppin <al@chilibi.org>.
24232
24233 2008-06-14 Robert Millan <rmh@aybabtu.com>
24234
24235 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24236 * util/i386/pc/grub-install.in (modules): Likewise.
24237
24238 2008-06-13 Pavel Roskin <proski@gnu.org>
24239
24240 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24241
24242 2008-06-13 Bean <bean123ch@gmail.com>
24243
24244 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24245
24246 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24247
24248 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24249 to indicate sparse block.
24250
24251 2008-06-12 Pavel Roskin <proski@gnu.org>
24252
24253 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24254 number, grub_fshelp_read() does it for us.
24255
24256 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24257 linear disk read with journal translation.
24258 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24259 * include/grub/fshelp.h: Declare grub_fshelp_read().
24260
24261 2008-06-09 Pavel Roskin <proski@gnu.org>
24262
24263 * fs/minix.c (grub_minix_mount): Handle error reading
24264 superblock.
24265
24266 2008-06-08 Robert Millan <rmh@aybabtu.com>
24267
24268 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24269 don't append the RAID prefix afterwards.
24270 Reported by Clint Adams.
24271
24272 2008-06-08 Robert Millan <rmh@aybabtu.com>
24273
24274 Based on description from Pavel:
24275 * kern/disk.c (grub_disk_check_range): Rename to ...
24276 (grub_disk_adjust_range): ... this. Add a comment explaining the
24277 tasks performed by this function.
24278
24279 2008-06-08 Robert Millan <rmh@aybabtu.com>
24280
24281 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24282 `num_serial' (for consistency with other variables).
24283 (struct grub_ntfs_data): Add `uuid' member.
24284 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24285 (grub_ntfs_uuid): New function.
24286 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24287
24288 2008-06-07 Pavel Roskin <proski@gnu.org>
24289
24290 * util/biosdisk.c (open_device): Revert last change to the
24291 function, it broke installation. The sector needs to be
24292 different dependent on which device is opened.
24293
24294 2008-06-06 Robert Millan <rmh@aybabtu.com>
24295
24296 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24297 rest of GRUB, and breakage doesn't happen if its value were modified.
24298
24299 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24300 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24301 a constant (same value).
24302 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24303 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24304
24305 2008-06-06 Robert Millan <rmh@aybabtu.com>
24306
24307 * util/biosdisk.c (open_device): Do not modify sector offset when
24308 accessing a partition. kern/disk.c already handles this for us.
24309
24310 2008-06-06 Robert Millan <rmh@aybabtu.com>
24311
24312 * util/grub-emu.c (grub_machine_init): Move code in this function from
24313 here ...
24314 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24315 segfault in case grub_printf() is called).
24316
24317 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24318 grub_probe. Update all users not to explicitly add it again.
24319 (grub_device): New variable; contains corresponding device for grubdir.
24320 (fs_module, partmap_module, devabstraction_module): Pass
24321 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24322 every time.
24323
24324 2008-06-05 Robert Millan <rmh@aybabtu.com>
24325
24326 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24327 is found, print it (same layout as with labels).
24328
24329 2008-06-04 Robert Millan <rmh@aybabtu.com>
24330
24331 * util/biosdisk.c (get_drive): Rename to ...
24332 (find_grub_drive): ... this. Update all users.
24333
24334 (get_os_disk): Rename to ...
24335 (convert_system_partition_to_system_disk): ... this. Update all users.
24336
24337 (find_drive): Rename to ...
24338 (find_system_device): ... this. Update all users.
24339
24340 2008-06-04 Robert Millan <rmh@aybabtu.com>
24341
24342 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24343 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24344 (make_device_map): Likewise.
24345
24346 2008-06-01 Robert Millan <rmh@aybabtu.com>
24347
24348 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24349 before dereferencing it.
24350
24351 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24352 union with fat12/fat16-specific ones. Add some new fields, including
24353 `num_serial' for both versions.
24354 (struct grub_fat_data): Add `uuid' member.
24355 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24356 names. Initialize `data->uuid' using `num_serial'.
24357 (grub_fat_uuid): New function.
24358 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24359
24360 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24361 (grub_reiserfs_uuid): New function.
24362 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24363 member.
24364
24365 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24366 (grub_xfs_uuid): New function.
24367 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24368
24369 2008-06-01 Robert Millan <rmh@aybabtu.com>
24370
24371 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24372 code that is backward compatible with pre-uuid search command.
24373
24374 2008-05-31 Robert Millan <rmh@aybabtu.com>
24375
24376 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24377 floppies after everything else, to ensure floppy drive isn't accessed
24378 unnecessarily (patch from Bean).
24379
24380 2008-05-31 Robert Millan <rmh@aybabtu.com>
24381
24382 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24383 not print device names when we were asked to set a variable.
24384
24385 2008-05-31 Robert Millan <rmh@aybabtu.com>
24386
24387 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24388 using "cursor-on" and "cursor-off" commands (understood at least by
24389 the Open Firmware flavour on OLPC).
24390
24391 2008-05-31 Michael Gorven <michael@gorven.za.net>
24392
24393 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24394 on and off sequences.
24395
24396 2008-05-31 Robert Millan <rmh@aybabtu.com>
24397
24398 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24399 * util/update-grub.in: Likewise.
24400
24401 2008-05-30 Pavel Roskin <proski@gnu.org>
24402
24403 * util/biosdisk.c (linux_find_partition): Simplify logic and
24404 make the code more universal. Keep special processing for
24405 devfs, but use a simple rule for all other devices. If the
24406 device ends with a number, append 'p' and the partition number.
24407 Otherwise, append only the partition number.
24408
24409 2008-05-30 Robert Millan <rmh@aybabtu.com>
24410
24411 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24412 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24413 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24414 the `root' parameter to Linux.
24415
24416 2008-05-30 Robert Millan <rmh@aybabtu.com>
24417
24418 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24419 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24420 --fs_uuid with --fs-uuid.
24421 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24422 all filesystems support them).
24423
24424 2008-05-30 Robert Millan <rmh@aybabtu.com>
24425
24426 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24427 grub_printf() flags, since we're printing in units of 2 bytes.
24428
24429 2008-05-30 Robert Millan <rmh@aybabtu.com>
24430
24431 * util/grub.d/00_header.in: Remove obsolete comment referencing
24432 convert_system_path_to_grub_path().
24433 * util/update-grub.in: Likewise.
24434 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24435 (convert_system_path_to_grub_path): Add a warning message explaining
24436 that this function is deprecated. Rely on is_path_readable_by_grub()
24437 for the readability checks.
24438 (font_path): Use is_path_readable_by_grub() for the readability
24439 check rather than convert_system_path_to_grub_path().
24440
24441 2008-05-30 Robert Millan <rmh@aybabtu.com>
24442
24443 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24444 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24445 converting it first.
24446 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24447 grub.cfg for access to font file, and afterwards call it again to set
24448 the root device.
24449
24450 2008-05-30 Robert Millan <rmh@aybabtu.com>
24451
24452 * commands/search.c (options): Add --fs_uuid option.
24453 (search_fs_uuid): New function.
24454 (grub_cmd_search): Fix --set argument passing.
24455 Use search_fs_uuid() when requested via --fs_uuid.
24456 (grub_search_init): Update help message.
24457 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24458 and redeclare it as an array of 16-bit words.
24459 (grub_ext2_uuid): New function.
24460 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24461 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24462 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24463 (GRUB_DEVICE_BOOT_UUID): New variables.
24464 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24465 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24466 whenever possible.
24467 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24468 just assume `root' variable has the right value.
24469 * util/grub.d/10_linux.in: Likewise.
24470 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24471 via PRINT_FS_UUID.
24472 (main): Recognise `-t fs_uuid' argument.
24473
24474 2008-05-30 Robert Millan <rmh@aybabtu.com>
24475
24476 * util/biosdisk.c (map): Redefine structure to hold information
24477 about GRUB drive name.
24478 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24479 drive names.
24480 (call_hook): Remove.
24481 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24482 member. Assume drive has partitions.
24483 (grub_util_biosdisk_open): Access device names via `.device' struct
24484 member.
24485 (open_device): Likewise.
24486 (find_drive): Likewise.
24487 (read_device_map): Adjust map[] usage to match the new struct
24488 definition. Don't check for duplicates (still possible, but not cheap
24489 anymore).
24490 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24491 (make_device_name): Remove assumption of BIOS-like drive names.
24492
24493 2008-05-30 Pavel Roskin <proski@gnu.org>
24494
24495 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24496 compiling execute.c doesn't need grub_script.tab.h anymore.
24497 (normal/command.c_DEPENDENCIES): Likewise.
24498 (normal/function.c_DEPENDENCIES): Likewise.
24499 * conf/i386-ieee1275.rmk: Likewise.
24500 * conf/i386-linuxbios.rmk: Likewise.
24501 * conf/i386-pc.rmk: Likewise.
24502 * conf/powerpc-ieee1275.rmk: Likewise.
24503 * conf/sparc64-ieee1275.rmk: Likewise.
24504
24505 2008-05-29 Pavel Roskin <proski@gnu.org>
24506
24507 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24508 when scanning metadata for volume group name.
24509
24510 * include/grub/script.h: Don't include grub_script.tab.h. It's
24511 a generated file, which may only be included from the files with
24512 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24513 use union YYSTYPE, as the later allows forward declaration.
24514 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24515
24516 2008-05-29 Robert Millan <rmh@aybabtu.com>
24517
24518 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24519 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24520 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24521 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24522 scan codes.
24523
24524 2008-05-29 Robert Millan <rmh@aybabtu.com>
24525
24526 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24527 control key combinations.
24528
24529 2008-05-29 Robert Millan <rmh@aybabtu.com>
24530
24531 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24532 * util/ieee1275/grub-install.in: ... to here.
24533 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24534 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24535 (grub_install_SOURCES): Likewise.
24536
24537 2008-05-29 Robert Millan <rmh@aybabtu.com>
24538
24539 * fs/affs.c: Update copyright year.
24540 * fs/ext2.c: Likewise.
24541 * fs/fshelp.c: Likewise.
24542 * fs/hfsplus.c: Likewise.
24543 * fs/ntfs.c: Likewise.
24544 * fs/xfs.c: Likewise.
24545 * include/grub/fshelp.h: Likewise.
24546 * util/grub-mkdevicemap.c: Likewise.
24547
24548 2008-05-28 Robert Millan <rmh@aybabtu.com>
24549
24550 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24551 might need to be fatfs to support some firmware implementations
24552 (e.g. OFW or EFI).
24553
24554 2008-05-28 Robert Millan <rmh@aybabtu.com>
24555
24556 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24557 devices.
24558 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24559 (make_device_map): Likewise.
24560
24561 2008-05-20 Bean <bean123ch@gmail.com>
24562
24563 * fs/fshelp.c (grub_fshelp_map_block): New function.
24564 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24565 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24566
24567 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24568 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24569 (grub_fshelp_journal): New structure.
24570 (grub_fshelp_map_block): New function prototype.
24571 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24572 (grub_fshelp_map_block): Likewise.
24573
24574 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24575 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24576 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24577 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24578 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24579 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24580 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24581 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24582 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24583 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24584 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24585 (grub_ext2_sblock): New members for journal support.
24586 (grub_ext3_journal_header): New structure.
24587 (grub_ext3_journal_revoke_header): Likewise.
24588 (grub_ext3_journal_block_tag): Likewise.
24589 (grub_ext3_journal_sblock): Likewise.
24590 (grub_fshelp_node): New members logfile and journal.
24591 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24592 grub_fshelp_map_block to get real block number.
24593 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24594 number.
24595 (grub_ext2_read_inode): Likewise.
24596 (grub_ext3_get_journal): New function.
24597 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24598 (grub_ext2_close): Release memory used by journal.
24599
24600 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24601 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24602 (grub_reiserfs_transaction_header): Renamed to
24603 grub_reiserfs_description_block, replace field data with real_blocks.
24604 (grub_reiserfs_commit_block): New structure.
24605 (grub_reiserfs_data): New member journal.
24606 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24607 number.
24608 (grub_reiserfs_read_symlink): Likewise.
24609 (grub_reiserfs_iterate_dir): Likewise.
24610 (grub_reiserfs_open): Likewise.
24611 (grub_reiserfs_read): Likewise.
24612 (grub_reiserfs_get_journal): New function.
24613 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24614 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24615 using grub_reiserfs_get_journal.
24616 (grub_reiserfs_close): Release memory used by journal.
24617
24618 * fs/affs.c (grub_affs_read_block): Change block type to
24619 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24620
24621 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24622
24623 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24624
24625 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24626
24627 * fs/udf.c (grub_udf_read_block): Change block type to
24628 grub_disk_addr_t. Use type cast to avoid warning.
24629
24630 * fs/xfs.c (grub_xfs_read_block): Likewise.
24631
24632 2008-05-16 Christian Franke <franke@computer.org>
24633
24634 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24635 to ensure that break with ESC will always work.
24636 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24637 Remove ESC from keyboard queue.
24638
24639 2008-05-16 Christian Franke <franke@computer.org>
24640
24641 * util/biosdisk.c: [__CYGWIN__] Add includes.
24642 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24643 (get_os_disk): Move variable declarations to OS specific
24644 parts to avoid warning.
24645 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24646 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24647 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24648 Cygwin.
24649 * util/getroot.c: [__CYGWIN__] Add includes.
24650 (strip_extra_slashes): Fix "/" case.
24651 [__CYGWIN__] (get_win32_path): New function.
24652 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24653 [__CYGWIN__] (find_root_device): Disable.
24654 [__CYGWIN__] (get_bootsec_serial): New function.
24655 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24656 [__linux__] (grub_guess_root_device): Add early returns to simplify
24657 structure.
24658 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24659 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24660 check for Linux only.
24661
24662 2008-05-15 Bean <bean123ch@gmail.com>
24663
24664 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24665 keyboard hang problem in apple's intel mac.
24666
24667 2008-05-09 Robert Millan <rmh@aybabtu.com>
24668
24669 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24670 devices.
24671 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24672 (make_device_map): Likewise.
24673 Reported by Aurelien Jarno <aurel32@debian.org>
24674
24675 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24676
24677 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24678 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24679 (make_device_map): Output entries for xvd type disks.
24680
24681 2008-05-07 Robert Millan <rmh@aybabtu.com>
24682
24683 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24684 devices.
24685 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24686 (make_device_map): Likewise.
24687 Reported by Roland Dreier <rdreier@cisco.com>
24688
24689 2008-05-07 Robert Millan <rmh@aybabtu.com>
24690
24691 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24692 grub_strstr() call. Correct a few mistakes in failure path handling.
24693
24694 2008-05-06 Robert Millan <rmh@aybabtu.com>
24695
24696 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24697 Do not print a trailing slash (therefore, the root directory is an
24698 empty string).
24699 (convert_system_path_to_grub_path): Do not remove trailing slash
24700 from make_system_path_relative_to_its_root() output.
24701
24702 * util/i386/pc/grub-install.in: Add trailing slash to output from
24703 make_system_path_relative_to_its_root().
24704
24705 2008-05-06 Robert Millan <rmh@aybabtu.com>
24706
24707 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24708 ensures that output lines aren't intermangled with those sent to
24709 stderr (via grub_util_info()).
24710 * util/grub-probe.c (grub_refresh): Likewise.
24711 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24712
24713 2008-05-05 Christian Franke <franke@computer.org>
24714
24715 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24716 Add Cygwin device names.
24717 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24718 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24719 (check_device): Return error instead of success on empty name.
24720 (make_device_map): Move label inside linux specific code to
24721 prevent compiler warning.
24722
24723 2008-04-30 Robert Millan <rmh@aybabtu.com>
24724
24725 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24726 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24727 first boot option.
24728 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24729
24730 2008-04-29 Robert Millan <rmh@aybabtu.com>
24731
24732 * docs/grub.cfg: New file (example GRUB configuration).
24733
24734 2008-04-26 Robert Millan <rmh@aybabtu.com>
24735
24736 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24737 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24738 and `disk/ieee1275/nand.c'.
24739
24740 2008-04-25 Bean <bean123ch@gmail.com>
24741
24742 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24743 i386-linuxbios.
24744
24745 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24746 change the buffer size to 4096 for cdrom device.
24747
24748 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24749 and nand.mod.
24750 (_linux_mod_SOURCES): New variable.
24751 (_linux_mod_CFLAGS): Likewise.
24752 (_linux_mod_LDFLAGS): Likewise.
24753 (linux_mod_SOURCES): Likewise.
24754 (linux_mod_CFLAGS): Likewise.
24755 (linux_mod_LDFLAGS): Likewise.
24756 (nand_mod_SOURCES): Likewise.
24757 (nand_mod_CFLAGS): Likewise.
24758 (nand_mod_LDFLAGS): Likewise.
24759
24760 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24761 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24762 type property. (nand device in olpc don't have this property)
24763
24764 * include/grub/disk.h (grub_disk_dev_id): New macro
24765 GRUB_DISK_DEVICE_NAND_ID.
24766
24767 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24768 function prototype.
24769 (grub_rescue_cmd_initrd): Likewise.
24770
24771 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24772 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24773 ofw_cif_handler and ofw_idt, adjust padding number.
24774
24775 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24776 GRUB_MACHINE_IEEE1275 is defined.
24777
24778 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24779 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24780
24781 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24782 on nested function heap_init.
24783 (grub_upper_mem): New variable for i386-ieee1275.
24784 (grub_get_extended_memory): New function for i386-ieee1275.
24785 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24786
24787 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24788 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24789 property.
24790
24791 * loader/i386/ieee1275/linux.c: New file.
24792
24793 * loader/i386/ieee1275/linux_normal.c: New file.
24794
24795 * disk/ieee1275/nand.c: New file.
24796
24797 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24798
24799 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24800 value.
24801 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24802
24803 2008-04-18 Robert Millan <rmh@aybabtu.com>
24804
24805 Restructures early code path on ieee1275 to unify grub_main() as
24806 the first C function that is executed in every platform.
24807
24808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24809 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24810 cmain().
24811 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24812 * kern/ieee1275/cmain.c (cmain): Rename to ...
24813 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24814 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24815 at the beginning.
24816
24817 2008-04-18 Robert Millan <rmh@aybabtu.com>
24818
24819 * util/update-grub.in: Fix syntax error when setting
24820 `GRUB_PRELOAD_MODULES'.
24821 Reported by Stephane Chazelas <stephane@artesyncp.com>
24822
24823 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24824
24825 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24826 section into account, newer toolchains generate unique build ids
24827 * configure.ac: remove the test for --build-id=none acceptance,
24828 we want build ids to be preserved
24829 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24830 far from other sections don't cause the raw binary images grow
24831 size
24832
24833 2008-04-15 Robert Millan <rmh@aybabtu.com>
24834
24835 * disk/lvm.c: Update copyright year.
24836 * kern/misc.c: Likewise.
24837
24838 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24839
24840 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
24841 there is no memory left for physical volume name.
24842
24843 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24844
24845 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24846 volume name mapping to support bigger than 9 character names properly.
24847
24848 2008-04-13 Robert Millan <rmh@aybabtu.com>
24849
24850 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24851 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24852
24853 2008-04-13 Christian Franke <franke@computer.org>
24854
24855 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24856 to create a floppy emulation boot CD when non emulation mode
24857 does not work.
24858 Enable Joliet CD filesystem extension.
24859
24860 2008-04-13 Robert Millan <rmh@aybabtu.com>
24861
24862 * kern/misc.c (grub_strncat): Fix off-by-one error.
24863 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24864
24865 * kern/env.c (grub_env_context_close): Clear current context, not
24866 previous one.
24867 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24868
24869 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24870
24871 2008-04-13 Robert Millan <rmh@aybabtu.com>
24872
24873 Improve robustness when handling LVM.
24874
24875 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
24876 (and leave `*p' unmodified).
24877 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24878 through it.
24879 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24880 iterating through it.
24881 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24882 through it.
24883 (grub_lvm_scan_device): Check the return value (and fail gracefully
24884 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24885 Don't assume `vg->pvs != NULL' when iterating through it.
24886
24887 2008-04-13 Robert Millan <rmh@aybabtu.com>
24888
24889 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24890 * genmk.rb (partmap): New variable.
24891 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24892 (#{partmap}): New target rule.
24893 * genpartmaplist.sh: New file.
24894 * Makefile.in (pkglib_DATA): Add partmap.lst.
24895 (partmap.lst): New target rule.
24896 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24897 modules (including all partition maps), instead of preloading them.
24898
24899 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24900
24901 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24902 `linux-boot-prober' (if installed) to detect other operating
24903 systems which are installed on the computer and add them to
24904 the boot menu.
24905 * conf/common.rmk: Build and install 30_os-prober.
24906
24907 2008-04-12 Robert Millan <rmh@aybabtu.com>
24908
24909 * kern/powerpc/ieee1275/init.c: Move from here ...
24910 * kern/ieee1275/init.c: ... to here. Update all users.
24911
24912 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24913 * kern/ieee1275/cmain.c: ... to here. Update all users.
24914
24915 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24916 * kern/ieee1275/openfw.c: ... to here. Update all users.
24917
24918 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24919 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24920
24921 2008-04-10 Pavel Roskin <proski@gnu.org>
24922
24923 * configure.ac: Always use "_cv_" in cache variables for
24924 compatibility with Autoconf 2.62.
24925
24926 2008-04-07 Robert Millan <rmh@aybabtu.com>
24927
24928 Revert grub/machine/init.h addition by Pavel (since it breaks on
24929 i386-ieee1275 and others):
24930 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24931 * util/powerpc/ieee1275/misc.c: Likewise.
24932
24933 2008-04-07 Robert Millan <rmh@aybabtu.com>
24934
24935 * util/grub-probe.c (probe): Improve error message.
24936
24937 2008-04-07 Robert Millan <rmh@aybabtu.com>
24938
24939 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24940 (this prevents the presence of a bogus entry from ruining the whole
24941 thing).
24942
24943 2008-04-06 Pavel Roskin <proski@gnu.org>
24944
24945 * util/biosdisk.c: Include grub/util/biosdisk.h.
24946 * util/grub-fstest.c (execute_command): Make static.
24947 * util/grub-mkdevicemap.c (check_device): Likewise.
24948 * util/i386/pc/misc.c: Include grub/machine/init.h.
24949 * util/powerpc/ieee1275/misc.c: Likewise.
24950 * util/lvm.c: Include grub/util/lvm.h.
24951 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24952 grub/cache.h.
24953 * util/raid.c: Include grub/util/raid.h.
24954 (grub_util_getdiskname): Make static.
24955
24956 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24957 grub_hostfs_fini(), as they are called from grub_init_all() and
24958 grub_fini_all() respectively. This fixes an infinite loop in
24959 grub-fstest due to double registration of hostfs.
24960 Reported by Christian Franke <Christian.Franke@t-online.de>
24961
24962 2008-04-05 Pavel Roskin <proski@gnu.org>
24963
24964 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24965 all 8 functions. Otherwise, probe function 0 only.
24966
24967 2008-04-04 Pavel Roskin <proski@gnu.org>
24968
24969 * commands/lspci.c (grub_lspci_iter): Print the bus number
24970 correctly.
24971
24972 * commands/lspci.c (grub_pci_classes): Fix typos.
24973 (grub_lspci_iter): Don't print func twice. Print vendor ID
24974 before device ID, as it's normally done.
24975
24976 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24977 Fix signedness warnings.
24978 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24979 Likewise.
24980 * util/ieee1275/get_disk_name.c: Include config.h so that
24981 _GNU_SOURCE is defined and getline() is declared. Mark an
24982 unused argument as such. Fix a signedness warning.
24983
24984 2008-04-02 Pavel Roskin <proski@gnu.org>
24985
24986 * genkernsyms.sh.in: Use more robust assignments for CC and
24987 srcdir. Quote srcdir.
24988 * gensymlist.sh.in: Likewise. Assert at the compile time that
24989 the symbol table is not empty.
24990
24991 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24992 * fs/cpio.c (grub_cpio_read): Likewise.
24993
24994 2008-04-01 Pavel Roskin <proski@gnu.org>
24995
24996 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24997 * disk/host.c (grub_host_open): Likewise.
24998 * disk/loopback.c (grub_loopback_open): Likewise.
24999 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25000 disk->id as in disk/host.c, not a multi-character constant.
25001
25002 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25003 later is obsolete, potentially dangerous and sets a bad example.
25004 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25005 * util/misc.c (grub_util_get_image_size): Likewise.
25006
25007 * disk/loopback.c (options): Improve help for "--partitions".
25008
25009 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25010 options to align them with the short options, e.g. "echo -e".
25011
25012 2008-03-31 Bean <bean123ch@gmail.com>
25013
25014 * video/reader/png.c (grub_png_data): New member is_16bit and
25015 image_data.
25016 (grub_png_decode_image_header): Detect 16 bit png image.
25017 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25018 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25019 (grub_video_reader_png): Release memory occupied by image_data.
25020
25021 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25022 4096 bytes.
25023 (grub_nfs_mount): Skip the test for sector per cluster.
25024
25025 * include/grub/ntfs.h (MAX_SPC): Removed.
25026
25027 2008-03-31 Bean <bean123ch@gmail.com>
25028
25029 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25030 (grub_probe_SOURCES): Add fs/afs.c.
25031 (grub_fstest_SOURCES): Likewise.
25032 (afs_mod_SOURCES): New variable.
25033 (afs_mod_CFLAGS): Likewise.
25034 (afs_mod_LDFLAGS): Likewise.
25035
25036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25037 (grub_emu_SOURCES): Likewise.
25038
25039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25040
25041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25042
25043 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25044
25045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25046
25047 * fs/afs.c: New file.
25048
25049 2008-03-30 Pavel Roskin <proski@gnu.org>
25050
25051 * disk/host.c: Include grub/misc.h to fix a warning.
25052 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25053 warnings about implicit declarations.
25054
25055 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25056 variable.
25057 * include/grub/i386/loader.h: Change declaration of
25058 grub_linux_boot() to match what grub_loader_set() expects.
25059 * util/getroot.c (grub_guess_root_device): Return const char* to
25060 fix a warning.
25061 * util/grub-probe.c (probe): Fix a warning about uninitialized
25062 abstraction_name variable.
25063 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25064 second argument as unused to fix a warning.
25065
25066 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25067 missing grub_error() call.
25068
25069 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25070 2.60 and newer uses it to define datadir.
25071
25072 * commands/sleep.c: Fix warning about implicit declaration.
25073 * disk/memdisk.c: Likewise.
25074 * loader/aout.c: Likewise.
25075 * loader/i386/bsd_normal.c: Likewise.
25076 * util/grub-probe.c: Likewise.
25077
25078 * commands/i386/cpuid.c (has_longmode): Make static.
25079 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25080 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25081
25082 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25083 GDT. This is more robust, as %ds can change.
25084 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25085 calling real_to_prot().
25086 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25087
25088 2008-03-28 Pavel Roskin <proski@gnu.org>
25089
25090 * kern/i386/pc/startup.S: Assert that uncompressed functions
25091 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25092 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25093 code, as they push parts of the code (error handlers) beyond
25094 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25095 code as correctness and size.
25096
25097 2008-03-28 Pavel Roskin <proski@gnu.org>
25098
25099 * kern/i386/pc/startup.S
25100 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25101 data block address to the real mode, keep offset minimal. This
25102 works around a bug in AWARD BIOS on old Athlon systems, which
25103 makes CD detection hang.
25104
25105 2008-03-26 Pavel Roskin <proski@gnu.org>
25106
25107 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25108 const.
25109 * include/grub/normal.h: Add grub_parse_color_name_pair()
25110 declaration.
25111
25112 2008-03-24 Bean <bean123ch@gmail.com>
25113
25114 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25115 (cd_count): Removed.
25116 (cd_drive): New variable.
25117 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25118 (grub_biosdisk_call_hook): Likewise.
25119 (grub_biosdisk_iterate): Change cdrom detection method.
25120 (grub_biosdisk_open): Replace cd_start with cd_drive.
25121 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25122 detect cdrom device.
25123
25124 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25125 Removed.
25126 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25127 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25128 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25129 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25130 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25131 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25132 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25133 (grub_biosdisk_cdrp): New structure.
25134 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25135
25136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25137
25138 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25139 device.
25140
25141 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25142 New function.
25143
25144 2008-03-20 Robert Millan <rmh@aybabtu.com>
25145
25146 Remove 2 TiB limit in ata.mod.
25147 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25148 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25149 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25150 grub_uint64_t instead of grub_uint32_t.
25151
25152 2008-03-05 Bean <bean123ch@gmail.com>
25153
25154 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25155 (grub_multiboot): Set boot device.
25156
25157 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25158
25159 2008-03-02 Bean <bean123ch@gmail.com>
25160
25161 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25162 symlink_buffer.
25163
25164 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25165
25166 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25167 texinfo.tex.
25168
25169 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25170 modified.
25171
25172 * docs/fdl.texi: New file.
25173
25174 * docs/mdate-sh: New file. Copied from gnulib.
25175 * docs/texinfo.tex: Likewise.
25176
25177 * config.guess: Updated from gnulib.
25178 * install-sh: Likewise.
25179
25180 2008-02-28 Robert Millan <rmh@aybabtu.com>
25181
25182 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25183 (aout_mod_SOURCES): New variable.
25184 (aout_mod_CFLAGS): Likewise.
25185 (aout_mod_LDFLAGS): Likewise.
25186
25187 * conf/i386-ieee1275.rmk: Likewise.
25188
25189 2008-02-28 Robert Millan <rmh@aybabtu.com>
25190
25191 * util/update-grub.in: Reorganise terminal validity check. Accept
25192 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25193 Based on suggestion by Franklin PIAT.
25194
25195 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25196
25197 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25198 function.
25199 * util/getroot.c (grub_util_check_block_device): New function that
25200 returns the given argument if it is a block device and returns NULL else.
25201 * util/grub-probe.c (argument_is_device): New variable.
25202 (probe): Promote device_name from a variable to an argument. Receive
25203 device_name from grub_util_check_block_device() if path is NULL and from
25204 grub_guess_root_device() else. Do not free() device_name anymore.
25205 (options): Introduce new parameter '-d, --device'.
25206 (main): Add description of the new parameter to the help screen.
25207 Rename path variable to argument. Set argument_is_device if the '-d'
25208 option is given. Pass argument to probe() depending on
25209 argument_is_device.
25210
25211 2008-02-24 Bean <bean123ch@gmail.com>
25212
25213 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25214 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25215 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25216 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25217 (GRUB_ISO9660_VOLDESC_END): Likewise.
25218 (grub_iso9660_primary_voldesc): New member escape.
25219 (grub_iso9660_data): New member joliet.
25220 (grub_iso9660_convert_string): New function.
25221 (grub_iso9660_mount): Detect joliet extension.
25222 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25223 (grub_iso9660_iso9660_label): Likewise.
25224
25225 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25226 (grub_setup_SOURCES): Add fs/udf.c.
25227 (grub_fstest_SOURCES): Likewise.
25228 (udf_mod_SOURCES): New variable.
25229 (udf_mod_CFLAGS): Likewise.
25230 (udf_mod_LDFLAGS): Likewise.
25231
25232 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25233 (grub_emu_SOURCES): Likewise.
25234
25235 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25236
25237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25238
25239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25240
25241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25242
25243 * fs/udf.c: New file.
25244
25245 2008-02-24 Robert Millan <rmh@aybabtu.com>
25246
25247 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25248 (normal/lexer.c_DEPENDENCIES): New variables.
25249 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25250 (normal/lexer.c_DEPENDENCIES): Likewise.
25251 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25252 (normal/lexer.c_DEPENDENCIES): Likewise.
25253 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25254 (normal/lexer.c_DEPENDENCIES): Likewise.
25255 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25256 (normal/lexer.c_DEPENDENCIES): Likewise.
25257 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25258 (normal/lexer.c_DEPENDENCIES): Likewise.
25259
25260 2008-02-23 Robert Millan <rmh@aybabtu.com>
25261
25262 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25263 since they were intended to be in hex. This didn't break previously
25264 because of a bug in gpt_partition_map_iterate() (see below).
25265
25266 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25267 when checking the validity of GPT header.
25268 Remove `partno', since it always provides the same information as `i'.
25269
25270 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25271
25272 * include/grub/efi/time.h: Fix a wrong comment.
25273
25274 2008-02-19 Pavel Roskin <proski@gnu.org>
25275
25276 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25277 message.
25278
25279 2008-02-19 Bean <bean123ch@gmail.com>
25280
25281 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25282 (aout_mod_SOURCES): New variable.
25283 (aout_mod_CFLAGS): Likewise.
25284 (aout_mod_LDFLAGS): Likewise.
25285 (_bsd_mod_SOURCES): New variable.
25286 (_bsd_mod_CFLAGS): Likewise.
25287 (_bsd_mod_LDFLAGS): Likewise.
25288 (bsd_mod_SOURCES): New variable.
25289 (bsd_mod_CFLAGS): Likewise.
25290 (bsd_mod_LDFLAGS): Likewise.
25291
25292 * include/grub/aout.h: New file.
25293
25294 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25295
25296 * include/grub/i386/bsd.h: New file.
25297
25298 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25299 to make it public.
25300
25301 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25302 function is called, so that it's possible to change it inside the hook.
25303 (grub_elf64_load): Likewise.
25304 (grub_elf_file): Don't close the file if elf header is not found.
25305 (grub_elf_close): Close the file if grub_elf_file fails (The new
25306 grub_elf_file won't close it).
25307 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25308 (grub_elf64_size): Likewise.
25309
25310 * kern/i386/loader.S (grub_unix_real_boot): New function.
25311
25312 * loader/aout.c: New file.
25313
25314 * loader/i386/bsd.c: New file.
25315
25316 * loader/i386/bsd_normal.c: New file.
25317
25318 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25319
25320 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25321 can test other formats.
25322
25323 2008-02-19 Robert Millan <rmh@aybabtu.com>
25324
25325 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25326 (grub_gpt_partition_type_empty): Redefine with macro from
25327 `<grub/gpt_partition.h>'.
25328 (gpt_partition_map_iterate): Adjust partition type comparison.
25329
25330 Export `entry' as partmap-specific `part.data' struct.
25331 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25332
25333 * include/grub/gpt_partition.h (grub_gpt_header)
25334 (grub_gpt_partentry): ... to here (new file).
25335
25336 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25337
25338 (grub_gpt_partition_type_bios_boot): New const variable, defined
25339 with macro from `<grub/gpt_partition.h>'.
25340
25341 (setup): Replace `first_start' with `embed_region', which keeps
25342 track of the embed region (and is partmap-agnostic).
25343
25344 Replace find_first_partition_start() with find_usable_region(),
25345 which finds a usable region for embedding using partmap-specific
25346 knowledge (supports PC/MSDOS and GPT).
25347
25348 Fix all assumptions that the embed region start at sector 1, using
25349 `embed_region.start' from now on. Similarly, use `embed_region.end'
25350 rather than `first_start' to calculate available size.
25351
25352 In grub_util_info() message, replace "into after the MBR" with an
25353 indication of the specific sector our embed region starts at.
25354
25355 2008-02-19 Robert Millan <rmh@aybabtu.com>
25356
25357 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25358 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25359 `commands/reboot.c'.
25360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25361 (halt_mod_SOURCES): Likewise.
25362 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25363 (halt_mod_SOURCES): Likewise.
25364
25365 2008-02-17 Christian Franke <franke@computer.org>
25366
25367 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25368
25369 2008-02-17 Robert Millan <rmh@aybabtu.com>
25370
25371 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25372 set `first_start' to 0 for non-PC/MSDOS partition maps.
25373
25374 2008-02-16 Robert Millan <rmh@aybabtu.com>
25375
25376 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25377 do not assume partition map is PC/MSDOS before performing checks that
25378 are specific to that layout.
25379
25380 2008-02-13 Robert Millan <rmh@aybabtu.com>
25381
25382 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25383 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25384 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25385
25386 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25387
25388 * configure.ac: Only a cosmetic change on the handling of
25389 -fno-stack-protector.
25390
25391 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25392
25393 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25394 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25395 reboot.c.
25396 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25397 (halt_mod_SOURCES): New variable.
25398 (halt_mod_CFLAGS): Likewise.
25399 (halt_mod_LDFLAGS): Likewise.
25400 (reboot_mod_SOURCES): Likewise.
25401 (reboot_mod_CFLAGS): Likewise.
25402 (reboot_mod_LDFLAGS): Likewise.
25403
25404 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25405 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25406 reboot.c.
25407 (halt_mod_SOURCES): Likewise.
25408 (reboot_mod_SOURCES): Likewise.
25409
25410 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25411 commands/i386/pc/reboot.c by commands/reboot.c.
25412 (reboot_mod_SOURCES): Likewise.
25413
25414 * commands/i386/pc/reboot.c: merge this file ...
25415
25416 * commands/ieee1275/reboot.c: ... and this file ...
25417
25418 * commands/reboot.c: ... to this file.
25419 Add some precompiler directive to include the correct header for
25420 each machine.
25421
25422 * commands/ieee1275/halt.c: move this file ...
25423
25424 * commands/halt.c: ... to here.
25425 Add some precompiler directive to include the correct header for
25426 each machine.
25427
25428 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25429 (grub_halt): Likewise.
25430
25431 * kern/efi/efi.c (grub_reboot): New function.
25432 (grub_halt): Likewise.
25433
25434 2008-02-12 Robert Millan <rmh@aybabtu.com>
25435
25436 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25437 /dev (like it is done for /dev/mapper). This doesn't provide support
25438 for EVMS, but at least it is now easy to identify the problem when it
25439 arises.
25440
25441 2008-02-11 Robert Millan <rmh@aybabtu.com>
25442
25443 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25444 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25445 comparing it with -1, not 0.
25446
25447 2008-02-10 Robert Millan <rmh@aybabtu.com>
25448
25449 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25450 `disk/lvm.c'.
25451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25452 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25453
25454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25455 `disk/lvm.c' to the end of the list.
25456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25457 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25458
25459 2008-02-10 Robert Millan <rmh@aybabtu.com>
25460
25461 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25462 grub_print_error() instead. This will let user know why we're entering
25463 rescue mode.
25464 Based on suggestions from Sam Morris.
25465
25466 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25467
25468 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25469 on remaining N args, instead of "--" arg N times.
25470
25471 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25472
25473 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25474 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25475 pattern for unknown glyphs.
25476
25477 2008-02-09 Robert Millan <rmh@aybabtu.com>
25478
25479 * configure.ac: Probe for `help2man'.
25480 * Makefile.in (builddir): New variable.
25481 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25482 or otherwise add a few flags/options to it.
25483 (install-local): For every executable utility or script that is
25484 installed, invoke $(HELP2MAN) to install a manpage based on --help
25485 output.
25486
25487 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25488 that it doesn't prevent --help from working in build tree.
25489
25490 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25491 with `bug-grub@gnu.org'.
25492 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25493 * util/update-grub.in (usage): New function.
25494 Implement proper argument check, with support for --help and --version
25495 (as well as existing -y).
25496
25497 2008-02-09 Christian Franke <franke@computer.org>
25498
25499 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25500 avoid overwriting previous output.
25501 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25502
25503 2008-02-09 Robert Millan <rmh@aybabtu.com>
25504
25505 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25506 drawing the menu.
25507
25508 2008-02-09 Robert Millan <rmh@aybabtu.com>
25509
25510 * commands/sleep.c: New file.
25511 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25512 (sleep_mod_SOURCES): New variable.
25513 (sleep_mod_CFLAGS): Likewise.
25514 (sleep_mod_LDFLAGS): Likewise.
25515
25516 2008-02-09 Robert Millan <rmh@aybabtu.com>
25517
25518 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25519 situations in which we can deduce the RAID size and the superblock
25520 doesn't match it.
25521
25522 2008-02-09 Robert Millan <rmh@aybabtu.com>
25523
25524 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25525 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25526 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25527
25528 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25529 and return a grub_diskmemberlist_t composed of physical array members.
25530 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25531
25532 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25533 prototype.
25534 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25535 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25536 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25537
25538 * util/grub-probe.c (probe): Move partmap probing code from here ...
25539 (probe_partmap): ... to here.
25540 (probe): Use probe_partmap() once for the disk we're probing, and
25541 additionally, when such disk contains a memberlist() struct member,
25542 once for each disk that is contained in the structure returned by
25543 memberlist().
25544
25545 2008-02-09 Robert Millan <rmh@aybabtu.com>
25546
25547 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25548 environment variable to 'all' in order to obtain debug output from
25549 non-util/ code.
25550 * util/i386/pc/grub-setup.c (main): Likewise.
25551
25552 2008-02-08 Robert Millan <rmh@aybabtu.com>
25553
25554 * disk/raid.c (grub_raid_scan_device): Check for
25555 `array->device[sb.this_disk.number]' rather than for
25556 `array->device[sb.this_disk.number]->name', since the latter is not
25557 guaranteed to be accessible.
25558
25559 2008-02-08 Robert Millan <rmh@aybabtu.com>
25560
25561 * disk/raid.c: Update copyright.
25562 * fs/cpio.c: Likewise.
25563 * include/grub/raid.h: Likewise.
25564 * loader/i386/pc/multiboot.c: Likewise.
25565 * util/hostfs.c: Likewise.
25566
25567 2008-02-08 Robert Millan <rmh@aybabtu.com>
25568
25569 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25570 to a grub_disk_t array.
25571 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25572 `device[x]'.
25573 (grub_raid_scan_device): Replace `device[x].name' accesses with
25574 `device[x]->name'. Simplify initialization of `array->device[x]'.
25575
25576 2008-02-08 Robert Millan <rmh@aybabtu.com>
25577
25578 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25579 grub_dprintf() calls.
25580 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25581 error message.
25582
25583 2008-02-07 Christian Franke <franke@computer.org>
25584
25585 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25586 instead of fseek and ftell to support large files.
25587 (grub_hostfs_read): Likewise.
25588
25589 2008-02-07 Robert Millan <rmh@aybabtu.com>
25590
25591 Patch from Jeroen Dekkers.
25592 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25593 failure, since successfully reading all array members might not be
25594 required.
25595
25596 2008-02-06 Robert Millan <rmh@aybabtu.com>
25597
25598 * util/grub-probe.c (probe): Simplify partmap probing (with the
25599 assumption that the first word up to the underscore equals to
25600 the module name).
25601
25602 2008-02-06 Christian Franke <franke@computer.org>
25603
25604 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25605 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25606 last block of a cpio or tar stream.
25607 Check for "TRAILER!!!" instead of any empty data
25608 block to detect last block of a cpio stream.
25609 (grub_cpio_dir): Fix constness of variable np.
25610 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25611 cpio or tar trailer is detected. This fixes a crash
25612 on open of a non existing file.
25613
25614 2008-02-05 Bean <bean123ch@gmail.com>
25615
25616 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25617 address of entry.
25618 (grub_multiboot_load_elf64): Likewise.
25619 (grub_multiboot): Initialize mbi structure.
25620
25621 * util/grub-fstest.c: Don't include unused header file script.h.
25622
25623 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25624 of file.
25625 (grub_fstest_SOURCES): Likewise.
25626
25627 2008-02-05 Robert Millan <rmh@aybabtu.com>
25628
25629 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25630 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25631 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25632 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25633
25634 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25635 (translation_table): Replace hardcoded values with macros
25636 provided by `<grub/term.h>'.
25637
25638 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25639 (keyboard_map): Correct/add a few values, with macros provided
25640 by `<grub/term.h>'.
25641 (keyboard_map_shift): Zero values that don't differ from their
25642 `keyboard_map' equivalents.
25643 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25644 Discard the second scan code that is always sent by Caps lock.
25645 Only use `keyboard_map_shift' when it provides a non-zero value,
25646 otherwise fallback to `keyboard_map'.
25647
25648 2008-02-04 Bean <bean123ch@gmail.com>
25649
25650 * Makefile.in (enable_grub_fstest): New variable.
25651
25652 * conf/common.rmk (grub_fstest_init.lst): New rule.
25653 (grub_fstest_init.h): Likewise.
25654 (grub_fstest_init.c): Likewise.
25655 (util/grub-fstest.c_DEPENDENCIES): New variable.
25656 (grub_fstest_SOURCES): Likewise.
25657
25658 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25659
25660 * util/grub-fstest.c: New file.
25661
25662 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25663
25664 Make grub-setup handle a separate root device.
25665
25666 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25667 so that the root device can be compared with the destination
25668 device.
25669 When embedding the core image, if the root and destination devices
25670 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25671 0xFF.
25672 When not embedding, set ROOT_DRIVE to 0xFF.
25673
25674 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25675
25676 Add support for having a grub directory in a different drive. This
25677 is still only the data handling part.
25678
25679 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25680 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25681 (grub_root_drive): New variable.
25682
25683 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25684 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25685 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25686 as it was.
25687
25688 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25689
25690 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25691 macro.
25692 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25693
25694 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25695 is bogus, because PXE booting does not specify any drive
25696 correctly.
25697
25698 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25699 am not sure if this is really correct.
25700
25701 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25702 is always identical to the boot drive when booting from a CD.
25703
25704 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25705 longer.
25706 (root_drive): New variable.
25707 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25708 (setup_sectors): Push %dx right after popping it, because %dh will
25709 be modified later.
25710 (copy_buffer): Restore %dx.
25711
25712 2008-02-03 Robert Millan <rmh@aybabtu.com>
25713
25714 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25715 use `cdboot.img' for cdrom images.
25716
25717 2008-02-03 Robert Millan <rmh@aybabtu.com>
25718
25719 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25720 only setup gfxterm when `font' command has succeeded.
25721
25722 2008-02-03 Robert Millan <rmh@aybabtu.com>
25723
25724 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25725 (grub_rescue_cmd_multiboot_loader)
25726 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25727
25728 2008-02-03 Pavel Roskin <proski@gnu.org>
25729
25730 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25731 %edx and %esi from stack only after grub_gate_a20() is called.
25732 grub_gate_a20() clobbers %edx.
25733
25734 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25735
25736 * configure.ac (AC_INIT): Bumped to 1.96.
25737
25738 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25739 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25740 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25741 video/readers/png.c.
25742
25743 2008-02-03 Bean <bean123ch@gmail.com>
25744
25745 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25746 (cdboot_img_SOURCES): New variable.
25747 (cdboot_img_ASFLAGS): New variable.
25748 (cdboot_img_LDFLAGS): New variable.
25749
25750 * boot/i386/pc/cdboot.S: New file.
25751
25752 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25753 (cd_count): Likewise.
25754 (grub_biosdisk_get_drive): Add support for cd device.
25755 (grub_biosdisk_call_hook): Likewise.
25756 (grub_biosdisk_iterate): Likewise.
25757 (grub_biosdisk_open): Likewise.
25758 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25759 (grub_biosdisk_rw): Support reading from cd device.
25760 (GRUB_MOD_INIT): Iterate cd devices.
25761
25762 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25763 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25764 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25765
25766 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25767
25768 2008-02-02 Robert Millan <rmh@aybabtu.com>
25769
25770 * commands/read.c: New file.
25771 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25772 (read_mod_SOURCES): New variable.
25773 (read_mod_CFLAGS): Likewise.
25774 (read_mod_LDFLAGS): Likewise.
25775
25776 2008-02-02 Robert Millan <rmh@aybabtu.com>
25777
25778 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25779 determining whether menu has to be displayed.
25780
25781 2008-02-02 Marco Gerards <marco@gnu.org>
25782
25783 * bus/pci.c: New file.
25784
25785 * include/grub/pci.h: Likewise.
25786
25787 * include/grub/i386/pc/pci.h: Likewise.
25788
25789 * commands/lspci.c: Likewise.
25790
25791 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25792 `lspci.mod'.
25793 (pci_mod_SOURCES): New variable.
25794 (pci_mod_CFLAGS): Likewise.
25795 (pci_mod_LDFLAGS): Likewise.
25796 (lspci_mod_SOURCES): Likewise.
25797 (lspci_mod_CFLAGS): Likewise.
25798 (lspci_mod_LDFLAGS): Likewise.
25799
25800 2008-02-02 Bean <bean123ch@gmail.com>
25801
25802 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25803 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25804
25805 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25806 (grub_xfs_btree_node): New structure.
25807 (grub_xfs_btree_root): New structure.
25808 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25809 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25810 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25811 (GRUB_XFS_EXTENT_SIZE): Likewise.
25812 (grub_xfs_read_block): Support btree format type.
25813 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25814 Use directory block as basic unit.
25815
25816 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25817
25818 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25819 __attribute__ ((__regparm__ (1))).
25820
25821 2008-02-01 Robert Millan <rmh@aybabtu.com>
25822
25823 Correct a mistake in previous commit.
25824
25825 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25826 top.
25827 (normal/command.c_DEPENDENCIES): New variable.
25828
25829 2008-02-01 Robert Millan <rmh@aybabtu.com>
25830
25831 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25832 top.
25833 (normal/command.c_DEPENDENCIES): New variable.
25834 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25835 * conf/i386-ieee1275.rmk: Likewise.
25836 * conf/i386-linuxbios.rmk: Likewise.
25837 * conf/i386-pc.rmk: Likewise.
25838 * conf/sparc64-ieee1275.rmk: Likewise.
25839 * conf/powerpc-ieee1275.rmk: Likewise.
25840 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25841
25842 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25843
25844 2008-02-01 Robert Millan <rmh@aybabtu.com>
25845
25846 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25847 call at beginning of function.
25848
25849 2008-01-31 Pavel Roskin <proski@gnu.org>
25850
25851 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
25852 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25853 (grub_mkrescue_SOURCES): Likewise.
25854 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25855
25856 2008-01-30 Robert Millan <rmh@aybabtu.com>
25857
25858 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25859 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25860 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25861 (grub_probe_SOURCES): ... to here.
25862
25863 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25864 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25865 * conf/i386-ieee1275.rmk: Likewise.
25866 * conf/i386-linuxbios.rmk: Likewise.
25867 * conf/powerpc-ieee1275.rmk: Likewise.
25868
25869 2008-01-30 Tristan Gingold <gingold@free.fr>
25870
25871 * kern/rescue.c: Silently accept empty lines.
25872
25873 2008-01-29 Bean <bean123ch@gmail.com>
25874
25875 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25876 (real_code_2): Code cleanup and change comment style.
25877 (move_memory): Avoid using 32-bit address mode.
25878
25879 2008-01-29 Bean <bean123ch@gmail.com>
25880
25881 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25882 (png_mod_SOURCES): New variable.
25883 (png_mod_CFLAGS): Likewise.
25884 (png_mod_LDFLAGS): Likewise.
25885
25886 * video/readers/png.c: New file.
25887
25888 2008-01-28 Robert Millan <rmh@aybabtu.com>
25889
25890 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25891 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25892 `ifndef GRUB_MOD_GAP' hack.
25893 * util/elf/grub-mkimage.c (add_segments): Likewise.
25894
25895 2008-01-27 Robert Millan <rmh@aybabtu.com>
25896
25897 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25898 `GRUB_MOD_GAP' for platforms in which it's not defined.
25899 * util/elf/grub-mkimage.c (add_segments): Likewise.
25900
25901 2008-01-27 Robert Millan <rmh@aybabtu.com>
25902
25903 Get grub-emu to build again (including parallel builds).
25904
25905 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25906 Split into ...
25907 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25908 (normal/execute.c_DEPENDENCIES): ... this, ...
25909 (grub-emu_DEPENDENCIES): ... and this.
25910
25911 * conf/i386-efi.rmk: Likewise.
25912 * conf/i386-linuxbios.rmk: Likewise.
25913 * conf/i386-ieee1275.rmk: Likewise.
25914 * conf/powerpc-ieee1275.rmk: Likewise.
25915 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25916
25917 2008-01-27 Robert Millan <rmh@aybabtu.com>
25918
25919 * NEWS: Add a few items.
25920
25921 2008-01-27 Robert Millan <rmh@aybabtu.com>
25922
25923 Fix parallel builds with grub-emu. Based on earlier commit for
25924 grub-probe and grub-setup.
25925
25926 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25927 (util/grub-emu.c_DEPENDENCIES): ... this.
25928 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25929 (util/grub-emu.c_DEPENDENCIES): ... this.
25930 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25931 (util/grub-emu.c_DEPENDENCIES): ... this.
25932 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25933 (util/grub-emu.c_DEPENDENCIES): ... this.
25934 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25935 (util/grub-emu.c_DEPENDENCIES): ... this.
25936
25937 2008-01-27 Pavel Roskin <proski@gnu.org>
25938
25939 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25940 to create a gap between _end and the modules added to the image
25941 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25942 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25943 * util/elf/grub-mkimage.c (add_segments): Likewise.
25944
25945 2008-01-26 Pavel Roskin <proski@gnu.org>
25946
25947 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25948 just return an error.
25949
25950 2008-01-26 Bean <bean123ch@gmail.com>
25951
25952 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25953 (grub_reiserfs_get_item): Save offset of the next item.
25954 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25955
25956 2008-01-25 Robert Millan <rmh@aybabtu.com>
25957
25958 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25959 make all filesystem sources appear together (possibly fixing omissions
25960 while at it).
25961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25963 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25965
25966 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25967 add `kern/file.c'.
25968 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25969 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25970 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25971 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25972
25973 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25974 (probe): Add a sanity check to make sure of our ability to read
25975 requested files when probing for filesystem type.
25976
25977 * genmk.rb: Update copyright year (2007).
25978
25979 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25980 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25981 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25982 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25983 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25984 : Remove function prototypes.
25985
25986 2008-01-25 Robert Millan <rmh@aybabtu.com>
25987
25988 Revert my previous commits (based on wrong assumption of how grub_errno
25989 works).
25990
25991 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
25992 * kern/file.c (grub_file_open): Likewise.
25993
25994 2008-01-24 Pavel Roskin <proski@gnu.org>
25995
25996 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25997 that hang if GRUB tries to setup colors.
25998 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25999 colors for firmwares that don't support it.
26000 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26001 Recognize Open Hack'Ware, set flags to work around its
26002 limitations.
26003
26004 2008-01-24 Robert Millan <rmh@aybabtu.com>
26005
26006 * kern/file.c (grub_file_open): Do not account previous failures of
26007 unrelated functions when grub_errno is checked for.
26008 Reported by Oleg Strikov.
26009
26010 2008-01-24 Bean <bean123ch@gmail.com>
26011
26012 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26013 (grub_ufs_sblock): New member volume name.
26014 (grub_ufs_find_file): Fix string copy bug.
26015 (grub_ufs_label): Implement this function properly.
26016
26017 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26018 (grub_hfs_iterate_records): Use the correct file number for extents
26019 and catalog file. Fix problem in next index calculation.
26020 (grub_hfs_find_node): Replace recursive function call with loop.
26021 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26022
26023 2008-01-23 Robert Millan <rmh@aybabtu.com>
26024
26025 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26026 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26027 (grub_multiboot2_real_boot): New function prototype.
26028
26029 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26030 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26031
26032 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26033 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26034
26035 2008-01-23 Robert Millan <rmh@aybabtu.com>
26036
26037 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26038 #ifdef'ed out grub_printf().
26039
26040 2008-01-23 Robert Millan <rmh@aybabtu.com>
26041
26042 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26043 grub_dprintf calls, since they make "debug=all" mode unusable.
26044 (grub_console_checkkey): Likewise.
26045
26046 2008-01-23 Robert Millan <rmh@aybabtu.com>
26047
26048 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26049 `term/i386/pc/at_keyboard.c'.
26050 (pkglib_MODULES): Add `serial.mod'.
26051 (serial_mod_SOURCES): New variable.
26052 (serial_mod_CFLAGS): Likewise.
26053 (serial_mod_LDFLAGS): Likewise.
26054
26055 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26056 `<grub/powerpc/ieee1275/console.h>'.
26057 (grub_keyboard_controller_init): New function prototype.
26058 (grub_console_checkkey): Likewise.
26059 (grub_console_getkey): Likewise.
26060
26061 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26062 keyboard on i386.
26063
26064 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26065 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26066
26067 2008-01-23 Robert Millan <rmh@aybabtu.com>
26068
26069 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26070 present, "(memdisk)/boot/grub" becomes the default prefix.
26071
26072 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26073 a memdisk tarball with all the modules. Add --overlay=DIR option that
26074 allows users to overlay additional files into the image.
26075
26076 2008-01-23 Robert Millan <rmh@aybabtu.com>
26077
26078 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26079 and `machine/memory.h'.
26080 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26081 (_multiboot_mod_SOURCES): New variable.
26082 (_multiboot_mod_CFLAGS): Likewise.
26083 (_multiboot_mod_LDFLAGS): Likewise.
26084 (multiboot_mod_SOURCES): Likewise.
26085 (multiboot_mod_CFLAGS): Likewise.
26086 (multiboot_mod_LDFLAGS): Likewise.
26087
26088 * include/grub/i386/ieee1275/loader.h: New file.
26089
26090 * include/grub/i386/ieee1275/machine.h: Likewise.
26091
26092 * include/grub/i386/ieee1275/memory.h: Likewise.
26093
26094 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26095 variable declaration.
26096 (grub_os_area_size): Likewise.
26097
26098 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26099 (grub_lower_mem, grub_upper_mem): New variables.
26100 (grub_stop_floppy): New function (just to make
26101 grub_multiboot2_real_boot() happy).
26102
26103 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26104 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26105 (grub_stop): New function.
26106 Include `"../realmode.S"' and `"../loader.S"'.
26107
26108 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26109 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26110
26111 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26112 rely on grub_multiboot2_real_boot() for final boot.
26113
26114 2008-01-22 Robert Millan <rmh@aybabtu.com>
26115
26116 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26117 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26118 device that doesn't look like an SD card.
26119 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26120 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26121 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26122 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26123 found.
26124
26125 2008-01-22 Robert Millan <rmh@aybabtu.com>
26126
26127 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26128 avoid claiming over our own code.
26129
26130 2008-01-22 Bean <bean123ch@gmail.com>
26131
26132 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26133 (jpeg_mod_SOURCES): New variable.
26134 (jpeg_mod_CFLAGS): Likewise.
26135 (jpeg_mod_LDFLAGS): Likewise.
26136
26137 * video/readers/jpeg.c : New file.
26138
26139 2008-01-22 Bean <bean123ch@gmail.com>
26140
26141 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26142 there are no more items.
26143
26144 2008-01-21 Robert Millan <rmh@aybabtu.com>
26145
26146 * kern/mm.c (grub_mm_init_region): Improve debug message.
26147
26148 2008-01-21 Robert Millan <rmh@aybabtu.com>
26149
26150 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26151 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26152 address.
26153 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26154 a C macro.
26155 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26156 Indicates start of upper memory.
26157 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26158 (generate_image): Abort when image size is big enough to corrupt
26159 upper memory.
26160
26161 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26162 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26163 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26164 instead of hardcoding 0xA0000.
26165 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26166 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26167 instead of hardcoding 0xA0000.
26168
26169 2008-01-21 Robert Millan <rmh@aybabtu.com>
26170
26171 * disk/memdisk.c (memdisk_size): New variable.
26172 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26173 `memdisk_size'.
26174 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26175 image to dynamic memory.
26176 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26177 `memdisk_size'. Free memdisk block.
26178
26179 2008-01-21 Robert Millan <rmh@aybabtu.com>
26180
26181 Fix detection of very small filesystems (like tar).
26182
26183 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26184 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26185 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26186 a problem with this disk).
26187
26188 2008-01-21 Robert Millan <rmh@aybabtu.com>
26189
26190 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26191 on grub_biosdisk_rw_standard() error.
26192
26193 2008-01-21 Robert Millan <rmh@aybabtu.com>
26194
26195 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26196 recent changes.
26197 * kern/elf.c: Likewise.
26198 * kern/ieee1275/ieee1275.c: Likewise.
26199 * kern/powerpc/ieee1275/openfw.c: Likewise.
26200 * term/ieee1275/ofconsole.c: Likewise.
26201
26202 2008-01-21 Robert Millan <rmh@aybabtu.com>
26203
26204 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26205
26206 * include/grub/kernel.h (grub_arch_memdisk_addr)
26207 (grub_arch_memdisk_size): Moved from here ...
26208
26209 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26210 (grub_arch_memdisk_size): ... to here.
26211
26212 2008-01-21 Robert Millan <rmh@aybabtu.com>
26213
26214 Mostly based on bugfix from Bean.
26215
26216 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26217 attribute with hook() parameter.
26218 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26219 declaration.
26220 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26221 attribute with hook() parameter.
26222 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26223 declaration.
26224
26225 2008-01-21 Robert Millan <rmh@aybabtu.com>
26226
26227 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26228 (pkglib_MODULES): Add `memdisk.mod'.
26229 (memdisk_mod_SOURCES): New variable.
26230 (memdisk_mod_CFLAGS): Likewise.
26231 (memdisk_mod_LDFLAGS): Likewise.
26232
26233 * disk/memdisk.c: New file.
26234
26235 * include/grub/disk.h (grub_disk_dev_id): Add
26236 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26237
26238 * include/grub/i386/pc/kernel.h
26239 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26240 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26241 (grub_kernel_image_size): New variable declaration.
26242 (grub_total_module_size): Likewise.
26243 (grub_memdisk_image_size): Likewise.
26244
26245 * include/grub/i386/pc/memory.h
26246 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26247
26248 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26249 (grub_arch_memdisk_addr): New variable declaration.
26250 (grub_arch_memdisk_size): Likewise.
26251
26252 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26253 (grub_arch_memdisk_size): Likewise.
26254
26255 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26256 (codestart): Replace hardcoded `0x100000' with
26257 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26258
26259 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26260 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26261 not NULL, append the contents of the file it refers to, at the end of
26262 the compressed kernel image. Initialize `grub_memdisk_image_size'
26263 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26264 (options): Add "memdisk"|'m' option.
26265 (main): Parse --memdisk|-m option, and pass user-provided path as
26266 parameter to generate_image().
26267
26268 2008-01-20 Robert Millan <rmh@aybabtu.com>
26269
26270 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26271 grub_dprintf() calls from here ...
26272 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26273
26274 2008-01-20 Robert Millan <rmh@aybabtu.com>
26275
26276 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26277
26278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26279 declaration.
26280 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26281 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26282 `GRUB_IEEE1275_FLAG_REAL_MODE'.
26283 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
26284 property).
26285 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26286 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26287
26288 2008-01-19 Robert Millan <rmh@aybabtu.com>
26289
26290 Get rid of confusing function (superseded by
26291 `grub_ieee1275_get_integer_property')
26292 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26293 prototype.
26294 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26295 function.
26296 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26297 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
26298 in native endianness from grub_ieee1275_get_integer_property().
26299
26300 2008-01-19 Robert Millan <rmh@aybabtu.com>
26301
26302 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26303 command after "shut-down", since implementations differ on which
26304 the command for halt is.
26305
26306 2008-01-19 Robert Millan <rmh@aybabtu.com>
26307
26308 * include/grub/i386/linuxbios/console.h: Add header protection.
26309 (grub_keyboard_controller_init): New function prototype.
26310 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26311 (KEYBOARD_COMMAND_READ): Likewise.
26312 (KEYBOARD_COMMAND_WRITE): Likewise.
26313 (KEYBOARD_SCANCODE_SET1): Likewise.
26314 (grub_keyboard_controller_write): New function.
26315 (grub_keyboard_controller_read): Likewise.
26316 (grub_keyboard_controller_init): Likewise.
26317
26318 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26319 (grub_console_init): On coreboot/LinuxBIOS, call
26320 grub_keyboard_controller_init().
26321
26322 2008-01-19 Robert Millan <rmh@aybabtu.com>
26323
26324 PowerPC changes provided by Pavel Roskin.
26325
26326 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26327 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26328 don't rely on cmain() doing it.
26329 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26330 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26331
26332 2008-01-16 Robert Millan <rmh@aybabtu.com>
26333
26334 * include/grub/i386/linuxbios/memory.h
26335 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26336 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26337 receive `table_header' as argument. Instead, probe for it in the
26338 known memory ranges where it can be present.
26339 (grub_available_iterate): Do not pass a fixed `table_header' address
26340 to grub_linuxbios_table_iterate().
26341
26342 2008-01-15 Robert Millan <rmh@aybabtu.com>
26343
26344 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26345 * conf/i386-ieee1275.rmk: New file.
26346 * include/grub/i386/ieee1275/console.h: Likewise.
26347 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26348 * include/grub/i386/ieee1275/kernel.h: Likewise.
26349 * include/grub/i386/ieee1275/time.h: Likewise.
26350 * kern/i386/ieee1275/init.c: Likewise.
26351 * kern/i386/ieee1275/startup.S: Likewise.
26352
26353 2008-01-15 Robert Millan <rmh@aybabtu.com>
26354
26355 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26356 when pointers are 32-bit (but still do set it to one when they are
26357 64-bit).
26358
26359 2008-01-15 Robert Millan <rmh@aybabtu.com>
26360
26361 * include/grub/ieee1275/ieee1275.h
26362 (grub_ieee1275_get_integer_property): New function prototype.
26363
26364 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26365 (grub_ieee1275_get_integer_property): New function. Wraps around
26366 grub_ieee1275_get_property() to handle endianness.
26367
26368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26369 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26370 where appropriate.
26371 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26372 (grub_map): Likewise.
26373 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26374
26375 2008-01-15 Bean <bean123ch@gmail.com>
26376
26377 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26378 (grub_script_execute_cmdline): Reset grub_errno.
26379
26380 * normal/main.c (read_config_file): Reset grub_errno.
26381
26382 * normal/parse.y (script_init): New.
26383 (script): Move function and menuentry here.
26384 (delimiter): New.
26385 (command): Add delimiter at the end of command.
26386 (commands): Adjust to match the new command.
26387 (commandblock): Remove grub_script_lexer_record_start.
26388 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26389 (if): Use the new commands.
26390
26391 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26392
26393 2008-01-15 Robert Millan <rmh@aybabtu.com>
26394
26395 * normal/menu.c (run_menu): Move timeout message from here ...
26396 (print_timeout): ... to here.
26397 (run_menu): Use print_timeout() once during initial draw to print
26398 the whole message, and again in every clock tick to update only
26399 the number of seconds.
26400
26401 2008-01-15 Robert Millan <rmh@aybabtu.com>
26402
26403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26404 actual size of `available' from grub_ieee1275_get_property(), and
26405 restrict parsing to that bound.
26406
26407 2008-01-15 Christian Franke <franke@computer.org>
26408
26409 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26410 (argp_program_version): Remove variable.
26411 (argp_program_bug_address): Likewise.
26412 (options): Convert from struct argp_option to struct option.
26413 (struct arguments): Remove.
26414 (parse_opt): Remove.
26415 (usage): New function.
26416 (main): Replace struct args members by simple variables.
26417 Replace argp_parse() by getopt_long().
26418 Add switch to evaluate options.
26419 Add missing "(...)" around root_dev in prefix string.
26420
26421 2008-01-14 Robert Millan <rmh@aybabtu.com>
26422
26423 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26424 for grub_ieee1275_exit(), in order to improve portability.
26425
26426 2008-01-14 Robert Millan <rmh@aybabtu.com>
26427
26428 * util/grub.d/10_linux.in (prefix): Define.
26429 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26430
26431 2008-01-13 Pavel Roskin <proski@gnu.org>
26432
26433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26434 grub_errno if no errors have been detected.
26435
26436 2008-01-12 Robert Millan <rmh@aybabtu.com>
26437
26438 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26439 (grub_util_get_dev_abstraction): New function prototype.
26440
26441 * util/getroot.c: Include `<grub/util/getroot.h>'
26442 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26443 (grub_util_get_dev_abstraction): ... here (new function).
26444
26445 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26446 `PRINT_ABSTRACTION'.
26447 (probe): Probe for abstraction type when requested.
26448 (main): Understand `--target=abstraction'.
26449
26450 * util/i386/efi/grub-install.in: Add abstraction module to core
26451 image when it is found to be necessary.
26452 * util/i386/pc/grub-install.in: Likewise.
26453 * util/powerpc/ieee1275/grub-install.in: Likewise.
26454
26455 * util/update-grub_lib.in (font_path): Return system path without
26456 converting to GRUB path.
26457 * util/update-grub.in: Convert system path returned by font_path()
26458 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26459 abstraction module is needed for loading fonts (if any). Export
26460 that as `GRUB_PRELOAD_MODULES'.
26461 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26462 insmod commands).
26463
26464 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26465
26466 Remove some unused code from reiserfs.
26467
26468 * fs/reiserfs.c (struct grub_reiserfs_key)
26469 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26470 (struct grub_reiserfs_node_body): Removed.
26471 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26472 Likewise.
26473 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26474 Likewise.
26475 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26476 Likewise.
26477 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26478 Likewise.
26479 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26480 Likewise.
26481 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26482 Likewise.
26483 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26484 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26485 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26486
26487 2008-01-10 Robert Millan <rmh@aybabtu.com>
26488
26489 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26490 Determines if a file is garbage left by packaging systems, etc.
26491 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26492 for processing /etc/grub.d scripts.
26493 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26494 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26495 as a condition for processing Linux images.
26496
26497 2008-01-10 Pavel Roskin <proski@gnu.org>
26498
26499 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26500 to compile reiserfs.c on PowerPC.
26501
26502 2008-01-10 Robert Millan <rmh@aybabtu.com>
26503
26504 * kern/device.c (grub_device_iterate): Do not abort device iteration
26505 when one of the devices cannot be opened.
26506 * kern/disk.c (grub_disk_open): Do not account previous failures of
26507 unrelated functions when grub_errno is checked for.
26508
26509 2008-01-08 Robert Millan <rmh@aybabtu.com>
26510
26511 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26512 `! grub_linux_is_bzimage', change order of address comparison to make
26513 it more intuitive, and improve "too big zImage" error message.
26514
26515 2008-01-08 Robert Millan <rmh@aybabtu.com>
26516
26517 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26518 `$(update-grub_DATA)'.
26519 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26520 targets.
26521
26522 2008-01-07 Robert Millan <rmh@aybabtu.com>
26523
26524 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26525 which instruction is modified by grub-setup during installation
26526 (since it wasn't obvious by only looking at this file).
26527
26528 2008-01-07 Robert Millan <rmh@aybabtu.com>
26529
26530 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26531 listing actual TODO items.
26532
26533 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26534
26535 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26536 correctly.
26537 (grub_reiserfs_get_key_offset): Likewise.
26538 (grub_reiserfs_set_key_offset): Likewise.
26539 (grub_reiserfs_set_key_type): Likewise.
26540 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26541
26542 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26543 better to remove the bitfield version completely.
26544
26545 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26546
26547 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26548 allocated from the heap, due to the fshelp implementation.
26549 (grub_reiserfs_dir): Free NODE, due to the same reason.
26550
26551 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26552
26553 Mostly from Vincent Pelletier:
26554
26555 * fs/reiserfs.c: New file.
26556
26557 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26558 (reiserfs_mod_SOURCES): New variable.
26559 (reiserfs_mod_CFLAGS): Likewise.
26560 (reiserfs_mod_LDFLAGS): Likewise.
26561
26562 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26563 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26564 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26565 normal/color.c.
26566
26567 2008-01-06 Robert Millan <rmh@aybabtu.com>
26568
26569 * normal/color.c: Remove `<grub/env.h>'.
26570
26571 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26572
26573 * include/grub/normal.h: Include <grub/env.h>.
26574
26575 2008-01-05 Robert Millan <rmh@aybabtu.com>
26576
26577 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26578 usage example with `(hd0,1)'.
26579 Reported by Samuel Thibault.
26580
26581 2008-01-05 Robert Millan <rmh@aybabtu.com>
26582
26583 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26584 (grub_linux_boot_zimage): Rename to ...
26585 (grub_linux_boot): ... this.
26586 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26587 (grub_linux_boot_zimage): Conditionalize zImage copy.
26588
26589 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26590 (grub_linux_boot_bzimage): Remove prototype.
26591 (grub_linux_boot_zimage): Rename to ...
26592 (grub_linux_boot): ... this.
26593
26594 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26595 (grub_linux_boot): Remove function.
26596
26597 2008-01-05 Robert Millan <rmh@aybabtu.com>
26598
26599 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26600 (grub_env_write_color_highlight): Likewise.
26601 (grub_wait_after_message): Likewise.
26602
26603 * normal/color.c: New file.
26604
26605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26606 (normal_mod_DEPENDENCIES): Likewise.
26607
26608 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26609 (normal_mod_DEPENDENCIES): Likewise.
26610
26611 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26612 (normal_mod_DEPENDENCIES): Likewise.
26613
26614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26615 (normal_mod_DEPENDENCIES): Likewise.
26616
26617 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26618 for waiting after a message is printed.
26619 * normal/main.c (read_config_file): Likewise.
26620 (grub_normal_init): Register grub_env_write_color_normal() and
26621 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26622 `color_highlight' variables as global.
26623
26624 * normal/menu.c (grub_wait_after_message): New function.
26625 (grub_color_menu_normal): New variable. Replaces ...
26626 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26627 (grub_color_menu_highlight): New variable. Replaces ...
26628 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26629 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26630 `GRUB_TERM_COLOR_STANDARD'.
26631 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26632 `normal_code' and `highlight_code' to `old_color_normal' and
26633 `old_color_highlight', respectively.
26634 (grub_menu_init_page): Update colors when drawing the menu, based on
26635 `menu_color_normal' and `menu_color_highlight' variables.
26636 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26637 a message is printed.
26638
26639 2008-01-05 Robert Millan <rmh@aybabtu.com>
26640
26641 * kern/env.c (grub_env_context_open): Propagate hooks for global
26642 variables to new context.
26643
26644 * kern/main.c (grub_set_root_dev): Export `root' variable.
26645
26646 2008-01-05 Robert Millan <rmh@aybabtu.com>
26647
26648 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26649 discs unconditionally, since udev and others have options to provide
26650 them.
26651
26652 2008-01-05 Robert Millan <rmh@aybabtu.com>
26653
26654 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26655
26656 2008-01-04 Christian Franke <franke@computer.org>
26657
26658 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26659 of eisa_mmap.
26660
26661 2008-01-03 Pavel Roskin <proski@gnu.org>
26662
26663 * kern/i386/linuxbios/init.c: Put "void" to all function
26664 declarations with no arguments.
26665 * kern/powerpc/ieee1275/init.c: Likewise.
26666 * term/i386/pc/at_keyboard.c: Likewise.
26667 * term/i386/pc/vga_text.c: Likewise.
26668 * util/grub-mkdevicemap.c: Likewise.
26669
26670 2008-01-02 Robert Millan <rmh@aybabtu.com>
26671
26672 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26673 message when loaded image is out of bounds.
26674 (grub_multiboot_load_elf64): Likewise.
26675
26676 2008-01-02 Pavel Roskin <proski@gnu.org>
26677
26678 * util/grub.d/10_linux.in: Try version without ".old" when
26679 looking for initrd. It's better to use initrd from the newer
26680 kernel of the same version than no initrd at all.
26681
26682 2008-01-01 Robert Millan <rmh@aybabtu.com>
26683
26684 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26685
26686 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26687
26688 * include/grub/video.h: Added grub_video_unmap_color and
26689 grub_video_get_active_render_target.
26690 (grub_video_adapter): Added unmap_color and get_active_render_target.
26691
26692 * video/video.c: Added grub_video_unmap_color and
26693 grub_video_get_active_render_target.
26694 (grub_video_get_info): Changed method to accept NULL pointer as an
26695 argument to allow detection of active video adapter.
26696
26697 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26698 grub_video_vbe_unmap_color_int.
26699 Added grub_video_vbe_unmap_color and
26700 grub_video_vbe_get_active_render_target.
26701 (grub_video_vbe_adapter): Added unmap_color and
26702 get_active_render_target.
26703
26704 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26705 with grub_video_vbe_unmap_color_int.
26706
26707 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26708 (DEFAULT_NORMAL_COLOR): Likewise.
26709 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26710 (DEFAULT_FG_COLOR): Removed.
26711 (DEFAULT_BG_COLOR): Likewise.
26712 (DEFAULT_CURSOR_COLOR): Changed value.
26713 (grub_virtual_screen): Added standard_color_setting,
26714 normal_color_setting, highlight_color_setting and term_color.
26715 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26716 (bitmap_width): Added.
26717 (bitmap_height): Likewise.
26718 (bitmap): Likewise.
26719 (set_term_color): Likewise.
26720 (grub_virtual_screen_setup): Changed to use new terminal coloring
26721 settings.
26722 (grub_gfxterm_init): Added init for bitmap.
26723 (grub_gfxterm_fini): Added destroy for bitmap.
26724 (redraw_screen_rect): Updated to use background bitmap and new
26725 terminal coloring.
26726 (scroll_up): Added optimization for case when there is no bitmap.
26727 (grub_gfxterm_cls): Fixed to use correct background color.
26728 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26729 coloring.
26730 (grub_virtual_screen_setcolor): Likewise.
26731 (grub_virtual_screen_getcolor): Added.
26732 (grub_gfxterm_background_image_cmd): Likewise.
26733 (grub_video_term): Added setcolor and getcolor.
26734 (MOD_INIT): Added registration of background_image command.
26735 (MOD_TERM): Added unregistration for background_image command.
26736
26737 2007-12-30 Pavel Roskin <proski@gnu.org>
26738
26739 * loader/multiboot_loader.c: Fix multiboot command
26740 unregistration. Fix all typos in the word "multiboot".
26741
26742 2007-12-29 Pavel Roskin <proski@gnu.org>
26743
26744 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26745 support for initrd names used in Fedora.
26746
26747 2007-12-26 Bean <bean123ch@gmail.com>
26748
26749 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26750 (cpio_mod_SOURCES): New variable.
26751 (cpio_mod_CFLAGS): Likewise.
26752 (cpio_mod_LDFLAGS): Likewise.
26753
26754 * fs/cpio.c: New file.
26755
26756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26757
26758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26759
26760 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26761
26762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26763
26764 2007-12-25 Robert Millan <rmh@aybabtu.com>
26765
26766 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26767 (grub_getcolor): New function.
26768
26769 * kern/term.c (grub_getcolor): New function.
26770 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26771 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26772 (print_entry): Set normal and highlight colors to
26773 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26774 respectively, before printing and restore them to old
26775 values afterwards.
26776 (grub_menu_init_page): Likewise. Fill an additional colored space
26777 that would otherwise be left blank.
26778
26779 * term/efi/console.c (grub_console_getcolor): New function.
26780 (struct grub_console_term.getcolor): New variable.
26781 * term/i386/pc/console.c (grub_console_getcolor): New function.
26782 (struct grub_console_term.getcolor): New variable.
26783 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26784 (struct grub_console_term.getcolor): New variable.
26785
26786 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26787 (struct grub_console_term.setcolor): Remove variable.
26788 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26789 (struct grub_console_term.setcolor): Remove variable.
26790 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26791 (struct grub_console_term.setcolor): Remove variable.
26792 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26793 (struct grub_console_term.setcolor): Remove variable.
26794
26795 2007-12-25 Robert Millan <rmh@aybabtu.com>
26796
26797 * configure.ac: Search for possible unifont.hex locations, and
26798 define UNIFONT_HEX if found.
26799
26800 * Makefile.in (UNIFONT_HEX): Define variable.
26801 (DATA): Rename to ...
26802 (PKGLIB): ... this. Update all users.
26803 (PKGDATA): New variable.
26804 (pkgdata_IMAGES): Rename to ...
26805 (pkglib_IMAGES): ... this. Update all users.
26806 (pkgdata_MODULES): Rename to ...
26807 (pkglib_MODULES): ... this. Update all users.
26808 (pkgdata_PROGRAMS): Rename to ...
26809 (pkglib_PROGRAMS): ... this. Update all users.
26810 (pkgdata_DATA): Rename to ...
26811 (pkglib_DATA): ... this. Update all users.
26812 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26813 (unicode.pff, ascii.pff): New rules.
26814 (all-local): Add `$(PKGDATA)' dependency.
26815 (install-local): Process `$(PKGDATA)'.
26816
26817 * util/update-grub_lib.in (font_path): Search for *.pff files in
26818 a few more locations, including `${pkgdata}'.
26819
26820 2007-12-23 Robert Millan <rmh@aybabtu.com>
26821
26822 Patch from Bean <bean123ch@gmail.com>:
26823 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26824 `size'.
26825
26826 2007-12-21 Bean <bean123ch@gmail.com>
26827
26828 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26829 (ntfscomp_mod_SOURCES): New variable.
26830 (ntfscomp_mod_CFLAGS): Likewise.
26831 (ntfscomp_mod_LDFLAGS): Likewise.
26832
26833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26834 (grub_probe_SOURCES): Likewise.
26835 (grub_emu_SOURCES): Likewise.
26836
26837 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26838 (grub_emu_SOURCES): Likewise.
26839
26840 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26841 (grub_emu_SOURCES): Likewise.
26842
26843 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26844 (grub_emu_SOURCES): Likewise.
26845
26846 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26847 (read_run_list): Renamed to grub_ntfs_read_run_list.
26848 (decomp_nextvcn): Moved to ntfscomp.c.
26849 (decomp_getch): Likewise.
26850 (decomp_get16): Likewise.
26851 (decomp_block): Likewise.
26852 (read_block): Likewise.
26853 (read_data): Partially moved to ntfscomp.c.
26854 (fixup): Change unsigned to grub_uint16_t.
26855 (read_mft): Change unsigned long to grub_uint32_t.
26856 (read_attr): Likewise.
26857 (read_data): Likewise.
26858 (read_run_data): Likewise.
26859 (read_run_list): Likewise.
26860 (read_mft): Likewise.
26861
26862 * fs/ntfscomp.c: New file.
26863
26864 * include/grub/ntfs.h: New file.
26865
26866 2007-12-16 Robert Millan <rmh@aybabtu.com>
26867
26868 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26869 IDE disk check, since Linux is known to support 20 IDE disks.
26870 Reported by Colin Watson.
26871
26872 2007-12-15 Bean <bean123ch@gmail.com>
26873
26874 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26875 (lnxboot_img_SOURCES): New variable.
26876 (lnxboot_img_ASFLAGS): Likewise.
26877 (lnxboot_img_LDFLAGS): Likewise.
26878
26879 * boot/i386/pc/lnxboot.S: New file.
26880
26881 2007-11-24 Pavel Roskin <proski@gnu.org>
26882
26883 * configure.ac: Test if '--build-id=none' is supported by the
26884 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26885 objcopy to generate incorrect binary files (binutils
26886 2.17.50.0.18-1 as shipped by Fedora 8).
26887 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26888 linking, so that build ID doesn't break the test.
26889
26890 2007-11-24 Pavel Roskin <proski@gnu.org>
26891
26892 * include/grub/i386/time.h: use "void" in the argument list
26893 of grub_cpu_idle().
26894 * include/grub/powerpc/time.h: Likewise.
26895 * include/grub/sparc64/time.h: Likewise.
26896
26897 2007-11-18 Christian Franke <franke@computer.org>
26898
26899 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26900 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26901 This fixes the problem that function keys did not work in grub-emu.
26902
26903 2007-11-18 Christian Franke <franke@computer.org>
26904
26905 * disk/host.c (grub_host_open): Remove attribute unused from
26906 name parameter. Add check for "host". This fixes the problem
26907 that grub-emu does not find partitions.
26908
26909 2007-11-18 Christian Franke <franke@computer.org>
26910
26911 * util/hostfs.c (is_dir): New function.
26912 (grub_hostfs_dir): Handle missing dirent.d_type case.
26913 (grub_hostfs_read): Add missing fseek().
26914 (grub_hostfs_label): Clear label pointer. This fixes a crash
26915 of grub-emu on "ls (host)".
26916
26917 2007-11-18 Christian Franke <franke@computer.org>
26918
26919 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26920 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26921 to 64 bit boundary by default.
26922
26923 2007-11-18 Bean <bean123ch@gmail.com>
26924
26925 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26926 (hexdump_mod_SOURCES): New variable.
26927 (hexdump_mod_CFLAGS): Likewise.
26928 (hexdump_mod_LDFLAGS): Likewise.
26929
26930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26931
26932 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26933
26934 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26935
26936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26937
26938 * include/grub/hexdump.h: New file.
26939
26940 * commands/hexdump.c: New file.
26941
26942 2007-11-10 Robert Millan <rmh@aybabtu.com>
26943
26944 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26945 in grub_outb() calls.
26946 (beep_on): Likewise.
26947
26948 2007-11-10 Christian Franke <franke@computer.org>
26949
26950 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26951 (grub_menu_run): Likewise.
26952
26953 2007-11-10 Robert Millan <rmh@aybabtu.com>
26954
26955 * include/grub/i386/efi/machine.h: New file.
26956 * include/grub/i386/linuxbios/machine.h: Likewise.
26957 * include/grub/i386/pc/machine.h: Likewise.
26958 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26959 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26960
26961 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26962 (serial_hw_io_addr): New variable.
26963 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26964 instead of `(unsigned short *) 0x400'.
26965
26966 2007-11-10 Bean <bean123ch@gmail.com>
26967
26968 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26969
26970 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26971
26972 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26973 (vga_mod_SOURCES): Added.
26974 (vga_mod_CFLAGS): Likewise.
26975 (vga_mod_LDFLAGS): Likewise.
26976
26977 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26978 grub_outb() calls.
26979 (set_map_mask): Likewise.
26980 (set_read_map): Likewise.
26981 (set_read_address): Likewise.
26982 (vga_font): Removed variable.
26983 (get_vga_glyph): Removed function.
26984 (invalidate_char): Likewise.
26985 (write_char): Changed to use grub_font_get_glyph() for font
26986 information.
26987 (grub_vga_putchar): Likewise.
26988 (grub_vga_getcharwidth): Likewise.
26989
26990 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26991
26992 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26993 flags.
26994 (pxeboot_img_LDFLAGS): Likewise.
26995 (diskboot_img_LDFLAGS): Likewise.
26996 (kernel_img_LDFLAGS): Likewise.
26997
26998 2007-11-06 Robert Millan <rmh@aybabtu.com>
26999
27000 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27001 in grub_outb() calls.
27002 (serial_hw_init): Likewise.
27003
27004 2007-11-05 Robert Millan <rmh@aybabtu.com>
27005
27006 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27007 spaces. Skip non-regular files.
27008
27009 2007-11-05 Robert Millan <rmh@aybabtu.com>
27010
27011 * kern/disk.c (grub_disk_firmware_fini)
27012 (grub_disk_firmware_is_tainted): New variables.
27013
27014 * include/grub/disk.h (grub_disk_firmware_fini)
27015 (grub_disk_firmware_is_tainted): Likewise.
27016
27017 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27018 (grub_disk_biosdisk_fini): ... to here.
27019 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27020 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27021 is set. Register grub_disk_biosdisk_fini() in
27022 `grub_disk_firmware_fini'.
27023
27024 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27025 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27026 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27027 to finish existing firmware disk interface.
27028
27029 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27030 (ata_mod_SOURCES): New variable.
27031 (ata_mod_CFLAGS): Likewise.
27032 (ata_mod_LDFLAGS): Likewise.
27033
27034 2007-11-05 Robert Millan <rmh@aybabtu.com>
27035
27036 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27037 (grub_ata_wait): Reimplement using grub_millisleep().
27038
27039 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27040 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27041
27042 2007-11-03 Marco Gerards <marco@gnu.org>
27043
27044 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27045 (CRTC_ADDR_PORT): New macro.
27046 (CRTC_DATA_PORT): Likewise.
27047 (CRTC_CURSOR): Likewise.
27048 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27049 (CRTC_CURSOR_ADDR_LOW): Likewise.
27050 (update_cursor): New function.
27051 (grub_console_real_putchar): Call `update_cursor'.
27052 (grub_console_gotoxy): Likewise.
27053 (grub_console_cls): Set the default color when clearing the
27054 screen.
27055 (grub_console_setcursor): Implemented.
27056
27057 2007-11-03 Marco Gerards <marco@gnu.org>
27058
27059 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27060 become activate.
27061 (grub_ata_pio_write): Likewise.
27062
27063 (grub_atapi_identify): Wait after issuing an ATA command.
27064 (grub_atapi_packet): Likewise.
27065 (grub_ata_identify): Likewise.
27066 (grub_ata_readwrite): Likewise.
27067
27068 2007-11-03 Marco Gerards <marco@gnu.org>
27069
27070 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27071 (grub_ata_pio_write): Likewise.
27072 (grub_ata_readwrite): Use `grub_error', instead of
27073 returning `grub_errno'.
27074
27075 2007-11-03 Marco Gerards <marco@gnu.org>
27076
27077 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27078 grub_ata_pio_write once for every single sector, instead of for
27079 multiple sectors.
27080
27081 2007-10-31 Robert Millan <rmh@aybabtu.com>
27082
27083 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27084
27085 * conf/i386-linuxbios.rmk: New file.
27086
27087 * kern/i386/pc/hardware.c: Likewise.
27088 * term/i386/pc/at_keyboard.c: Likewise.
27089 * term/i386/pc/vga_text.c: Likewise.
27090
27091 * include/grub/i386/linuxbios/boot.h: Likewise.
27092 * include/grub/i386/linuxbios/console.h: Likewise.
27093 * include/grub/i386/linuxbios/init.h: Likewise.
27094 * include/grub/i386/linuxbios/kernel.h: Likewise.
27095 * include/grub/i386/linuxbios/loader.h: Likewise.
27096 * include/grub/i386/linuxbios/memory.h: Likewise.
27097 * include/grub/i386/linuxbios/serial.h: Likewise.
27098 * include/grub/i386/linuxbios/time.h: Likewise.
27099
27100 * kern/i386/linuxbios/init.c: Likewise.
27101 * kern/i386/linuxbios/startup.S: Likewise.
27102 * kern/i386/linuxbios/table.c: Likewise.
27103
27104 2007-10-31 Marco Gerards <marco@gnu.org>
27105
27106 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27107 (ata_mod_SOURCES): New variable.
27108 (ata_mod_CFLAGS): Likewise.
27109 (ata_mod_LDFLAGS): Likewise.
27110
27111 * disk/ata.c: New file.
27112
27113 * include/grub/disk.h (grub_disk_dev_id): Add
27114 `GRUB_DISK_DEV_ATA_ID'.
27115
27116 2007-10-31 Robert Millan <rmh@aybabtu.com>
27117
27118 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27119 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27120
27121 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27122 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27123
27124 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27125 `<grub/types.h>'.
27126
27127 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27128
27129 2007-10-27 Robert Millan <rmh@aybabtu.com>
27130
27131 * include/grub/types.h (ULONG_MAX): Define macro.
27132
27133 2007-10-22 Robert Millan <rmh@aybabtu.com>
27134
27135 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27136 `"../realmode.S"'.
27137 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27138
27139 2007-10-22 Robert Millan <rmh@aybabtu.com>
27140
27141 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27142 (pkgdata_MODULES): Add `biosdisk.mod'.
27143 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27144 variables.
27145
27146 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27147 (grub_biosdisk_init): Replace with ...
27148 (GRUB_MOD_INIT(biosdisk)): ... this.
27149 (grub_biosdisk_fini): Replace with ...
27150 (GRUB_MOD_FINI(biosdisk)): ... this.
27151
27152 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27153 (grub_machine_init): Remove call to grub_biosdisk_init().
27154 (grub_machine_fini): Remove call to grub_machine_fini().
27155
27156 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27157
27158 2007-10-22 Robert Millan <rmh@aybabtu.com>
27159
27160 * include/grub/time.h: New file.
27161 * include/grub/i386/time.h: Likewise.
27162 * include/grub/powerpc/time.h: Likewise.
27163 * include/grub/sparc64/time.h: Likewise.
27164
27165 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27166 instances to ...
27167 (KERNEL_MACHINE_TIME_HEADER): ... this.
27168 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27169 instances to ...
27170 (KERNEL_MACHINE_TIME_HEADER): ... this.
27171 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27172 instances to ...
27173 (KERNEL_MACHINE_TIME_HEADER): ... this.
27174
27175 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27176 (grub_millisleep): New function.
27177 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27178 (grub_millisleep): New function.
27179 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27180 Remove `grub/machine/time.h' include.
27181 (grub_millisleep): New function.
27182 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27183 Remove `grub/machine/time.h' include.
27184 (grub_millisleep): New function.
27185
27186 * include/grub/misc.h (grub_div_roundup): New function.
27187
27188 * kern/misc.c: Include `<grub/time.h>'.
27189 (grub_millisleep_generic): New function.
27190
27191 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27192 Add `time.h'.
27193 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27194 Add `time.h'.
27195 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27196 `machine/time.h'. Add `time.h'.
27197 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27198
27199 2007-10-21 Robert Millan <rmh@aybabtu.com>
27200
27201 * include/grub/misc.h (grub_max): New function.
27202
27203 2007-10-21 Robert Millan <rmh@aybabtu.com>
27204
27205 * util/misc.c (grub_util_info): Call fflush() before returning.
27206
27207 2007-10-20 Robert Millan <rmh@aybabtu.com>
27208
27209 * genmk.rb (Image): Copy `extra_flags' from here ...
27210 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27211
27212 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27213 to `argc' and `args' arguments.
27214
27215 2007-10-17 Robert Millan <rmh@aybabtu.com>
27216
27217 * kern/i386/loader.S: New file.
27218
27219 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27220 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27221 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27222 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27223 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27224 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27225 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27226 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27227 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27228 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27229 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27230 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27231 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27232 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27233
27234 * kern/i386/realmode.S: New file.
27235
27236 * kern/i386/pc/startup.S (protstack): Moved from here ...
27237 * kern/i386/realmode.S (protstack)... to here.
27238 * kern/i386/pc/startup.S (gdt): Moved from here ...
27239 * kern/i386/realmode.S (gdt)... to here.
27240 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27241 * kern/i386/realmode.S (prot_to_real)... to here.
27242
27243 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27244 `kern/i386/realmode.S'.
27245
27246 2007-10-17 Robert Millan <rmh@aybabtu.com>
27247
27248 * include/grub/i386/loader.h: New file.
27249
27250 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27251 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27252 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27253 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27254 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27255 * include/grub/i386/loader.h (grub_linux_prot_size)
27256 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27257 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27258 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27259 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27260
27261 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27262
27263 2007-10-15 Robert Millan <rmh@aybabtu.com>
27264
27265 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27266 filesystem when dev->disk is unset.
27267 Do probe for filesystem even when dev->disk->has_partitions is set.
27268 In case a filesystem is found, always report it.
27269 In case it isn't, if dev->disk->has_partitions is set, report that
27270 a partition table was found instead of reporting that no filesystem
27271 could be identified.
27272
27273 2007-10-12 Robert Millan <rmh@aybabtu.com>
27274
27275 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27276 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27277
27278 * include/grub/types.h (grub_host_to_target16): New macro.
27279 (grub_host_to_target32): Likewise.
27280 (grub_host_to_target64): Likewise.
27281 (grub_target_to_host16): Likewise.
27282 (grub_target_to_host32): Likewise.
27283 (grub_target_to_host64): Likewise.
27284
27285 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27286 Renamed from to ...
27287 (GRUB_MOD_ALIGN): ...this. Update all users.
27288
27289 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27290 grub_host_to_target32.
27291 Replace grub_be_to_cpu32 with grub_target_to_host32.
27292 (load_modules): Likewise.
27293 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27294 Replace grub_be_to_cpu32 with grub_target_to_host32.
27295 Replace grub_cpu_to_be16 with grub_host_to_target16.
27296 Replace grub_cpu_to_be32 grub_host_to_target32.
27297
27298 2007-10-12 Robert Millan <rmh@aybabtu.com>
27299
27300 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27301 * util/elf/grub-mkimage.c: ... here.
27302
27303 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27304 `util/powerpc/ieee1275/grub-mkimage.c'.
27305
27306 2007-10-07 Robert Millan <rmh@aybabtu.com>
27307
27308 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27309 and make it easier to figure out.
27310 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27311 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27312 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27313 leave us with less than HEAP_MIN_SIZE total heap.
27314 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27315
27316 2007-10-03 Robert Millan <rmh@aybabtu.com>
27317
27318 * include/grub/i386/io.h: New file.
27319 * commands/i386/pc/play.c (inb): Removed.
27320 (outb): Removed.
27321 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27322 with grub_outb().
27323 * term/i386/pc/serial.c (inb): Removed.
27324 (outb): Removed.
27325 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27326 with grub_outb().
27327 * term/i386/pc/vga.c (inb): Removed.
27328 (outb): Removed.
27329 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27330 with grub_outb().
27331
27332 2007-10-02 Robert Millan <rmh@aybabtu.com>
27333
27334 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27336 Reported by Marcin Kurek.
27337
27338 2007-09-07 Robert Millan <rmh@aybabtu.com>
27339
27340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27341 SmartFirmware version updates (as released by Sven Luther), and avoid
27342 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27343 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27344 known broken.
27345
27346 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27347
27348 From Hitoshi Ozeki:
27349 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27350 when merging two regions.
27351
27352 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27353
27354 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27355 * normal/completion.c (grub_normal_do_completion): Likewise.
27356 Reported by Hitoshi Ozeki.
27357
27358 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27359
27360 Do not use devices at boot in chainloading.
27361
27362 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27363 (boot_part_addr): Likewise.
27364 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27365 with BOOT_DRIVE and BOOT_PART_ADDR.
27366 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27367 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27368
27369 2007-08-29 Robert Millan <rmh@aybabtu.com>
27370
27371 Patch from Simon Peter <dn.tlp@gmx.net>:
27372 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27373 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27374 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27375 util/i386/pc/grub-setup.c_DEPENDENCIES.
27376 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27377 util/grub-probe.c_DEPENDENCIES.
27378 * conf/powerpc-ieee1275.rmk: Likewise.
27379
27380 2007-08-28 Robert Millan <rmh@aybabtu.com>
27381
27382 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27383 to tell grub-mkdevicemap how to name devices.
27384 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27385 feature).
27386
27387 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27388 util/i386/get_disk_name.c.
27389 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27390 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27391 util/ieee1275/get_disk_name.c.
27392
27393 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27394
27395 * DISTLIST: Add util/i386/get_disk_name.c and
27396 util/ieee1275/get_disk_name.c.
27397
27398 * util/grub-mkdevicemap.c: Replace device naming logic with
27399 grub_util_get_disk_name() calls.
27400
27401 2007-08-20 Robert Millan <rmh@aybabtu.com>
27402
27403 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27404 (so that it works for both plural and singular quantities).
27405
27406 2007-08-05 Robert Millan <rmh@aybabtu.com>
27407
27408 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27409 so that [xz] isn't taken into account when determining order.
27410
27411 2007-08-02 Marco Gerards <marco@gnu.org>
27412
27413 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27414 `include/multiboot2.h', `include/grub/elfload.h',
27415 `include/multiboot.h', `include/grub/multiboot.h',
27416 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27417 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27418 `kern/elf.c', `loader/multiboot_loader.c',
27419 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27420 `loader/i386/pc/multiboot2.c',
27421 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27422 `util/i386/pc/grub-mkrescue.in'. Remove
27423 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27424 `include/grub/i386/pc/util/biosdisk.h' and
27425 `include/grub/powerpc/ieee1275/multiboot.h'.
27426
27427 2007-08-02 Bean <bean123ch@gmail.com>
27428
27429 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27430 (ntfs_mod_SOURCES): New variable.
27431 (ntfs_mod_CFLAGS): Likewise.
27432 (ntfs_mod_LDFLAGS): Likewise.
27433
27434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27435 (grub_probe_SOURCES): Likewise.
27436 (grub_emu_SOURCES): Likewise.
27437
27438 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27439 (grub_emu_SOURCES): Likewise.
27440
27441 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27442 (grub_emu_SOURCES): Likewise.
27443
27444 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27445
27446 * fs/ntfs.c: New file.
27447
27448 2007-08-02 Bean <bean123ch@gmail.com>
27449
27450 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27451
27452 * file.h (grub_file): Likewise.
27453
27454 * fshelp.h (grub_fshelp_read_file): Likewise.
27455
27456 * util/i386/pc/grub-setup.c (setup): Likewise.
27457 (save_first_sector): Likewise.
27458 (save_blocklists): Likewise.
27459
27460 * fs/affs.c (grub_affs_read_file): Likewise.
27461
27462 * fs/ext2.c (grub_ext2_read_file): Likewise.
27463
27464 * fs/fat.c (grub_fat_read_data): Likewise.
27465
27466 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27467
27468 * fs/hfs.c (grub_hfs_read_file): Likewise.
27469
27470 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27471
27472 * fs/jfs.c (grub_jfs_read_file): Likewise.
27473
27474 * fs/minix.c (grub_minix_read_file): Likewise.
27475
27476 * fs/sfs.c (grub_sfs_read_file): Likewise.
27477
27478 * fs/ufs.c (grub_ufs_read_file): Likewise.
27479
27480 * fs/xfs.c (grub_xfs_read_file): Likewise.
27481
27482 * command/blocklist.c (read_blocklist): Likewise.
27483 (print_blocklist): Likewise.
27484
27485 2007-08-02 Marco Gerards <marco@gnu.org>
27486
27487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27488 `util/hostfs.c'.
27489
27490 * disk/host.c: New file.
27491
27492 * util/hostfs.c: Likewise.
27493
27494 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27495 return `GRUB_ERR_BAD_FS'.
27496 * fs/sfs.c (grub_sfs_mount): Likewise.
27497 * fs/xfs.c (grub_xfs_mount): Likewise.
27498
27499 * include/grub/disk.h (enum grub_disk_dev_id): Add
27500 `GRUB_DISK_DEVICE_HOST_ID'.
27501
27502 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27503
27504 2007-07-24 Jerone Young <jerone@gmail.com>
27505
27506 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27507 modules for compilation.
27508 * conf/powerpc-ieee1275.rmk: Likewise.
27509
27510 * include/multiboot.h: Move multiboot definitions to one file. Rename
27511 many definitions to not get grub specific.
27512 * include/multiboot2.h: Create header with multiboot 2 definitions.
27513 * include/grub/multiboot.h: Header for grub specific function
27514 prototypes and definitions.
27515 * include/grub/multiboot2.h: Likewise.
27516 * include/grub/multiboot_loader.h: Likewise.
27517 * include/grub/i386/pc/multiboot.h: Removed.
27518 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27519
27520 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27521 and 2 to allow for one multiboot and module commands.
27522 * loader/multiboot2.c: Add multiboot2 functionality.
27523 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27524 and definition names.
27525 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27526 2 functions.
27527 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27528 ieee1275 specific multiboot2 code.
27529
27530 * kern/i386/pc/startup.S: Change headers and definition names for
27531 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27532
27533 2007-07-22 Robert Millan <rmh@aybabtu.com>
27534
27535 * geninitheader.sh: Process file specified in first parameter rather
27536 than hardcoding grub_modules_init.lst.
27537 * geninit.sh: Likewise. Also, construct header name dynamically rather
27538 than hardcoding grub_modules_init.h.
27539
27540 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27541 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27542 grub_probe_init.[ch] and grub_setup_init.[ch].
27543
27544 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27545 grub_modules_init.h with grub_emu_init.h.
27546 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27547 grub_probe_init.[ch] files.
27548 * conf/i386-efi.rmk: Likewise.
27549 * conf/i386-pc.rmk: Likewise.
27550 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27551 grub_setup_init.[ch] files.
27552
27553 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27554 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27555 to initialize modules rather than a list of hardcoded functions.
27556 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27557 grub_init_all() to initialize modules rather than a list of hardcoded
27558 functions.
27559
27560 2007-07-22 Robert Millan <rmh@aybabtu.com>
27561
27562 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27563 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27564
27565 2007-07-22 Robert Millan <rmh@aybabtu.com>
27566
27567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27568 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27569 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27570 flag when running on SmartFirmware.
27571 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27572 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27573 was set.
27574
27575 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27576 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27577 rather than decreasing it.
27578
27579 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27580 there's not enough space to do it, fail in the same way as when it
27581 can't be done because there are no partitions.
27582
27583 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27584 when nvsetenv failed.
27585
27586 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27587
27588 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27589 because this rule is automatically generated.
27590 (grub-mkrescue): Removed for the same reason as above.
27591
27592 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27593
27594 Migrate to GNU General Public License Version 3.
27595
27596 * COPYING: Replaced with the plain text version of GPLv3.
27597
27598 * config.guess: Updated from gnulib.
27599 * config.sub: Likewise.
27600
27601 * geninit.sh: Output a GPLv3 copyright notice.
27602 * geninitheader.sh: Likewise.
27603 * genmodsrc.sh: Likewise.
27604 * gensymlist.sh.in: Likewise.
27605
27606 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27607 * boot/i386/pc/diskboot.S: Likewise.
27608 * boot/i386/pc/pxeboot.S: Likewise.
27609 * commands/blocklist.c: Likewise.
27610 * commands/boot.c: Likewise.
27611 * commands/cat.c: Likewise.
27612 * commands/cmp.c: Likewise.
27613 * commands/configfile.c: Likewise.
27614 * commands/echo.c: Likewise.
27615 * commands/help.c: Likewise.
27616 * commands/ls.c: Likewise.
27617 * commands/search.c: Likewise.
27618 * commands/terminal.c: Likewise.
27619 * commands/test.c: Likewise.
27620 * commands/videotest.c: Likewise.
27621 * commands/i386/cpuid.c: Likewise.
27622 * commands/i386/pc/halt.c: Likewise.
27623 * commands/i386/pc/play.c: Likewise.
27624 * commands/i386/pc/reboot.c: Likewise.
27625 * commands/i386/pc/vbeinfo.c: Likewise.
27626 * commands/i386/pc/vbetest.c: Likewise.
27627 * commands/ieee1275/halt.c: Likewise.
27628 * commands/ieee1275/reboot.c: Likewise.
27629 * commands/ieee1275/suspend.c: Likewise.
27630 * disk/loopback.c: Likewise.
27631 * disk/lvm.c: Likewise.
27632 * disk/raid.c: Likewise.
27633 * disk/efi/efidisk.c: Likewise.
27634 * disk/i386/pc/biosdisk.c: Likewise.
27635 * disk/ieee1275/ofdisk.c: Likewise.
27636 * font/manager.c: Likewise.
27637 * fs/affs.c: Likewise.
27638 * fs/ext2.c: Likewise.
27639 * fs/fat.c: Likewise.
27640 * fs/fshelp.c: Likewise.
27641 * fs/hfs.c: Likewise.
27642 * fs/hfsplus.c: Likewise.
27643 * fs/iso9660.c: Likewise.
27644 * fs/jfs.c: Likewise.
27645 * fs/minix.c: Likewise.
27646 * fs/sfs.c: Likewise.
27647 * fs/ufs.c: Likewise.
27648 * fs/xfs.c: Likewise.
27649 * hello/hello.c: Likewise.
27650 * include/grub/acorn_filecore.h: Likewise.
27651 * include/grub/arg.h: Likewise.
27652 * include/grub/bitmap.h: Likewise.
27653 * include/grub/boot.h: Likewise.
27654 * include/grub/cache.h: Likewise.
27655 * include/grub/device.h: Likewise.
27656 * include/grub/disk.h: Likewise.
27657 * include/grub/dl.h: Likewise.
27658 * include/grub/elfload.h: Likewise.
27659 * include/grub/env.h: Likewise.
27660 * include/grub/err.h: Likewise.
27661 * include/grub/file.h: Likewise.
27662 * include/grub/font.h: Likewise.
27663 * include/grub/fs.h: Likewise.
27664 * include/grub/fshelp.h: Likewise.
27665 * include/grub/gzio.h: Likewise.
27666 * include/grub/hfs.h: Likewise.
27667 * include/grub/kernel.h: Likewise.
27668 * include/grub/loader.h: Likewise.
27669 * include/grub/lvm.h: Likewise.
27670 * include/grub/misc.h: Likewise.
27671 * include/grub/mm.h: Likewise.
27672 * include/grub/net.h: Likewise.
27673 * include/grub/normal.h: Likewise.
27674 * include/grub/parser.h: Likewise.
27675 * include/grub/partition.h: Likewise.
27676 * include/grub/pc_partition.h: Likewise.
27677 * include/grub/raid.h: Likewise.
27678 * include/grub/rescue.h: Likewise.
27679 * include/grub/script.h: Likewise.
27680 * include/grub/setjmp.h: Likewise.
27681 * include/grub/symbol.h: Likewise.
27682 * include/grub/term.h: Likewise.
27683 * include/grub/terminfo.h: Likewise.
27684 * include/grub/tparm.h: Likewise.
27685 * include/grub/types.h: Likewise.
27686 * include/grub/video.h: Likewise.
27687 * include/grub/efi/api.h: Likewise.
27688 * include/grub/efi/chainloader.h: Likewise.
27689 * include/grub/efi/console.h: Likewise.
27690 * include/grub/efi/console_control.h: Likewise.
27691 * include/grub/efi/disk.h: Likewise.
27692 * include/grub/efi/efi.h: Likewise.
27693 * include/grub/efi/pe32.h: Likewise.
27694 * include/grub/efi/time.h: Likewise.
27695 * include/grub/i386/linux.h: Likewise.
27696 * include/grub/i386/setjmp.h: Likewise.
27697 * include/grub/i386/types.h: Likewise.
27698 * include/grub/i386/efi/kernel.h: Likewise.
27699 * include/grub/i386/efi/loader.h: Likewise.
27700 * include/grub/i386/efi/time.h: Likewise.
27701 * include/grub/i386/pc/biosdisk.h: Likewise.
27702 * include/grub/i386/pc/boot.h: Likewise.
27703 * include/grub/i386/pc/chainloader.h: Likewise.
27704 * include/grub/i386/pc/console.h: Likewise.
27705 * include/grub/i386/pc/init.h: Likewise.
27706 * include/grub/i386/pc/kernel.h: Likewise.
27707 * include/grub/i386/pc/loader.h: Likewise.
27708 * include/grub/i386/pc/memory.h: Likewise.
27709 * include/grub/i386/pc/multiboot.h: Likewise.
27710 * include/grub/i386/pc/serial.h: Likewise.
27711 * include/grub/i386/pc/time.h: Likewise.
27712 * include/grub/i386/pc/vbe.h: Likewise.
27713 * include/grub/i386/pc/vbeblit.h: Likewise.
27714 * include/grub/i386/pc/vbefill.h: Likewise.
27715 * include/grub/i386/pc/vbeutil.h: Likewise.
27716 * include/grub/i386/pc/vga.h: Likewise.
27717 * include/grub/ieee1275/ieee1275.h: Likewise.
27718 * include/grub/ieee1275/ofdisk.h: Likewise.
27719 * include/grub/powerpc/libgcc.h: Likewise.
27720 * include/grub/powerpc/setjmp.h: Likewise.
27721 * include/grub/powerpc/types.h: Likewise.
27722 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27723 * include/grub/powerpc/ieee1275/console.h: Likewise.
27724 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27725 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27726 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27727 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27728 * include/grub/powerpc/ieee1275/time.h: Likewise.
27729 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27730 * include/grub/sparc64/libgcc.h: Likewise.
27731 * include/grub/sparc64/setjmp.h: Likewise.
27732 * include/grub/sparc64/types.h: Likewise.
27733 * include/grub/sparc64/ieee1275/console.h: Likewise.
27734 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27735 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27736 * include/grub/sparc64/ieee1275/time.h: Likewise.
27737 * include/grub/util/biosdisk.h: Likewise.
27738 * include/grub/util/getroot.h: Likewise.
27739 * include/grub/util/lvm.h: Likewise.
27740 * include/grub/util/misc.h: Likewise.
27741 * include/grub/util/raid.h: Likewise.
27742 * include/grub/util/resolve.h: Likewise.
27743 * io/gzio.c: Likewise.
27744 * kern/device.c: Likewise.
27745 * kern/disk.c: Likewise.
27746 * kern/dl.c: Likewise.
27747 * kern/elf.c: Likewise.
27748 * kern/env.c: Likewise.
27749 * kern/err.c: Likewise.
27750 * kern/file.c: Likewise.
27751 * kern/fs.c: Likewise.
27752 * kern/loader.c: Likewise.
27753 * kern/main.c: Likewise.
27754 * kern/misc.c: Likewise.
27755 * kern/mm.c: Likewise.
27756 * kern/parser.c: Likewise.
27757 * kern/partition.c: Likewise.
27758 * kern/rescue.c: Likewise.
27759 * kern/term.c: Likewise.
27760 * kern/efi/efi.c: Likewise.
27761 * kern/efi/init.c: Likewise.
27762 * kern/efi/mm.c: Likewise.
27763 * kern/i386/dl.c: Likewise.
27764 * kern/i386/efi/init.c: Likewise.
27765 * kern/i386/efi/startup.S: Likewise.
27766 * kern/i386/pc/init.c: Likewise.
27767 * kern/i386/pc/lzo1x.S: Likewise.
27768 * kern/i386/pc/startup.S: Likewise.
27769 * kern/ieee1275/ieee1275.c: Likewise.
27770 * kern/powerpc/cache.S: Likewise.
27771 * kern/powerpc/dl.c: Likewise.
27772 * kern/powerpc/ieee1275/cmain.c: Likewise.
27773 * kern/powerpc/ieee1275/crt0.S: Likewise.
27774 * kern/powerpc/ieee1275/init.c: Likewise.
27775 * kern/powerpc/ieee1275/openfw.c: Likewise.
27776 * kern/sparc64/cache.S: Likewise.
27777 * kern/sparc64/dl.c: Likewise.
27778 * kern/sparc64/ieee1275/init.c: Likewise.
27779 * kern/sparc64/ieee1275/openfw.c: Likewise.
27780 * loader/efi/chainloader.c: Likewise.
27781 * loader/efi/chainloader_normal.c: Likewise.
27782 * loader/i386/efi/linux.c: Likewise.
27783 * loader/i386/efi/linux_normal.c: Likewise.
27784 * loader/i386/pc/chainloader.c: Likewise.
27785 * loader/i386/pc/chainloader_normal.c: Likewise.
27786 * loader/i386/pc/linux.c: Likewise.
27787 * loader/i386/pc/linux_normal.c: Likewise.
27788 * loader/i386/pc/multiboot.c: Likewise.
27789 * loader/i386/pc/multiboot_normal.c: Likewise.
27790 * loader/powerpc/ieee1275/linux.c: Likewise.
27791 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27792 * normal/arg.c: Likewise.
27793 * normal/cmdline.c: Likewise.
27794 * normal/command.c: Likewise.
27795 * normal/completion.c: Likewise.
27796 * normal/execute.c: Likewise.
27797 * normal/function.c: Likewise.
27798 * normal/lexer.c: Likewise.
27799 * normal/main.c: Likewise.
27800 * normal/menu.c: Likewise.
27801 * normal/menu_entry.c: Likewise.
27802 * normal/misc.c: Likewise.
27803 * normal/parser.y: Likewise.
27804 * normal/script.c: Likewise.
27805 * normal/i386/setjmp.S: Likewise.
27806 * normal/powerpc/setjmp.S: Likewise.
27807 * normal/sparc64/setjmp.S: Likewise.
27808 * partmap/acorn.c: Likewise.
27809 * partmap/amiga.c: Likewise.
27810 * partmap/apple.c: Likewise.
27811 * partmap/gpt.c: Likewise.
27812 * partmap/pc.c: Likewise.
27813 * partmap/sun.c: Likewise.
27814 * term/gfxterm.c: Likewise.
27815 * term/terminfo.c: Likewise.
27816 * term/efi/console.c: Likewise.
27817 * term/i386/pc/console.c: Likewise.
27818 * term/i386/pc/serial.c: Likewise.
27819 * term/i386/pc/vesafb.c: Likewise.
27820 * term/i386/pc/vga.c: Likewise.
27821 * term/ieee1275/ofconsole.c: Likewise.
27822 * util/biosdisk.c: Likewise.
27823 * util/console.c: Likewise.
27824 * util/genmoddep.c: Likewise.
27825 * util/getroot.c: Likewise.
27826 * util/grub-emu.c: Likewise.
27827 * util/grub-mkdevicemap.c: Likewise.
27828 * util/grub-probe.c: Likewise.
27829 * util/lvm.c: Likewise.
27830 * util/misc.c: Likewise.
27831 * util/raid.c: Likewise.
27832 * util/resolve.c: Likewise.
27833 * util/update-grub.in: Likewise.
27834 * util/update-grub_lib.in: Likewise.
27835 * util/grub.d/00_header.in: Likewise.
27836 * util/grub.d/10_hurd.in: Likewise.
27837 * util/grub.d/10_linux.in: Likewise.
27838 * util/i386/efi/grub-install.in: Likewise.
27839 * util/i386/efi/grub-mkimage.c: Likewise.
27840 * util/i386/pc/grub-install.in: Likewise.
27841 * util/i386/pc/grub-mkimage.c: Likewise.
27842 * util/i386/pc/grub-mkrescue.in: Likewise.
27843 * util/i386/pc/grub-setup.c: Likewise.
27844 * util/i386/pc/misc.c: Likewise.
27845 * util/powerpc/ieee1275/grub-install.in: Likewise.
27846 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27847 * util/powerpc/ieee1275/misc.c: Likewise.
27848 * video/bitmap.c: Likewise.
27849 * video/video.c: Likewise.
27850 * video/i386/pc/vbe.c: Likewise.
27851 * video/i386/pc/vbeblit.c: Likewise.
27852 * video/i386/pc/vbefill.c: Likewise.
27853 * video/i386/pc/vbeutil.c: Likewise.
27854 * video/readers/tga.c: Likewise.
27855
27856 2007-07-02 Robert Millan <rmh@aybabtu.com>
27857
27858 * conf/i386-efi.rmk: Replace obsolete reference to
27859 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27860 with util/getroot.c.
27861 * conf/powerpc-ieee1275.rmk: Likewise.
27862 * conf/sparc64-ieee1275.rmk: Likewise.
27863
27864 * util/grub-emu.c (main): Fix unchecked pointer handling.
27865
27866 2007-07-02 Robert Millan <rmh@aybabtu.com>
27867
27868 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27869 invocation to fail, in order to support partition-less media.
27870
27871 * util/i386/pc/grub-install.in: Likewise.
27872
27873 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27874 which fs or partmap modules are needed (akin to its sister scripts).
27875
27876 Also use grub-probe to get rid of unportable /proc/mounts check.
27877
27878 Print the same informational message that the other scripts do, before
27879 exiting.
27880
27881 2007-06-23 Robert Millan <rmh@aybabtu.com>
27882
27883 * util/update-grub_lib.in (font_path): New function. Determine whether
27884 a font file can be found and, if so, echo the GRUB path to it.
27885
27886 * util/update-grub.in: Handle multiple terminals depending on user
27887 input, platform availability and font file presence. Propagate
27888 variables of our findings to /etc/grub.d/ children.
27889
27890 * util/grub.d/00_header.in: Handle multiple terminals, based on
27891 environment setup by update-grub.
27892
27893 2007-06-23 Robert Millan <rmh@aybabtu.com>
27894
27895 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
27896
27897 2007-06-21 Robert Millan <rmh@aybabtu.com>
27898
27899 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27900 indicate end of data section in kernel image.
27901 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27902 GRUB_KERNEL_MACHINE_DATA_END.
27903
27904 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27905 space for it.
27906 * kern/i386/efi/startup.S: Likewise.
27907
27908 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27909 during image generation. Implement --prefix option to override this
27910 patch.
27911 * util/i386/efi/grub-mkimage.c: Likewise.
27912
27913 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27914 code to make path relative to its root into a separate function.
27915
27916 * util/i386/pc/grub-install.in: Use newly provided
27917 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27918 pass the result to grub-install --prefix.
27919
27920 2007-06-13 Robert Millan <rmh@aybabtu.com>
27921
27922 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27923 DEFAULT_DEVICE_MAP.
27924 * util/grub-emu.c: Use above definitions from misc.h instead of
27925 defining them.
27926 * util/grub-mkdevicemap.c: Likewise.
27927 * util/i386/pc/grub-setup.c: Likewise.
27928 * util/grub-probe.c: Likewise.
27929 (probe): Abort with grub_util_error() when either
27930 grub_guess_root_device or grub_util_get_grub_dev fails.
27931
27932 2007-06-12 Robert Millan <rmh@aybabtu.com>
27933
27934 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27935 "pager" assignment.
27936 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27937 "pcdata".
27938 * util/grub-probe.c (probe): Likewise for "drive_name".
27939
27940 2007-06-11 Robert Millan <rmh@aybabtu.com>
27941
27942 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27943 not just the cdrom one.
27944
27945 2007-06-11 Robert Millan <rmh@aybabtu.com>
27946
27947 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27948 Add --pkglibdir=DIR option to override pkglibdir.
27949 Mention --image-type=TYPE in help output.
27950 Fix --grub-mkimage (it was a no-op).
27951 Abort gracefully when no parameter is given.
27952
27953 2007-06-11 Robert Millan <rmh@aybabtu.com>
27954
27955 * util/i386/pc/grub-mkrescue.in: New file.
27956 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27957 * Makefile.in: Handle bin_SCRIPTS.
27958
27959 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27960
27961 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27962 list of video modes.
27963
27964 2007-06-06 Robert Millan <rmh@aybabtu.com>
27965
27966 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27967 file doesn't exist, or if it is in a filesystem grub can't read.
27968
27969 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27970 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27971 header comment to fit in 80 columns when the variables are resolved.
27972
27973 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27974 could be identified by update-grub. Remove redundant check for
27975 unifont.pff existence (since convert_system_path_to_grub_path now
27976 handles that).
27977
27978 2007-06-04 Robert Millan <rmh@aybabtu.com>
27979
27980 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27981
27982 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27983
27984 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27985
27986 2007-06-04 Robert Millan <rmh@aybabtu.com>
27987
27988 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27989
27990 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27991 grub_apple_partition_map_fini.
27992
27993 * util/biosdisk.c
27994 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27995 to access >2 TiB disks).
27996
27997 Print disk->total_sectors with %llu instead of %lu, since this
27998 variable is always 64-bit (prevents wrong disk size from being displayed
27999 on either >2 TiB disk or big-endian CPU).
28000
28001 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28002 into a generic case that supports all (sane) partition maps.
28003
28004 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28005 breaks big-endian.
28006
28007 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28008 and grub_apple_partition_map_fini() after that.
28009
28010 2007-06-01 Robert Millan <rmh@aybabtu.com>
28011
28012 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28013
28014 * util/grub.d/00_header.in: Only enable gfxterm when
28015 convert_system_path_to_grub_path() succeeds.
28016
28017 2007-05-20 Robert Millan <rmh@aybabtu.com>
28018
28019 * util/update-grub_lib.in: New file.
28020 * DISTLIST: Add update-grub_lib.in.
28021 * conf/common.rmk: Generate update-grub_lib and install it in
28022 $(lib_DATA).
28023 * Makefile.in: Add install routine for $(lib_DATA).
28024
28025 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28026 function provided by update-grub_lib to support arbitrary paths of
28027 unifont.pff.
28028 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28029 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28030
28031 2007-05-19 Robert Millan <rmh@aybabtu.com>
28032
28033 * commands/i386/cpuid.c: New module.
28034 * DISTLIST: Add it.
28035 * conf/i386-efi.rmk: Enable cpuid.mod.
28036 * conf/i386-pc.rmk: Likewise.
28037
28038 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28039
28040 * kern/disk.c (grub_disk_read): Check return value of
28041 grub_realloc().
28042
28043 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28044
28045 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28046 arrays.
28047 * disk/raid.c (grub_raid_open): Likewise.
28048
28049 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28050
28051 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28052 stack instead of on the heap.
28053
28054 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28055 before doing a read on it.
28056
28057 * configure.ac: Only use -fno-stack-protector for the target
28058 environment.
28059
28060 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28061
28062 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28063 __attribute_ ((unused)) to mode_type argument.
28064
28065 * util/getroot.c (grub_guess_root_device): Fix #endif.
28066
28067 * kern/misc.c (memcmp): Fix prototype.
28068
28069 * include/grub/partition.h [GRUB_UTIL]
28070 (grub_gpt_partition_map_init): Add prototype.
28071 (grub_gpt_partition_map_fini): Likewise.
28072
28073 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28074 at the right place.
28075
28076 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28077 (grub_fat_read_data): Likewise.
28078 (grub_fat_find_dir): Likewise.
28079
28080 * font/manager.c (find_glyph): Make table a const.
28081 (grub_font_get_glyph): Remove bitmap from if statement.
28082
28083 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28084
28085 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28086 code, first search for device in /dev/mapper, then in /dev.
28087 (grub_util_get_grub_dev): New function.
28088 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28089 prototype.
28090 * util/grub-probe.c (probe): Remove check for RAID, call
28091 grub_util_get_grub_dev() instead of
28092 grub_util_biosdisk_get_grub_dev().
28093 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28094 grub_util_biosdisk_get_grub_dev().
28095 * util/i386/pc/grub-setup.c (main): Likewise.
28096
28097 2007-05-16 Robert Millan <rmh@aybabtu.com>
28098
28099 * DISTLIST: Update for the latest changes.
28100 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28101 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28102 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28103 grub/util/biosdisk.h.
28104 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28105 grub/util/biosdisk.h.
28106
28107 2007-05-16 Robert Millan <rmh@aybabtu.com>
28108
28109 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28110
28111 2007-05-16 Robert Millan <rmh@aybabtu.com>
28112
28113 * util/i386/efi/grub-install.in: New.
28114 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28115 newly added grub-install.
28116 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28117 include.
28118 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28119 grub/util/biosdisk.h.
28120 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28121 grub/util/biosdisk.h.
28122
28123 2007-05-16 Robert Millan <rmh@aybabtu.com>
28124
28125 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28126 * include/grub/util/biosdisk.h: ... here.
28127 * util/i386/pc/biosdisk.c: Moved to ...
28128 * util/biosdisk.c: ... here.
28129 * util/i386/pc/getroot.c: Moved to ...
28130 * util/getroot.c: ... here.
28131 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28132 * util/grub-mkdevicemap.c: ... here.
28133 * util/i386/pc/grub-probe.c: Moved to ...
28134 * util/grub-probe.c: ... here.
28135
28136 2007-05-15 Robert Millan <rmh@aybabtu.com>
28137
28138 * util/update-grub.in: Remove duplicated line in grub.cfg header
28139 message.
28140
28141 2007-05-13 Robert Millan <rmh@aybabtu.com>
28142
28143 * util/update-grub.in: Fix a few assumptions about the devices holding
28144 /, /boot and /boot/grub being the same.
28145 * util/grub.d/00_header.in: Likewise.
28146 * util/grub.d/10_hurd.in: Likewise.
28147 * util/grub.d/10_linux.in: Likewise.
28148
28149 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28150 patterns. Use that to define the `.old' suffix as older than `'.
28151
28152 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28153
28154 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28155 the grub.cfg header message.
28156
28157 2007-05-11 Robert Millan <rmh@aybabtu.com>
28158
28159 * util/update-grub.in: Create device.map if it doesn't already exist,
28160 before attempting to run grub-probe.
28161 Check for grub-probe and grub-mkdevicemap with the same code
28162 grub-install is using.
28163 Remove test mode.
28164
28165 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28166
28167 * Makefile.in: Add the datarootdir autoconf variable.
28168
28169 2007-05-09 Robert Millan <rmh@aybabtu.com>
28170
28171 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
28172 fail gracefully if dev->disk->partition == NULL.
28173
28174 2007-05-07 Robert Millan <rmh@aybabtu.com>
28175
28176 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28177 determine partition map module.
28178 * util/i386/pc/grub-install.in: Use this feature to decide which
28179 partition module to load, instead of hardcoding pc and gpt.
28180
28181 2007-05-07 Robert Millan <rmh@aybabtu.com>
28182
28183 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28184 source directory differs from build directory.
28185
28186 2007-05-05 Robert Millan <rmh@aybabtu.com>
28187
28188 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28189 initialisation.
28190
28191 2007-05-05 Robert Millan <rmh@aybabtu.com>
28192
28193 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28194
28195 2007-05-05 Robert Millan <rmh@aybabtu.com>
28196
28197 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28198 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28199
28200 2007-05-05 Robert Millan <rmh@aybabtu.com>
28201
28202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28203 (grub_probe_SOURCES): Likewise.
28204 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28205 GPT and initialize dos_part and bsd_part accordingly.
28206 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28207 install_bsd_part.
28208 (main): Activate gpt module for use during partition identification,
28209 and deactivate it afterwards.
28210 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28211 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28212 partition identification, and deactivate it afterwards.
28213
28214 2007-05-05 Robert Millan <rmh@aybabtu.com>
28215
28216 * term/i386/pc/console.c (grub_console_fini): Call
28217 grub_term_set_current() before grub_term_unregister().
28218
28219 2007-05-04 Robert Millan <rmh@aybabtu.com>
28220
28221 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28222 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28223 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28224 and update-grub_DATA.
28225 * conf/common.rmk: Build and install update-grub components.
28226 * conf/common.mk: Regenerate.
28227 * util/update-grub.in: New. Core of update-grub.
28228 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28229 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28230 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28231 * util/grub.d/README: New. Document grub.d directory layout.
28232
28233 2007-05-01 Robert Millan <rmh@aybabtu.com>
28234
28235 * util/grub-emu.c: Move initialization functions
28236 grub_util_biosdisk_init() and grub_init_all() before
28237 grub_util_biosdisk_get_grub_dev(), which relies on them.
28238
28239 2007-04-19 Robert Millan <rmh@aybabtu.com>
28240
28241 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28242 it is used later.
28243
28244 2007-04-18 Jerone Young <jerone@gmail.com>
28245
28246 * kernel/elf.c: Add missing parenthesis for conditional statement
28247 stanza.
28248
28249 2007-04-10 Jerone Young <jerone@gmail.com>
28250
28251 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28252 continue on and look for device node with real device name.
28253
28254 2007-04-10 Jerone Young <jerone@gmail.com>
28255
28256 * configure.ac: Add argument for autoconf to use transformation
28257 ability.
28258 * Makefile.in: Add autoconf package transformation code.
28259 * util/i386/pc/grub-install.in: Likewise.
28260 * util/powerpc/ieee1275/grub-install.in: Likewise.
28261
28262 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28263
28264 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28265 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28266 (EXT2_REVISION): Likewise.
28267 (EXT2_INODE_SIZE): Likewise.
28268 (struct grub_ext2_block_group): Added a missing member
28269 "used_dirs".
28270 (grub_ext2_read_inode): Divide by the inode size in a superblock
28271 instead of 128 to obtain INODES_PER_BLOCK.
28272 Use the macro EXT2_INODE_SIZE instead of directly using
28273 SBLOCK->INODE_SIZE.
28274
28275 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28276
28277 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28278 superblock instead of the structure size to compute an
28279 offset. This fixes the problem that GRUB could not read a
28280 filesystem when inode size is different from 128-byte.
28281
28282 2007-03-05 Marco Gerards <marco@gnu.org>
28283
28284 * normal/main.c (read_config_file): When "menu" is not set, create
28285 an initial context.
28286
28287 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28288
28289 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28290 (HEAP_LIMIT): New macro.
28291 (grub_claim_heap): Claim memory up to `heaplimit'.
28292
28293 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28294
28295 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28296 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28297 (_start): Likewise.
28298 (grub_arch_modules_addr): Return address after `_end'.
28299 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28300 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28301 (add_segments): Calculate `_end' from phdr size and location.
28302 (ALIGN_UP): Moved to ...
28303 * include/grub/misc.h: here.
28304 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28305 New macro.
28306 (GRUB_IEEE1275_MODULE_BASE): Removed.
28307
28308 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28309
28310 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28311 loop boundary.
28312
28313 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28314
28315 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28316 All users updated.
28317 (grub_elf64_load_hook_t): Likewise.
28318 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28319 debug output.
28320
28321 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28322
28323 * kern/mm.c: Update copyright.
28324 (grub_mm_debug): Correct syntax error.
28325 (grub_mm_dump_free): New function.
28326 (grub_debug_free): Call `grub_free'.
28327 * include/grub/mm.h: Update copyright.
28328 (grub_mm_dump_free): Add declaration.
28329
28330 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28331
28332 * include/grub/ieee1275/ieee1275.h: Update copyright.
28333 * kern/powerpc/ieee1275/init.c: Likewise.
28334 * kern/powerpc/ieee1275/openfw.c: Likewise.
28335
28336 * loader/powerpc/ieee1275/linux.c: Likewise.
28337 * include/grub/elfload.h: Likewise.
28338 * kern/elf.c: Likewise.
28339 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28340 callers.
28341 (grub_elf64_load): Likewise.
28342 (grub_elf32_load_segment): Move to a nested function.
28343 (grub_elf64_load_segment): Likewise.
28344
28345 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28346
28347 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28348 prototype.
28349 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28350 (grub_heap_len): Likewise.
28351 (HEAP_SIZE): New macro.
28352 (grub_claim_heap): New function.
28353 (grub_machine_init): Don't claim heap directly. Call
28354 `grub_claim_heap'.
28355 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28356 (grub_available_iterate): New function.
28357
28358 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28359
28360 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28361 * configure.ac: Use it for testing the HOST and TARGET compilers.
28362
28363 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28364
28365 * Makefile.in (enable_grub_emu): New variable.
28366 * configure.ac (--enable-grub-emu): New option.
28367 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28368 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28369 * conf/i386-pc.rmk: Likewise.
28370 * conf/powerpc-ieee1275.rmk: Likewise.
28371 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28372
28373 2006-12-12 Marco Gerards <marco@gnu.org>
28374
28375 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28376
28377 * kern/env.c (grub_env_unset): Don't free the member `value' when
28378 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28379 pointer.
28380
28381 * normal/main.c (current_menu): Removed.
28382 (free_menu): Unset the `menu' environment variable.
28383 (grub_normal_menu_addentry): Make use of the environment variable
28384 `menu', instead of using the global `current_menu'. Allocate
28385 memory for the sourcecode of this entry.
28386 (read_config_file): New argument `nested', changed all callers.
28387 Only in the case of a new context, initialize a new menu. Set the
28388 `menu' environment variable.
28389 (grub_normal_execute): Don't set and unset the environment
28390 variable `menu' here anymore. Only free the menu when leaving the
28391 context.
28392
28393 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28394 leak.
28395
28396 2006-12-11 Marco Gerards <marco@gnu.org>
28397
28398 * normal/menu_entry.c (run): Fix off by one bug so the last line
28399 is executed. Move the loader check to outside the loop.
28400
28401 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28402
28403 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28404
28405 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28406
28407 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28408 the number of sectors. Reported by Andrey Shuvikov
28409 <mr_hyro@yahoo.com>.
28410
28411 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28412
28413 * kern/disk.c (grub_disk_read): When there is a read error, always
28414 try to read only the necessary data.
28415
28416 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28417 disk/raid.c.
28418 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28419 prototype.
28420 [GRUB_UTIL] (grub_raid_fini): Likewise.
28421 [GRUB_UTIL] (grub_lvm_init): Likewise.
28422 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28423 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28424 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28425 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28426 and grub_raid_fini().
28427
28428 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28429
28430 * include/grub/types.h (__unused): Rename to UNUSED.
28431 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28432 (grub_elf64_size): Likewise.
28433
28434 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28435
28436 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28437 grub_error_push and grub_error_pop in the error-handling path.
28438 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28439 length.
28440
28441 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28442
28443 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28444 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28446 (kernel_elf_SOURCES): Likewise.
28447 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28448 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28449 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28450 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28451 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28452 (elf_mod_SOURCES): New variable.
28453 (elf_mod_CFLAGS): Likewise.
28454 (elf_mod_LDFLAGS): Likewise.
28455 * include/grub/types.h (__unused): New macro.
28456 * include/grub/elfload.h: New file.
28457 * kern/elf.c: Likewise.
28458 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28459 (ELF32_LOADMASK): New macro.
28460 (ELF64_LOADMASK): Likewise.
28461 (vmlinux): Removed.
28462 (grub_linux_load32): New function.
28463 (grub_linux_load64): Likewise.
28464 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28465 Use grub_elf_t instead of grub_file_t.
28466
28467 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28468
28469 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28470 `catch_result' to struct set_color_args.
28471
28472 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28473
28474 * normal/menu.c: Include grub/script.h.
28475 * normal/menu_entry.c: Likewise.
28476 * include/grub/normal.h: Do not include grub/script.h.
28477
28478 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28479
28480 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28481
28482 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28483
28484 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28485 disk.
28486 (grub_disk_close): Print debug messages when closing a disk.
28487 (grub_disk_read): Print debug messages when disk read fails.
28488 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28489 filesystem type.
28490 * kern/partition.c: Include misc.h.
28491 (grub_partition_iterate): Print debug messages when detecting
28492 partition type.
28493
28494 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28495
28496 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28497 is negative.
28498 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28499
28500 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28501
28502 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28503 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28504
28505 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28506
28507 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28508 instead of sizeof(lv). Patch by Michael Guntsche.
28509
28510 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28511
28512 * disk/lvm.c: Rename VGS to VG_LIST.
28513 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28514 (grub_lvm_open): Likewise.
28515 Thanks to Michael Guntsche for finding this bug.
28516
28517 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28518
28519 * configure.ac (AC_INIT): Bumped to 1.95.
28520
28521 2006-10-14 Robert Millan <rmh@aybabtu.com>
28522
28523 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28524 with "/dev/.static/dev/md".
28525
28526 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28527
28528 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28529 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28530 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28531 DRIVE_NAME are always freed.
28532
28533 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28534 DOS_PART, as a DOS partition is counted from one instead of zero
28535 now. Reported by Robert Millan.
28536
28537 2006-10-14 Robert Millan <rmh@aybabtu.com>
28538
28539 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28540 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28541 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28542 string returned by grub_guess_root_device.
28543 * util/i386/pc/grub-setup.c: Likewise.
28544 * util/i386/pc/grub-probefs.c: Likewise.
28545
28546 * util/i386/pc/grub-probefs.c: Rename to ...
28547 * util/i386/pc/grub-probe.c: ... this.
28548 * DISTLIST: Remove grub-probefs, add grub-probe.
28549 * conf/i386-efi.rmk: Likewise.
28550 * conf/i386-pc.rmk: Likewise.
28551 * util/i386/pc/grub-install.in: Likewise.
28552
28553 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28554 choose which information we want to print.
28555
28556 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28557
28558 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28559 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28560 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28561 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28562 video/readers/tga.c and video/i386/pc/vbeutil.c.
28563
28564 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28565
28566 Added support for RAID and LVM.
28567
28568 * disk/lvm.c: New file.
28569 * disk/raid.c: Likewise.
28570 * include/grub/lvm.h: Likewise.
28571 * include/grub/raid.h: Likewise.
28572 * include/grub/util/lvm.h: Likewise.
28573 * include/grub/util/raid.h: Likewise.
28574 * util/lvm.c: Likewise.
28575 * util/raid.c: Likewise.
28576
28577 * include/grub/disk.h (grub_disk_dev_id): Add
28578 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28579 (grub_disk_get_size): New prototype.
28580 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28581 returns a partition.
28582 (grub_disk_get_size): New function.
28583
28584 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28585 verbatim if grub_install_dos_part is -2.
28586
28587 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28588 and LVM devices.
28589
28590 * util/i386/pc/grub-setup.c (setup): New argument
28591 MUST_EMBED. Force embedding of GRUB when the argument is
28592 true. Close FILE before returning.
28593 (main): Add support for RAID and LVM.
28594
28595 * conf/common.rmk: Add RAID and LVM modules.
28596 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28597 util/lvm.c.
28598 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28599
28600 * kern/misc.c (grub_strstr): New function.
28601 * include/grub/misc.h (grub_strstr): New prototype.
28602
28603 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28604
28605 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28606
28607 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28608
28609 * kern/misc.c (grub_strtoull): Guess the base only if not
28610 specified.
28611
28612 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28613
28614 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28615 PowerMac support.
28616
28617 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28618
28619 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28620
28621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28622 Remove `flags' argument. All callers changed.
28623 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28624 (IEEE1275_IHANDLE_INVALID): New variable.
28625 (IEEE1275_CELL_INVALID): New variable.
28626 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28627 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28628 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28629 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28630 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28631 codes from Open Firmware. All callers updated.
28632 (grub_ieee1275_next_property): Directly return Open Firmware return
28633 code.
28634 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28635 Standardize error checking from `grub_ieee1275_get_property'.
28636 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28637 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28638
28639 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28640
28641 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28642 `instance_to_package_args' to `instance_to_path_args'.
28643
28644 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28645 `grub_ieee1275_chosen'.
28646
28647 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28648 `grub_ieee1275_interpret'.
28649
28650 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28651
28652 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28653
28654 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28655
28656 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28657 (__cmpdi): Likewise.
28658
28659 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28660 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28661 `grub_ssize_t'.
28662
28663 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28664
28665 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28666 to type `grub_ssize_t'.
28667 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28668
28669 2006-09-22 Marco Gerards <marco@gnu.org>
28670
28671 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28672 newlines.
28673
28674 2006-09-22 Marco Gerards <marco@gnu.org>
28675
28676 * commands/echo.c: New file.
28677
28678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28679
28680 * conf/common.rmk (echo_mod_SOURCES): New variable.
28681 (echo_mod_CFLAGS): Likewise.
28682 (echo_mod_LDFLAGS): Likewise.
28683
28684 2006-09-22 Marco Gerards <marco@gnu.org>
28685
28686 * normal/main.c (get_line): Malloc memory instead of using
28687 preallocated memory. Removed the arguments `cmdline' and
28688 `max_len'. Updated all callers.
28689
28690 2006-09-22 Marco Gerards <marco@gnu.org>
28691
28692 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28693 (normal_mod_DEPENDENCIES): Likewise.
28694
28695 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28696 (normal_mod_DEPENDENCIES): Likewise.
28697
28698 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28699
28700 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28701
28702 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28703 programs.
28704 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28705 (normal_mod_DEPENDENCIES): Likewise.
28706 * conf/i386-pc.mk: Regenerate.
28707 * conf/i386-efi.mk: Likewise
28708 * conf/common.mk: Likewise.
28709 * conf/powerpc-ieee1275.mk: Likewise.
28710 * conf/sparc64-ieee1275.mk: Likewise.
28711
28712 2006-09-22 Robert Millan <rmh@aybabtu.com>
28713
28714 Sync with i386 version.
28715 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28716 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28717
28718 2006-09-21 Robert Millan <rmh@aybabtu.com>
28719
28720 Import from GRUB Legacy (lib/device.c):
28721 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28722 (init_device_map) [__linux__]: Add support for I2O devices.
28723
28724 2006-09-14 Marco Gerards <marco@gnu.org>
28725
28726 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28727 `-melf_i386'.
28728
28729 2006-09-14 Robert Millan <rmh@aybabtu.com>
28730
28731 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28732 /boot/grub/*.lst.
28733
28734 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28735
28736 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28737 before adding it to device.map.
28738
28739 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28740
28741 * genmk.rb: Let GCC generate dependencies the first time it
28742 compiles a file; using the -MD option.
28743 * conf/common.mk: Regenerate.
28744 * conf/i386-pc.mk: Likewise.
28745 * conf/i386-efi.mk: Likewise.
28746 * conf/powerpc-ieee1275.mk: Likewise.
28747 * conf/sparc64-ieee1275.mk: Likewise.
28748
28749 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28750
28751 Move the prototypes of grub_setjmp and grub_longjmp to
28752 cpu/setjmp.h, so that each architecture may specify different
28753 attributes.
28754
28755 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28756 (grub_longjmp): Likewise.
28757 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28758 (grub_longjmp): Likewise.
28759 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28760 (grub_longjmp): Likewise.
28761
28762 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28763 [!GRUB_UTIL] (grub_longjmp): Removed.
28764
28765 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28766
28767 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28768 "color!" method does not return any value.
28769
28770 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28771
28772 * include/grub/bitmap.h: New file.
28773
28774 * include/grub/i386/pc/vbeutil.h: Likewise.
28775
28776 * video/bitmap.c: Likewise.
28777
28778 * video/readers/tga.c: Likewise.
28779
28780 * video/i386/pc/vbeutil.c: Likewise.
28781
28782 * commands/videotest.c: Code cleanup and updated to reflect to new
28783 video API.
28784
28785 * term/gfxterm.c: Likewise.
28786
28787 * video/video.c: Likewise.
28788
28789 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28790 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28791 (bitmap_mod_SOURCES): New entry.
28792 (bitmap_mod_CFLAGS): Likewise.
28793 (bitmap_mod_LDFLAGS): Likewise.
28794 (tga_mod_SOURCES): Likewise.
28795 (tga_mod_CFLAGS): Likewise.
28796 (tga_mod_LDFLAGS): Likewise.
28797
28798 * include/grub/video.h (grub_video_blit_operators): New enum type.
28799 (grub_video_render_target): Changed as forward declaration and moved
28800 actual definition to be video driver specific.
28801 (grub_video_adapter.blit_bitmap): Added blitting operator.
28802 (grub_video_adapter.blit_render_target): Likewise.
28803 (grub_video_blit_bitmap): Likewise.
28804 (grub_video_blit_render_target): Likewise.
28805
28806 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28807 driver specific render target definition.
28808 (grub_video_vbe_map_rgba): Added driver internal helper.
28809 (grub_video_vbe_unmap_color): Updated to use
28810 grub_video_i386_vbeblit_info.
28811 (grub_video_vbe_get_video_ptr): Likewise.
28812
28813 * include/grub/i386/pc/vbeblit.h
28814 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28815 grub_video_i386_vbeblit_info.
28816 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28817 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28818 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28819 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28820 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28821 (grub_video_i386_vbeblit_index_index): Likewise.
28822 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28823 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28824 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28825 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28826 operator.
28827 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28828 operator.
28829
28830 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28831 include/grub/i386/pc/vbeblit.h.
28832
28833 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28834 Updated to use grub_video_i386_vbeblit_info.
28835 (grub_video_i386_vbefill_R8G8B8): Likewise.
28836 (grub_video_i386_vbefill_index): Likewise.
28837 (grub_video_i386_vbefill): Added generic filler.
28838
28839 * video/i386/pc/vbefill.c: Updated to reflect changes on
28840 include/grub/i386/pc/vbefill.h.
28841
28842 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28843 grub_video_i386_vbeblit_info.
28844 (grub_video_vbe_unmap_color): Likewise.
28845 (grub_video_vbe_blit_glyph): Likewise.
28846 (grub_video_vbe_scroll): Likewise.
28847 (grub_video_vbe_draw_pixel): Removed function.
28848 (grub_video_vbe_get_pixel): Likewise.
28849 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28850 updated code to use it.
28851 (common_blitter): Added common blitter for render target and bitmap.
28852 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28853 (grub_video_vbe_blit_render_target): Likewise.
28854
28855 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
28856
28857 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28858 is in text mode if there is no console control protocol instance
28859 available.
28860
28861 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28862
28863 * include/grub/video.h: Code cleanup.
28864
28865 * include/grub/i386/pc/vbe.h: Likewise.
28866
28867 * video/i386/pc/vbe.c: Likewise.
28868
28869 * video/i386/pc/vbeblit.c: Likewise.
28870
28871 * video/i386/pc/vbefill.c: Likewise.
28872
28873 * video/video.c: Likewise. Also added more comments.
28874
28875 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28876
28877 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28878 (struct grub_biosdisk_dap): Likewise.
28879
28880 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28881 linkage settings for all functions.
28882
28883 2006-07-12 Marco Gerards <marco@gnu.org>
28884
28885 * configure.ac (--enable-mm-debug): Fix typo.
28886
28887 * genkernsyms.sh.in: Use proper quoting for `CC'.
28888
28889 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28890
28891 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28892 (normal_mod_ASFLAGS): Remove "-m32".
28893
28894 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28895
28896 * util/misc.c: Include config.h.
28897 [!HAVE_MEMALIGN]: Do not include malloc.h.
28898 (grub_memalign): Use posix_memalign, if present. Then, use
28899 memalign, if present. Otherwise, emit an error.
28900
28901 * util/grub-emu.c: Do not include malloc.h.
28902
28903 * include/grub/util/misc.h: Include unistd.h. This is required for
28904 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28905 D. Eades III <hde@foobar-qux.org>.
28906
28907 * configure.ac (AC_GNU_SOURCE): Added.
28908 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28909 type.
28910
28911 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28912
28913 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28914 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28915
28916 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28917
28918 * include/grub/types.h (grub_host_addr_t): Rename to
28919 grub_target_addr_t.
28920 (grub_host_off_t): Rename to grub_target_off_t.
28921 (grub_host_size_t): Rename to grub_target_size_t.
28922 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28923 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28924
28925 * include/grub/kernel.h (struct grub_module_header): Change type
28926 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28927 (grub_module_info): Likewise.
28928
28929 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28930
28931 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28932 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28933 Velazquez <jesus.velazquez@gmail.com>.
28934
28935 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28936
28937 Count partitions from 1 instead of 0 in the string representation
28938 of partitions. Still use 0-based internally.
28939
28940 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28941 (sun_partition_map_iterate): Use grub_partition_t instead of
28942 struct grub_partition *. Cast DESC->START_CYLINDER to
28943 grub_uint64_t after converting the endian.
28944 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28945 (sun_partition_map_get_name): Add 1 to P->INDEX.
28946
28947 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28948 PCDATA->DOS_PART.
28949 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28950
28951 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28952 zero instead of one.
28953 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28954 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28955
28956 * partmap/apple.c (apple_partition_map_iterate): Change the type
28957 of POS to unsigned.
28958 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28959 (apple_partition_map_get_name): Add 1 into P->INDEX.
28960
28961 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28962 of POS to unsigned.
28963 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28964 calculate the offset of a partition.
28965 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28966 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28967
28968 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28969 SECTOR to grub_disk_addr_t.
28970 (acorn_partition_map_iterate): Likewise.
28971 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28972 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28973 top.
28974 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28975
28976 * kern/i386/pc/init.c (make_install_device): Add 1 into
28977 GRUB_INSTALL_DOS_PART.
28978
28979 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28980 conditional.
28981
28982 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28983
28984 Clean up the code to support 64-bit addressing in disks and
28985 files. This change is not enough for filesystems yet.
28986
28987 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28988 type of "start" to grub_uint64_t.
28989 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28990 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28991 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28992 convert addresses.
28993
28994 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28995 to grub_disk_addr_t.
28996
28997 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28998 string.
28999
29000 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29001
29002 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29003 to char *.
29004
29005 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29006
29007 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29008
29009 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29010
29011 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29012 to grub_off_t, to detect an error from grub_file_seek.
29013 (grub_multiboot_load_elf32): Likewise.
29014
29015 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29016 maximum unsigned long value when an overflow is detected.
29017 (grub_strtoull): New function.
29018 (grub_divmod64): Likewise.
29019 (grub_lltoa): use grub_divmod64.
29020
29021 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29022 grub_disk_addr_t.
29023 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29024 the pointer to next character. Use grub_strtoull instead of
29025 grub_strtoul.
29026 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29027 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29028 respectively.
29029
29030 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
29031 return value is signed.
29032 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29033 test if OFFSET is less than zero, as OFFSET is unsigned now.
29034
29035 * kern/disk.c (struct grub_disk_cache): Change the type of
29036 "sector" to grub_disk_addr_t.
29037 (grub_disk_cache_get_index): Change the type of SECTOR to
29038 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29039 unsigned after shifting.
29040 (grub_disk_cache_invalidate): Change the type of SECTOR to
29041 grub_disk_addr_t.
29042 (grub_disk_cache_unlock): Likewise.
29043 (grub_disk_cache_store): Likewise.
29044 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29045 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29046 grub_disk_addr_t and grub_uint64_t, respectively.
29047 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29048 body, as the value of OFFSET is tweaked by
29049 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29050 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29051 respectively.
29052 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29053 body, as the value of OFFSET is tweaked by
29054 grub_disk_check_range. Change the types of LEN and N to
29055 grub_size_t.
29056
29057 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29058 and "saved_offset" to grub_off_t.
29059 (test_header): Cast BUF to char *.
29060 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29061 to char *.
29062 (grub_gzio_read): Change the types of OFFSET and SIZE to
29063 grub_off_t and grub_size_t, respectively.
29064
29065 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29066 Removed.
29067 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29068 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29069 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29070 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29071 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29072
29073 * include/grub/types.h (grub_off_t): Unconditionally set to
29074 grub_uint64_t.
29075 (grub_disk_addr_t): Changed to grub_uint64_t.
29076
29077 * include/grub/partition.h (struct grub_partition): Change the
29078 types of "start", "len" and "offset" to grub_disk_addr_t,
29079 grub_uint64_t and grub_disk_addr_t, respectively.
29080 (grub_partition_get_start): Return grub_disk_addr_t.
29081 (grub_partition_get_len): Return grub_uint64_t.
29082
29083 * include/grub/misc.h (grub_strtoull): New prototype.
29084 (grub_divmod64): Likewise.
29085
29086 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29087 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29088 grub_off_t, respectively.
29089 All callers and references changed.
29090
29091 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29092 grub_size_t in "read".
29093 All callers and references changed.
29094
29095 * include/grub/file.h (struct grub_file): Change the types of
29096 "offset" and "size" to grub_off_t and grub_off_t,
29097 respectively. Change the type of SECTOR to grub_disk_addr_t in
29098 "read_hook".
29099 (grub_file_read): Change the type of LEN to grub_size_t.
29100 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29101 grub_off_t.
29102 (grub_file_size): Return grub_off_t.
29103 (grub_file_tell): Likewise.
29104 All callers and references changed.
29105
29106 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29107 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29108 "write".
29109 (struct grub_disk): Change the type of "total_sectors" to
29110 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
29111 "read_hook".
29112 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29113 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29114 (grub_disk_write): Likewise.
29115 All callers and references changed.
29116
29117 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29118 char * for grub_strncmp to silence gcc.
29119 (grub_iso9660_mount): Likewise.
29120 (grub_iso9660_mount): Likewise.
29121 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29122 return statement.
29123 (grub_iso9660_iterate_dir): Likewise.
29124 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29125
29126 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29127 LEN to grub_disk_addr_t and grub_size_t, respectively.
29128
29129 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29130
29131 * fs/jfs.c (grub_jfs_read_file): Likewise.
29132
29133 * fs/minix.c (grub_jfs_read_file): Likewise.
29134
29135 * fs/sfs.c (grub_jfs_read_file): Likewise.
29136
29137 * fs/ufs.c (grub_jfs_read_file): Likewise.
29138
29139 * fs/xfs.c (grub_jfs_read_file): Likewise.
29140
29141 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29142 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29143 respectively.
29144
29145 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29146 BLKNR to -1 instead of returning GRUB_ERRNO.
29147 (grub_ext2_read_file): Change the types of SECTOR and
29148 LEN to grub_disk_addr_t and grub_size_t, respectively.
29149
29150 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29151 LEN to grub_disk_addr_t and grub_size_t, respectively.
29152
29153 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29154 grub_file_read.
29155
29156 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29157 string. Do not cast SECTOR explicitly.
29158
29159 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29160 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29161 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29162 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29163 over 2TB and LBA mode is not supported, raise an error.
29164 (get_safe_sectors): New function.
29165 (grub_biosdisk_read): Use get_safe_sectors.
29166 (grub_biosdisk_write): Likewise.
29167
29168 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29169 (grub_efidisk_write): Likewise.
29170
29171 * disk/loopback.c (delete_loopback): Cosmetic changes.
29172 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29173 correctly.
29174 (grub_loopback_open): Likewise.
29175 (grub_loopback_read): Likewise. Also, change the type of POS to
29176 grub_off_t, and fix the usage of grub_memset.
29177
29178 * commands/i386/pc/play.c: Include grub/machine/time.h.
29179
29180 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29181 print FILE->SIZE.
29182
29183 * commands/configfile.c: Include grub/env.h.
29184
29185 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29186 GRUB_ERRNO directly instead. Change the type of POS to
29187 grub_off_t. Follow the coding standard.
29188
29189 * commands/blocklist.c: Include grub/partition.h.
29190 (grub_cmd_blocklist): Return an error if the underlying device is
29191 not a disk. Take the starting sector of a partition into account,
29192 if a partition is used.
29193
29194 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29195 a length field.
29196 (lba_mode): Support 64-bit addresses.
29197 (chs_mode): Likewise.
29198 (copy_buffer): Adapted to the new offsets of a length field and a
29199 segment field.
29200 (blocklist_default_start): Allocate 64-bit space.
29201
29202 * boot/i386/pc/boot.S (force_lba): Removed.
29203 (boot_drive): Moved to under KERNEL_SECTOR.
29204 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
29205 space.
29206 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29207 is useless.
29208 (lba_mode): Refactored to support a 64-bit address. More size
29209 optimization.
29210 (setup_sectors): Likewise.
29211
29212 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29213
29214 * DISTLIST: Added include/grub/i386/linux.h. Removed
29215 include/grub/i386/pc/linux.h
29216
29217 * configure.ac (AC_INIT): Bumped to 1.94.
29218
29219 * config.guess: Updated from gnulib.
29220 * config.sub: Likewise.
29221 * install-sh: Likewise.
29222 * mkinstalldirs: Likewise.
29223
29224 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29225
29226 * conf/common.rmk (grub_modules_init.lst): Depended on
29227 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29228 MODSRCFILES.
29229
29230 * genmk.rb (PModule::rule): Reverted the previous change.
29231
29232 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29233
29234 * conf/common.rmk (grub_modules_init.lst): Depends on
29235 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29236 that the target does not exist before producing.
29237 (grub_modules_init.h): Remove the target before generating.
29238 (grub_emu_init.c): Likewise.
29239
29240 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29241
29242 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29243
29244 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29245 for the target-specific tests. Make sure that we also have the
29246 up-to-date target variables for those tests.
29247
29248 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29249
29250 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29251 (PModule::rule): Likewise.
29252
29253 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29254
29255 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29256 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29257 target-specific flags should be prefixed.
29258 (PModule::rule): Likewise.
29259
29260 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29261
29262 * configure.ac (CMP): Check if cmp is available explicitly.
29263
29264 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29265
29266 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29267 (target_cpu): New variable.
29268 (pkglibdir): Use target_cpu instead of host_cpu.
29269
29270 * util/i386/pc/grub-install.in (host_cpu): Removed.
29271 (target_cpu): New variable.
29272 (pkglibdir): Use target_cpu instead of host_cpu.
29273
29274 * util/genmoddep.c: Removed.
29275
29276 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29277 instead of GRUB_HOST_SIZEOF_VOID_P.
29278 * kern/dl.c: Likewise.
29279
29280 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29281 ...
29282 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29283 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29284 (GRUB_TARGET_SIZEOF_LONG): ... this.
29285 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29286 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29287 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29288 to ...
29289 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29290 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29291 (GRUB_TARGET_SIZEOF_LONG): ... this.
29292 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29293 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29294 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29295 to ...
29296 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29297 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29298 (GRUB_TARGET_SIZEOF_LONG): ... this.
29299 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29300 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29301
29302 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29303 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29304 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29305 instead of GRUB_HOST_SIZEOF_LONG.
29306 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29307 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29308 GRUB_CPU_WORDS_BIGENDIAN.
29309 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29310 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29311 grub_host_ssize_t.
29312
29313 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29314 (genmoddep_SOURCES): Likewise.
29315 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29316 (genmoddep_SOURCES): Likewise.
29317 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29318 (genmoddep_SOURCES): Likewise.
29319 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29320 Likewise.
29321 (genmoddep_SOURCES): Likewise.
29322
29323 * genmoddep.awk: New file.
29324
29325 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29326 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29327 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29328 (PModule::rule): Likewise.
29329 (Program::rule): Likewise.
29330 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29331 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29332 respectively.
29333
29334 * configure.ac: Rewritten intensively to use host and target
29335 instead of build and host, respectively.
29336
29337 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29338 (host_cpu): Removed.
29339 (target_cpu): New variable.
29340 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29341 (BUILD_CC): Removed.
29342 (BUILD_CFLAGS): Likewise.
29343 (BUILD_CPPFLAGS): Likewise.
29344 (TARGET_CC): New variable.
29345 (TARGET_CFLAGS): Likewise.
29346 (TARGET_CPPFLAGS): Likewise.
29347 (TARGET_LDFLAGS): Likewise.
29348 (AWK): Likewise.
29349 (include): Use target_cpu instead of host_cpu.
29350 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29351
29352 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29353
29354 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29355
29356 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29357 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29358 field 'false' to 'exec_on_false'.
29359 (grub_script_create_cmdif): Renamed argument names to reflect above
29360 changes.
29361
29362 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29363
29364 * normal/script.c (grub_script_create_cmdif): Likewise.
29365
29366 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29367
29368 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29369 top.
29370 (grub_hfsplus_btree_recptr): Likewise.
29371 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29372 FILEBLOCK both to pass a block number and store next block
29373 number.
29374 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29375 overflow file correctly. Specify errors appropriately, because
29376 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29377 grub_hfsplus_btree_recptr to get the pointer to a found key.
29378 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29379 is found.
29380
29381 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29382 linux.mod.
29383 (_linux_mod_SOURCES): New variable.
29384 (_linux_mod_CFLAGS): Likewise.
29385 (_linux_mod_LDFLAGS): Likewise.
29386 (linux_mod_SOURCES): Likewise.
29387 (linux_mod_CFLAGS): Likewise.
29388 (linux_mod_LDFLAGS): Likewise.
29389
29390 * DISTLIST: Added loader/i386/efi/linux.c,
29391 loader/i386/efi/linux_normal.c and
29392 include/grub/i386/efi/loader.h.
29393
29394 * loader/i386/efi/linux.c: New file.
29395 * loader/i386/efi/linux_normal.c: Likewise.
29396 * include/grub/i386/efi/loader.h: Likewise.
29397
29398 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29399
29400 * commands/blocklist.c: New file.
29401
29402 * DISTLIST: Added commands/blocklist.c.
29403
29404 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29405 color for the background, and a darker color for the foreground.
29406 (grub_console_checkkey): Return READ_KEY.
29407 (grub_console_cls): Set the background to
29408 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29409
29410 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29411
29412 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29413 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29414
29415 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29416 prototype.
29417
29418 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29419 BG. The spec is wrong again.
29420
29421 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29422 prototype.
29423 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29424
29425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29426 commands/blocklist.c.
29427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29428
29429 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29430 (blocklist_mod_SOURCES): New variable.
29431 (blocklist_mod_CFLAGS): Likewise.
29432 (blocklist_mod_LDFLAGS): Likewise.
29433
29434 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29435
29436 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29437 duplication.
29438 (lba_mode): Use %eax more intensively to reduce the code size.
29439
29440 2006-05-20 Marco Gerards <marco@gnu.org>
29441
29442 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29443
29444 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29445 for `menuentry'.
29446 (script): Accept leading newlines.
29447 (newlines): New rule to describe 0 or more newlines.
29448 (commands): Accept `command' with trailing newline. Fixed the
29449 order in which arguments were passed to `grub_script_add_cmd'.
29450 Accept commands separated by newlines.
29451 (function): Changed to accept newlines.
29452 (menuentry) Rewritten.
29453
29454 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29455 front of the list, instead of to the end.
29456
29457 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29458
29459 * util/i386/pc/grub-install.in (bindir): New variable.
29460 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29461 Shaver <lbgwjl@gmail.com>.
29462
29463 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29464
29465 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29466 grub/machine/linux.h
29467 * loader/i386/pc/linux.c: Likewise.
29468
29469 * include/grub/i386/pc/linux.h: Moved to ...
29470 * include/grub/i386/linux.h: ... here.
29471
29472 * include/grub/i386/linux.h (struct linux_kernel_params): New
29473 struct.
29474
29475 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29476
29477 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29478 checking.
29479 (grub_video_vbe_blit_glyph): Likewise.
29480 (grub_video_vbe_blit_bitmap): Likewise.
29481 (grub_video_vbe_blit_render_target): Likewise.
29482
29483 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29484
29485 * configure.ac (--with-platform): Properly quote the square
29486 brackets.
29487
29488 2006-05-08 Marco Gerards <marco@gnu.org>
29489
29490 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29491 this...
29492 (kernel_elf_HEADERS): ...to this. Updated all users.
29493 (grubof_symlist.c): Renamed from this...
29494 (kernel_elf_symlist.c): ...to this. Updated all users.
29495 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29496 (grubof_SOURCES): Renamed from this...
29497 (kernel_elf_SOURCES): ...to this.
29498 (grubof_HEADERS): Renamed from this...
29499 (kernel_elf_HEADERS): ...to this.
29500 (grubof_CFLAGS): Renamed from this...
29501 (kernel_elf_CFLAGS): ...to this.
29502 (grubof_ASFLAGS): Renamed from this...
29503 (kernel_elf_ASFLAGS): ...to this.
29504 (grubof_LDFLAGS): Renamed from this...
29505 (kernel_elf_LDFLAGS): ...to this.
29506
29507 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29508 this...
29509 (kernel_elf_HEADERS): ...to this. Updated all users.
29510 (grubof_symlist.c): Renamed from this...
29511 (kernel_elf_symlist.c): ...to this. Updated all users.
29512 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29513 (grubof_SOURCES): Renamed from this...
29514 (kernel_elf_SOURCES): ...to this.
29515 (grubof_HEADERS): Renamed from this...
29516 (kernel_elf_HEADERS): ...to this.
29517 (grubof_CFLAGS): Renamed from this...
29518 (kernel_elf_CFLAGS): ...to this.
29519 (grubof_ASFLAGS): Renamed from this...
29520 (kernel_elf_ASFLAGS): ...to this.
29521 (grubof_LDFLAGS): Renamed from this...
29522 (kernel_elf_LDFLAGS): ...to this.
29523
29524 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29525 `kernel.elf' instead of `grubof'.
29526
29527 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29528
29529 Add --with-platform to configure. Use pkglibdir instead of
29530 pkgdatadir. This is reported by Roger Leigh.
29531
29532 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29533 (host_vendor): Likewise.
29534 (host_os): Likewise.
29535 (pkgdatadir): Likewise.
29536 (platform): New variable.
29537 (pkglibdir): Likewise.
29538 Use PKGLIBDIR instead of PKGDATADIR.
29539
29540 * util/i386/pc/grub-install.in (datadir): Removed.
29541 (host_vendor): Likewise.
29542 (host_os): Likewise.
29543 (pkgdatadir): Likewise.
29544 (platform): New variable.
29545 (pkglibdir): Likewise.
29546 Use PKGLIBDIR instead of PKGDATADIR.
29547
29548 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29549 instead of GRUB_DATADIR.
29550 (main): Likewise.
29551 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29552 (main): Likewise.
29553 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29554 (main): Likewise.
29555
29556 * configure.ac (--with-platform): New option.
29557 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29558
29559 * Makefile.in: Include a makefile based on PLATFORM instead of
29560 HOST_VENDOR.
29561 (pkgdatadir): Not appended by the machine type.
29562 (pkglibdir): Appended by the machine type.
29563 (host_vendor): Removed.
29564 (platform): New variable.
29565 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29566 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29567 (uninstall): Likewise.
29568
29569 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29570
29571 Use the environment context in the menu. Remove the commands
29572 "default" and "timeout", and use variables instead.
29573
29574 * normal/menu.c: Include grub/env.h.
29575 (print_entry): Cast TITLE to silence gcc.
29576 (get_timeout): New function.
29577 (set_timeout): Likewise.
29578 (get_entry_number): Likewise.
29579 (run_menu): Use a default entry, a fallback entry and a timeout
29580 in the environment variables "default", "fallback" and
29581 "timeout". Also, tweak the default entry if it is not within the
29582 current menu entries.
29583 (grub_menu_run): Use a fallback entry in the environment variable
29584 "fallback".
29585
29586 * normal/main.c (read_config_file): Do not initialize
29587 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29588 NEWMENU->TIMEOUT.
29589 (grub_normal_execute): Use a data slot to store the menu.
29590
29591 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29592 fallback_entry and timeout.
29593 (struct grub_menu_list): Removed.
29594 (grub_menu_list_t): Likewise.
29595 (struct grub_context): Likewise.
29596 (grub_context_t): Likewise.
29597 (grub_context_get): Likewise.
29598 (grub_context_get_current_menu): Likewise.
29599 (grub_context_push_menu): Likewise.
29600 (grub_context_pop_menu): Likewise.
29601 (grub_default_init): Likewise.
29602 (grub_default_fini): Likewise.
29603 (grub_timeout_init): Likewise.
29604 (grub_timeout_fini): Likewise.
29605
29606 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29607 and timeout.mod.
29608 (normal_mod_SOURCES): Removed normal/context.c.
29609
29610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29611 commands/default.c, commands/timeout.c and normal/context.c.
29612 (normal_mod_SOURCES): Removed normal/context.c.
29613
29614 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29615 commands/timeout.c and normal/context.c.
29616 (normal_mod_SOURCES): Removed normal/context.c.
29617
29618 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29619 commands/default.c, commands/timeout.c and normal/context.c.
29620 (normal_mod_SOURCES): Removed normal/context.c.
29621
29622 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29623 timeout.mod.
29624 (default_mod_SOURCES): Removed.
29625 (default_mod_CFLAGS): Likewise.
29626 (default_mod_LDFLAGS): Likewise.
29627 (timeout_mod_SOURCES): Removed.
29628 (timeout_mod_CFLAGS): Likewise.
29629 (timeout_mod_LDFLAGS): Likewise.
29630
29631 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29632 normal/context.c.
29633
29634 * commands/default.c: Removed.
29635 * commands/timeout.c: Likewise.
29636 * normal/context.c: Likewise.
29637
29638 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29639
29640 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29641
29642 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29643
29644 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29645 "next" to "prev" for readability.
29646 (struct grub_env_sorted_var): New struct.
29647 (grub_env_context): Renamed to ...
29648 (initial_context): ... this.
29649 (grub_env_var_context): Renamed to ...
29650 (current_context): ... this.
29651 (grub_env_find): Look only at CURRENT_CONTEXT.
29652 (grub_env_context_open): Rewritten to copy exported variables from
29653 previous context.
29654 (grub_env_context_close): Rewritten according to the new
29655 scheme. Also, add an assertion to prevent the initial context from
29656 removed.
29657 (grub_env_insert): Removed the code for the sorted list.
29658 (grub_env_remove): Likewise.
29659 (grub_env_export): Simply mark the variable with
29660 GRUB_ENV_VAR_GLOBAL.
29661 (grub_env_set): A cosmetic change for naming consistency.
29662 (grub_env_get): Likewise.
29663 (grub_env_unset): Likewise.
29664 (grub_env_iterate): Rewritten to sort variables within this
29665 function.
29666 (grub_register_variable_hook): Fixed for naming consistency. Call
29667 grub_env_find again, only if NAME is not found at the first time.
29668 (mangle_data_slot_name): New function.
29669 (grub_env_set_data_slot): Likewise.
29670 (grub_env_get_data_slot): Likewise.
29671 (grub_env_unset_data_slot): Likewise.
29672
29673 * include/grub/env.h (grub_env_var_type): New enum.
29674 (GRUB_ENV_VAR_LOCAL): New constant.
29675 (GRUB_ENV_VAR_GLOBAL): Likewise.
29676 (GRUB_ENV_VAR_DATA): Likewise.
29677 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29678 "type".
29679 (grub_env_set): Replace VAR with NAME for consistency.
29680 (grub_register_variable_hook): Likewise.
29681 (grub_env_export): Specify the name of the argument.
29682 (grub_env_set_data_slot): New prototype.
29683 (grub_env_get_data_slot): Likewise.
29684 (grub_env_unset_data_slot): Likewise.
29685
29686 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29687
29688 Extend the loader so that GRUB can accept a loader which comes
29689 back to GRUB when a loaded image exits. Also, this change adds
29690 support for a chainloader on EFI.
29691
29692 * term/efi/console.c: Include grub/misc.h.
29693 (grub_console_checkkey): Display a scan code on the top for
29694 debugging. This will be removed once the EFI port gets stable.
29695 Correct the scan code mapping.
29696
29697 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29698 allocate memory from larger regions, in order to reduce the number
29699 of allocated regions. Otherwise, the MacOSX loader panics.
29700 (filter_memory_map): Avoid less than 1MB for compatibility with
29701 other loaders.
29702 (add_memory_regions): Allocate from the tail of a region, if
29703 possible, to avoid allocating a region near to 1MB, for the MacOSX
29704 loader.
29705
29706 * kern/efi/init.c (grub_efi_set_prefix): Specify
29707 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29708
29709 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29710 argument IMAGE_HANDLE and specify it to get a loaded image.
29711 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29712 grub_efi_get_loaded_image.
29713 (grub_efi_get_filename): Divide the length by the size of
29714 grub_efi_char16_t.
29715 (grub_efi_get_device_path): New function.
29716 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29717 the length by the size of grub_efi_char16_t for a file path device
29718 path node.
29719
29720 * kern/loader.c (grub_loader_noreturn): New variable.
29721 (grub_loader_set): Accept a new argument NORETURN. Set
29722 GRUB_LOADER_NORETURN to NORETURN.
29723 All callers changed.
29724 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29725 grub_machine_fini.
29726
29727 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29728 prototype.
29729 (grub_efi_get_loaded_image): Take an argument to specify an image
29730 handle.
29731
29732 * include/grub/loader.h (grub_loader_set): Added one more argument
29733 NORETURN.
29734
29735 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29736 instead of grub_efi_open_protocol.
29737 (grub_efidisk_get_device_name): Likewise.
29738 (grub_efidisk_close): Print a newline.
29739 (grub_efidisk_get_device_handle): Fixed to use
29740 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29741 GRUB_EFI_DEVICE_PATH_TYPE.
29742
29743 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29744 * kern/efi/efi.c (device_path_guid): ... here.
29745
29746 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29747 chain.mod.
29748 (kernel_mod_HEADERS): Added efi/disk.h.
29749 (_chain_mod_SOURCES): New variable.
29750 (_chain_mod_CFLAGS): Likewise.
29751 (_chain_mod_LDFLAGS): Likewise.
29752 (chain_mod_SOURCES): Likewise.
29753 (chain_mod_CFLAGS): Likewise.
29754 (chain_mod_LDFLAGS): Likewise.
29755
29756 * DISTLIST: Added include/grub/efi/chainloader.h,
29757 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29758
29759 * include/grub/efi/chainloader.h: New file.
29760 * loader/efi/chainloader.c: Likewise.
29761 * loader/efi/chainloader_normal.c: Likewise.
29762
29763 2006-04-30 Marco Gerards <marco@gnu.org>
29764
29765 * commands/configfile.c (grub_cmd_source): New function.
29766 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29767 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29768
29769 2006-04-30 Marco Gerards <marco@gnu.org>
29770
29771 * normal/execute.c (grub_script_execute_cmd): Change the return
29772 type to `grub_err_t'. Correctly return the error.
29773 (grub_script_execute_cmdline): In case a command line is not a
29774 command or a function, try to interpret it as an assignment.
29775
29776 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29777
29778 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29779 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29780 skip a node whose name is obviously invalid as UTF-16,
29781 i.e. contains a NUL character. Stop the iteration when the last
29782 directory entry is found. Instead of using the return value of
29783 grub_hfsplus_btree_iterate_node, store the value in RET and use
29784 it, because the iterator can be stopped by the last directory
29785 entry.
29786
29787 2006-04-30 Marco Gerards <marco@gnu.org>
29788
29789 * include/grub/env.h (grub_env_export): New prototype. Reported
29790 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29791
29792 2006-04-30 Marco Gerards <marco@gnu.org>
29793
29794 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29795 size of the extents in a catalog file record.
29796
29797 2006-04-29 Marco Gerards <marco@gnu.org>
29798
29799 * commands/configfile.c (grub_cmd_configfile): Execute the
29800 configfile within its own context.
29801
29802 * include/grub/env.h (grub_env_context_open): New prototype.
29803 (grub_env_context_close): Likewise.
29804
29805 * kern/env.c (grub_env): Removed.
29806 (grub_env_sorted): Likewise.
29807 (grub_env_context): New variable.
29808 (grub_env_var_context): Likewise.
29809 (grub_env_find): Search both the active context and the global
29810 context.
29811 (grub_env_context_open): New function.
29812 (grub_env_context_close): Likewise.
29813 (grub_env_insert): Likewise.
29814 (grub_env_remove): Likewise.
29815 (grub_env_export): Likewise.
29816 (grub_env_set): Changed to use helper functions to avoid code
29817 duplication.
29818 (grub_env_iterate): Rewritten so both the current context and the
29819 global context are being used.
29820
29821 * normal/command.c (export_command): New function.
29822 (grub_command_init): Register the `export' function.
29823
29824 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29825
29826 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29827 explicitly to suppress gcc's warnings.
29828 * fs/fat.c (grub_fat_find_dir): Likewise.
29829 (grub_fat_label): Likewise.
29830 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29831 (grub_xfs_mount): Likewise.
29832 (grub_xfs_label): Likewise.
29833 * fs/affs.c (grub_affs_mount): Likewise.
29834 (grub_affs_label): Likewise.
29835 (grub_affs_iterate_dir): Likewise.
29836 * fs/sfs.c (grub_sfs_mount): Likewise.
29837 (grub_sfs_iterate_dir): Likewise.
29838 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29839 * fs/hfs.c (grub_hfs_mount): Likewise.
29840 (grub_hfs_cmp_catkeys): Likewise.
29841 (grub_hfs_find_dir): Likewise.
29842 (grub_hfs_dir): Likewise.
29843 (grub_hfs_label): Likewise.
29844 * fs/jfs.c (grub_jfs_mount): Likewise.
29845 (grub_jfs_opendir): Likewise.
29846 (grub_jfs_getent): Likewise.
29847 (grub_jfs_lookup_symlink): Likewise.
29848 (grub_jfs_label): Likewise.
29849 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29850 (grub_hfsplus_iterate_dir): Likewise.
29851 (grub_hfsplus_btree_iterate_node): Made static.
29852
29853 * util/grub-emu.c (prefix): New variable.
29854 (grub_machine_set_prefix): New function.
29855 (main): Do not set the environment variable "prefix" here. Only
29856 set PREFIX, which is used later by grub_machine_set_prefix.
29857
29858 * include/grub/video.h: Do not include grub/symbol.h.
29859 (grub_video_register): Not exported. This symbol is not defined in
29860 the kernel.
29861 (grub_video_unregister): Likewise.
29862 (grub_video_iterate): Likewise.
29863 (grub_video_setup): Likewise.
29864 (grub_video_restore): Likewise.
29865 (grub_video_get_info): Likewise.
29866 (grub_video_get_blit_format): Likewise.
29867 (grub_video_set_palette): Likewise.
29868 (grub_video_get_palette): Likewise.
29869 (grub_video_set_viewport): Likewise.
29870 (grub_video_get_viewport): Likewise.
29871 (grub_video_map_color): Likewise.
29872 (grub_video_map_rgb): Likewise.
29873 (grub_video_map_rgba): Likewise.
29874 (grub_video_fill_rect): Likewise.
29875 (grub_video_blit_glyph): Likewise.
29876 (grub_video_blit_bitmap): Likewise.
29877 (grub_video_blit_render_target): Likewise.
29878 (grub_video_scroll): Likewise.
29879 (grub_video_swap_buffers): Likewise.
29880 (grub_video_create_render_target): Likewise.
29881 (grub_video_delete_render_target): Likewise.
29882 (grub_video_set_active_render_target): Likewise.
29883
29884 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29885 Undefined.
29886 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29887
29888 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29889 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29890 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29891 instead of $(srcdir)/genkernsyms.sh.
29892
29893 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29894 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29895 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29896 instead of $(srcdir)/genkernsyms.sh.
29897
29898 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29899 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29900 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29901 instead of $(srcdir)/genkernsyms.sh.
29902
29903 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29904 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29905 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29906 instead of $(srcdir)/genkernsyms.sh.
29907
29908 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29909 genkernsyms.sh.
29910
29911 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29912 genkernsyms.sh.
29913 (gensymlist.sh): New target.
29914 (genkernsyms.sh): Likewise.
29915
29916 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29917 genkernsyms.sh.in and gensymlist.sh.in.
29918
29919 * genkernsyms.sh: Removed.
29920 * gensymlist.sh: Likewise.
29921
29922 * genkernsyms.sh.in: New file.
29923 * gensymlist.sh.in: Likewise.
29924
29925 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29926
29927 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29928 clobber "prefix", since we may have already set it manually.
29929
29930 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29931
29932 * kern/misc.c (abort): New alias for grub_abort.
29933
29934 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29935
29936 A new machine-specific function "grub_machine_set_prefix" is
29937 defined. This is called after loading modules, so that a prefix
29938 initialization can use modules. Also, this change adds an
29939 intensive debugging feature for the memory manager via the
29940 configure option "--enable-mm-debug".
29941
29942 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29943 PART.LEN.
29944
29945 * kern/sparc64/ieee1275/init.c (abort): Removed.
29946 (grub_stop): Likewise.
29947 (grub_exit): New function.
29948 (grub_set_prefix): Renamed to ...
29949 (grub_machine_set_prefix): ... this.
29950 (grub_machine_init): Do not call grub_set_prefix.
29951
29952 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29953 (grub_machine_set_prefix): ... this.
29954 (grub_machine_init): Do not call grub_set_prefix.
29955
29956 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29957 (grub_machine_init): Do not set the prefix here.
29958
29959 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29960
29961 * kern/efi/init.c: Include grub/mm.h.
29962 (grub_efi_set_prefix): New function.
29963
29964 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29965 (grub_efi_get_filename): New function.
29966 (grub_print_device_path): Renamed to ...
29967 (grub_efi_print_device_path): ... this.
29968
29969 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29970 [MM_DEBUG] (grub_realloc): Likewise.
29971 [MM_DEBUG] (grub_free): Likewise.
29972 [MM_DEBUG] (grub_memalign): Likewise.
29973 [MM_DEBUG] (grub_mm_debug): New variable.
29974 [MM_DEBUG] (grub_debug_malloc): New function.
29975 [MM_DEBUG] (grub_debug_free): New function.
29976 [MM_DEBUG] (grub_debug_realloc): New function.
29977 [MM_DEBUG] (grub_debug_memalign): New function.
29978
29979 * kern/misc.c (grub_abort): Print a newline to distinguish
29980 the message.
29981
29982 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29983 grub_set_root_dev after loading modules. This is necessary when
29984 setting a prefix depends on modules.
29985
29986 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29987 (grub_efi_print_device_path): ... this.
29988 (grub_efi_get_filename): New prototype.
29989 (grub_efi_set_prefix): Likewise.
29990
29991 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29992 and grub/disk.h.
29993 (grub_efidisk_get_device_handle): New prototype.
29994 (grub_efidisk_get_device_name): Likewise.
29995
29996 * include/grub/mm.h: Include config.h.
29997 (MM_DEBUG): Removed.
29998 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29999 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30000 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30001 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30002 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30003 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30004 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30005 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30006 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30007
30008 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30009
30010 * disk/efi/efidisk.c: Include grub/partition.h.
30011 (iterate_child_devices): New function.
30012 (add_device): First, compare only last device path nodes, so that
30013 devices are sorted by the types.
30014 (grub_efidisk_get_device_handle): New function.
30015 (grub_efidisk_get_device_name): Likewise.
30016
30017 * configure.ac (--enable-mm-debug): New option to enable the
30018 memory manager debugging feature. This makes the binary much
30019 bigger, so is disabled by default.
30020
30021 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30022
30023 Use grub_abort instead of grub_stop, and grub_exit must be
30024 define in each architecture now. Also, this change adds support
30025 for EFI disks.
30026
30027 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30028 (grub_getkey): New function.
30029 (grub_term_get_current): Likewise.
30030
30031 * util/i386/pc/grub-setup.c: Include grub/term.h.
30032 (grub_getkey): New function.
30033 (grub_term_get_current): Likewise.
30034
30035 * util/misc.c (grub_stop): Renamed to ...
30036 (grub_exit): ... this.
30037
30038 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30039 (grub_exit): ... this.
30040 (grub_machine_init): Use grub_abort instead of abort.
30041 (grub_stop): Removed.
30042
30043 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30044 abort.
30045
30046 * kern/i386/pc/startup.S (grub_exit): New function.
30047 (cold_reboot): New label.
30048
30049 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30050 (grub_efi_init): Call grub_efidisk_init.
30051 (grub_efi_fini): Call grub_efidisk_fini.
30052
30053 * kern/efi/efi.c: Include grub/mm.h.
30054 (grub_efi_console_control_guid): Renamed to ...
30055 (console_control_guid): ... this.
30056 (grub_efi_loaded_image_guid): Renamed to ...
30057 (loaded_image_guid): ... this.
30058 (grub_efi_locate_handle): New function.
30059 (grub_efi_open_protocol): Likewise.
30060 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30061 GRUB_EFI_CONSOLE_CONTROL_GUID.
30062 (grub_efi_exit): Removed.
30063 (grub_stop): Likewise.
30064 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30065 (grub_exit): New function.
30066 (grub_print_device_path): Likewise.
30067
30068 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30069 (grub_enter_rescue_mode): Register "exit".
30070
30071 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30072 (grub_abort): New function.
30073
30074 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30075
30076 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30077
30078 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30079
30080 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30081 (grub_print_device_path): New prototype.
30082 (grub_efi_locate_handle): Likewise.
30083 (grub_efi_open_protocol): Likewise.
30084
30085 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30086 * disk/efi/efidisk.c: Likewise.
30087
30088 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30089
30090 * include/grub/efi/console_control.h
30091 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30092
30093 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30094 last 8 bytes as an array.
30095 (GRUB_EFI_DISK_IO_GUID): New macro.
30096 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30097 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30098 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30099 grub_uint8_t.
30100 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30101 (struct grub_efi_device_path): Rename the member "sub_type" to
30102 "subtype".
30103 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30104 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30105 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30106 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30107 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30108 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30109 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30110 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30111 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30112 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30113 (struct grub_efi_pci_device_path): New structure.
30114 (grub_efi_pci_device_path_t): New type.
30115 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30116 (struct grub_efi_pccard_device_path): New structure.
30117 (grub_efi_pccard_device_path_t): New type.
30118 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30119 (struct grub_efi_memory_mapped_device_path): New structure.
30120 (grub_efi_memory_mapped_device_path_t): New type.
30121 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30122 (struct grub_efi_vendor_device_path): New structure.
30123 (grub_efi_vendor_device_path_t): New type.
30124 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30125 (struct grub_efi_controller_device_path): New structure.
30126 (grub_efi_controller_device_path_t): New type.
30127 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30128 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30129 (struct grub_efi_acpi_device_path): New structure.
30130 (grub_efi_acpi_device_path_t): New type.
30131 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30132 (struct grub_efi_expanded_acpi_device_path): New structure.
30133 (grub_efi_expanded_acpi_device_path_t): New type.
30134 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30135 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30136 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30137 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30138 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30139 (struct grub_efi_atapi_device_path): New structure.
30140 (grub_efi_atapi_device_path_t): New type.
30141 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30142 (struct grub_efi_fibre_channel_device_path): New structure.
30143 (grub_efi_fibre_channel_device_path_t): New type.
30144 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30145 (struct grub_efi_1394_device_path): New structure.
30146 (grub_efi_1394_device_path_t): New type.
30147 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30148 (struct grub_efi_usb_device_path): New structure.
30149 (grub_efi_usb_device_path_t): New type.
30150 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30151 (struct grub_efi_usb_class_device_path): New structure.
30152 (grub_efi_usb_class_device_path_t): New type.
30153 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30154 (struct grub_efi_i2o_device_path): New structure.
30155 (grub_efi_i2o_device_path_t): New type.
30156 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30157 (struct grub_efi_mac_address_device_path): New structure.
30158 (grub_efi_mac_address_device_path_t): New type.
30159 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30160 (struct grub_efi_ipv4_device_path): New structure.
30161 (grub_efi_ipv4_device_path_t): New type.
30162 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30163 (struct grub_efi_ipv6_device_path): New structure.
30164 (grub_efi_ipv6_device_path_t): New type.
30165 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30166 (struct grub_efi_infiniband_device_path): New structure.
30167 (grub_efi_infiniband_device_path_t): New type.
30168 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30169 (struct grub_efi_uart_device_path): New structure.
30170 (grub_efi_uart_device_path_t): New type.
30171 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30172 (struct grub_efi_vendor_messaging_device_path): New structure.
30173 (grub_efi_vendor_messaging_device_path_t): New type.
30174 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30175 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30176 (struct grub_efi_hard_drive_device_path): New structure.
30177 (grub_efi_hard_drive_device_path_t): New type.
30178 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30179 (struct grub_efi_cdrom_device_path): New structure.
30180 (grub_efi_cdrom_device_path_t): New type.
30181 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30182 (struct grub_efi_vendor_media_device_path): New structure.
30183 (grub_efi_vendor_media_device_path_t): New type.
30184 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30185 (struct grub_efi_file_path_device_path): New structure.
30186 (grub_efi_file_path_device_path_t): New type.
30187 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30188 (struct grub_efi_protocol_device_path): New structure.
30189 (grub_efi_protocol_device_path_t): New type.
30190 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30191 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30192 (struct grub_efi_bios_device_path): New structure.
30193 (grub_efi_bios_device_path_t): New type.
30194 (struct grub_efi_disk_io): New structure.
30195 (grub_efi_disk_io_t): New type.
30196 (struct grub_efi_block_io_media): New structure.
30197 (grub_efi_block_io_media_t): New type.
30198 (struct grub_efi_block_io): New structure.
30199 (grub_efi_block_io_t): New type.
30200
30201 * include/grub/misc.h (grub_stop): Removed.
30202 (grub_exit): New prototype.
30203 (grub_abort): Likewise.
30204
30205 * include/grub/disk.h (enum grub_disk_dev_id): Added
30206 GRUB_DISK_DEVICE_EFIDISK_ID.
30207
30208 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30209 disk/efi/efidisk.c.
30210 (kernel_syms.lst): Remove the target if an error occurs.
30211
30212 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30213
30214 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30215 as it was simply too buggy.
30216
30217 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30218
30219 * kern/misc.c (grub_lltoa): New function.
30220 (grub_vsprintf): Added support for the long long suffix,
30221 i.e. "ll".
30222
30223 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30224
30225 * Makefile.in (LDFLAGS): Add variable.
30226 (LD): Remove variable.
30227 * configure.ac: Add -m32 to LDFLAGS.
30228 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30229 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30230 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30231 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30232 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30233 variables.
30234 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30235 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30236 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30237
30238 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30239
30240 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30241 length for unknown glyph.
30242
30243 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30244
30245 Add support for pre-loaded modules into the EFI port.
30246
30247 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30248 completely. Accept one more argument DIR. The caller has changed.
30249
30250 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30251
30252 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30253 (grub_efi_loaded_image_guid): New variable.
30254 (grub_efi_get_loaded_image): New function.
30255 (grub_arch_modules_addr): Likewise.
30256
30257 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30258 prototype.
30259
30260 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30261 (struct grub_efi_loaded_image): New structure.
30262 (grub_efi_loaded_image_t): New type.
30263
30264 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30265
30266 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30267 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30268 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30269
30270 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30271
30272 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30273
30274 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30275
30276 * DISTLIST: Added include/grub/efi/console.h,
30277 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30278 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30279
30280 * include/grub/efi/console.h: New file.
30281 * include/grub/efi/time.h: Likewise.
30282 * include/grub/i386/efi/kernel.h: Likewise.
30283 * kern/efi/init.c: Likewise.
30284 * kern/efi/mm.c: Likewise.
30285 * term/efi/console.c: Likewise.
30286
30287 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30288 (grub_stop): Removed.
30289 (grub_get_rtc): Likewise.
30290 (grub_machine_init): Simply call grub_efi_init.
30291 (grub_machine_fini): Call grub_efi_fini.
30292
30293 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30294 (grub_efi_output_string): Removed.
30295 (grub_efi_stall): New function.
30296 (grub_stop): Likewise.
30297 (grub_get_rtc): Likewise.
30298
30299 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30300 (grub_efi_stall): New prototype.
30301 (grub_efi_allocate_pages): Likewise.
30302 (grub_efi_free_pages): Likewise.
30303 (grub_efi_get_memory_map): Likewise.
30304 (grub_efi_mm_init): Likewise.
30305 (grub_efi_mm_fini): Likewise.
30306 (grub_efi_init): Likewise.
30307 (grub_efi_fini): Likewise.
30308
30309 * include/grub/i386/efi/time.h: Do not include
30310 grub/symbol.h. Include grub/efi/time.h.
30311 (GRUB_TICKS_PER_SECOND): Removed.
30312 (grub_get_rtc): Likewise.
30313
30314 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30315 Added padding. The EFI spec is buggy.
30316 (GRUB_EFI_BLACK): New macro.
30317 (GRUB_EFI_BLUE): Likewise.
30318 (GRUB_EFI_GREEN): Likewise.
30319 (GRUB_EFI_CYAN): Likewise.
30320 (GRUB_EFI_RED): Likewise.
30321 (GRUB_EFI_MAGENTA): Likewise.
30322 (GRUB_EFI_BROWN): Likewise.
30323 (GRUB_EFI_LIGHTGRAY): Likewise.
30324 (GRUB_EFI_BRIGHT): Likewise.
30325 (GRUB_EFI_DARKGRAY): Likewise.
30326 (GRUB_EFI_LIGHTBLUE): Likewise.
30327 (GRUB_EFI_LIGHTGREEN): Likewise.
30328 (GRUB_EFI_LIGHTCYAN): Likewise.
30329 (GRUB_EFI_LIGHTRED): Likewise.
30330 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30331 (GRUB_EFI_YELLOW): Likewise.
30332 (GRUB_EFI_WHITE): Likewise.
30333 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30334 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30335 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30336 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30337 (GRUB_EFI_BACKGROUND_RED): Likewise.
30338 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30339 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30340 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30341 (GRUB_EFI_TEXT_ATTR): Likewise.
30342
30343 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30344 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30345 (kernel_mod_HEADERS): Added efi/time.h.
30346
30347 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30348
30349 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30350 include/grub/efi/api.h, include/grub/efi/console_control.h,
30351 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30352 include/grub/i386/efi/time.h, kern/efi/efi.c,
30353 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30354 and util/i386/efi/grub-mkimage.c.
30355
30356 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30357
30358 * genmk.rb (PModule#rule): Do not export symbols if
30359 #{prefix}_EXPORTS is set to "no".
30360
30361 * conf/i386-efi.mk: New file.
30362 * conf/i386-efi.rmk: Likewise.
30363 * include/grub/efi/api.h: Likewise.
30364 * include/grub/efi/console_control.h: Likewise.
30365 * include/grub/efi/efi.h: Likewise.
30366 * include/grub/efi/pe32.h: Likewise.
30367 * include/grub/i386/efi/time.h: Likewise.
30368 * kern/efi/efi.c: Likewise.
30369 * kern/i386/efi/init.c: Likewise.
30370 * kern/i386/efi/startup.S: Likewise.
30371 * util/i386/efi/grub-mkimage.c: Likewise.
30372
30373 2006-04-17 Marco Gerards <marco@gnu.org>
30374
30375 * include/grub/script.h: Include <grub/parser.h> and
30376 "grub_script.tab.h".
30377 (struct grub_lexer_param): New struct.
30378 (struct grub_parser_param): Likewise.
30379 (grub_script_create_arglist): Pass the state in an argument.
30380 (grub_script_add_arglist): Likewise.
30381 (grub_script_create_cmdline): Likewise.
30382 (grub_script_create_cmdblock): Likewise.
30383 (grub_script_create_cmdif): Likewise.
30384 (grub_script_create_cmdmenu): Likewise.
30385 (grub_script_add_cmd): Likewise.
30386 (grub_script_arg_add): Likewise.
30387 (grub_script_lexer_ref): Likewise.
30388 (grub_script_lexer_deref): Likewise.
30389 (grub_script_lexer_record_start): Likewise.
30390 (grub_script_lexer_record_stop): Likewise.
30391 (grub_script_mem_record): Likewise.
30392 (grub_script_mem_record_stop): Likewise.
30393 (grub_script_malloc): Likewise.
30394 (grub_script_yylex): Likewise.
30395 (grub_script_yyparse): Likewise.
30396 (grub_script_yyerror): Likewise.
30397 (grub_script_yylex): Likewise.
30398 (grub_script_lexer_init): Return the state.
30399
30400 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30401 (grub_script_lexer_done): Likewise.
30402 (grub_script_lexer_getline): Likewise.
30403 (grub_script_lexer_refs): Likewise.
30404 (script): Likewise.
30405 (newscript): Likewise.
30406 (record): Likewise.
30407 (recording): Likewise.
30408 (recordpos): Likewise.
30409 (recordlen): Likewise.
30410 (grub_script_lexer_init): Return the state instead of setting
30411 global variables.
30412 (grub_script_lexer_ref): Use the newly added argument for state
30413 instead of globals.
30414 (grub_script_lexer_deref): Likewise.
30415 (grub_script_lexer_record_start): Likewise.
30416 (grub_script_lexer_record_stop): Likewise.
30417 (recordchar): Likewise.
30418 (nextchar): Likewise.
30419 (grub_script_yylex2): Likewise.
30420 (grub_script_yylex): Likewise.
30421 (grub_script_yyerror): Likewise.
30422
30423 * normal/parser.y (func_mem): Removed variable.
30424 (menu_entry): Likewise.
30425 (err): Likewise.
30426 (%lex-param): New parser option.
30427 (%parse-param): Likewise.
30428 (script): Always return the AST.
30429 (argument): Pass the state around.
30430 (arguments): Likewise.
30431 (grubcmd): Likewise.
30432 (commands): Likewise.
30433 (function): Likewise.
30434 (menuentry): Likewise.
30435 (if_statement): Likewise.
30436 (if): Likewise.
30437
30438 * normal/script.c (grub_script_memused): Removed variable.
30439 (grub_script_parsed): Likewise.
30440 (grub_script_malloc): Added a state argument. Use that instead of
30441 global variables.
30442 (grub_script_mem_record): Likewise.
30443 (grub_script_mem_record_stop): Likewise.
30444 (grub_script_arg_add): Likewise.
30445 (grub_script_add_arglist): Likewise.
30446 (grub_script_create_cmdline): Likewise.
30447 (grub_script_create_cmdif): Likewise.
30448 (grub_script_create_cmdmenu): Likewise.
30449 (grub_script_add_cmd): Likewise.
30450 (grub_script_parse): Setup the state before calling the parser.
30451
30452 2006-04-16 Marco Gerards <marco@gnu.org>
30453
30454 * normal/command.c (grub_command_init): Remove the title command.
30455
30456 * normal/lexer.c (grub_script_yylex): Renamed from this...
30457 (grub_script_yylex2): ... to this.
30458 (grub_script_yylex): New function. Temporary
30459 introduced to filter some tokens.
30460 (grub_script_yyerror): Print a newline.
30461
30462 * normal/main.c (read_config_file): Output information about the
30463 lines that contain errors. Wait for a key after all lines have
30464 been processed. Don't return an empty menu.
30465
30466 * normal/parser.y (func_mem): Don't initialize.
30467 (menu_entry): Likewise.
30468 (err): New variable.
30469 (script): Don't return anything when an error was encountered.
30470 (ws, returns): Removed rules.
30471 (argument): Disabled concatenated variable support.
30472 (arguments): Remove explicit separators.
30473 (grubcmd): Likewise.
30474 (function): Likewise.
30475 (menuentry): Likewise.
30476 (if): Likewise.
30477 (commands): Likewise. Add error handling.
30478
30479 * normal/script.c (grub_script_create_cmdline): If
30480 `grub_script_parsed' is 0, assume the parser encountered an error.
30481
30482 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30483
30484 * configure.ac: Add support for EFI. Fix the typo
30485 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30486
30487 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30488
30489 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30490 foreign multibyte characters should be shown correctly.
30491
30492 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30493
30494 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30495 calculation.
30496 (read_config_file): Made it to close file before returning.
30497
30498 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30499
30500 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30501 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30502 video/i386/pc/vbefill.c.
30503
30504 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30505 video/i386/pc/vbefill.c.
30506
30507 * include/grub/video.h (grub_video_blit_format): New enum.
30508 (grub_video_mode_info): Added new member blit_format.
30509 (grub_video_get_blit_format): New function prototype.
30510
30511 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30512 function prototype.
30513 (grub_video_vbe_map_rgb): Likewise.
30514 (grub_video_vbe_unmap_color): Likewise.
30515
30516 * include/grub/i386/pc/vbeblit.h: New file.
30517
30518 * include/grub/i386/pc/vbefill.h: New file.
30519
30520 * video/video.c (grub_video_get_blit_format): New function.
30521 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30522 (grub_video_vbe_map_rgb): Likewise.
30523 (grub_video_vbe_unmap_color): Likewise.
30524
30525 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30526 optimized fills.
30527 (grub_video_vbe_blit_render_target): Changed to use more optimized
30528 blits.
30529 (grub_video_vbe_setup): Added detection for optimized settings.
30530 (grub_video_vbe_create_render_target): Likewise.
30531
30532 * video/i386/pc/vbeblit.c: New file.
30533
30534 * video/i386/pc/vbefill.c: New file.
30535
30536 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30537
30538 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30539 here...
30540
30541 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30542 parsing to support both hex and dec ranges. If filename was missing
30543 show usage information.
30544
30545 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30546
30547 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30548 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30549
30550 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30551 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30552 (video_mod_SOURCES): Added.
30553 (video_mod_CFLAGS): Likewise.
30554 (video_mod_LDFLAGS): Likewise.
30555 (gfxterm_mod_SOURCES): Likewise.
30556 (gfxterm_mod_CFLAGS): Likewise.
30557 (gfxterm_mod_LDFLAGS): Likewise.
30558 (videotest_mod_SOURCES): Likewise.
30559 (videotest_mod_CFLAGS): Likewise.
30560 (videotest_mod_LDFLAGS): Likewise.
30561 (vesafb_mod_SOURCES): Removed.
30562 (vesafb_mod_CFLAGS): Likewise.
30563 (vesafb_mod_LDFLAGS): Likewise.
30564 (vga_mod_SOURCES): Likewise.
30565 (vga_mod_CFLAGS): Likewise.
30566 (vga_mod_LDFLAGS): Likewise.
30567
30568 * commands/videotest.c: New file.
30569
30570 * font/manager.c (fill_with_default_glyph): Modified to use
30571 grub_font_glyph.
30572 (grub_font_get_glyph): Likewise.
30573 (fontmanager): Renamed from this...
30574 (font_manager): ... to this.
30575
30576 * include/grub/font.h (grub_font_glyph): Added new structure.
30577 (grub_font_get_glyph): Modified to use grub_font_glyph.
30578
30579 * include/grub/misc.h (grub_abs): Added as inline function.
30580
30581 * include/grub/video.h: New file.
30582
30583 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30584 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30585 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30586 (grub_vbe_get_controller_info): Renamed from this...
30587 (grub_vbe_bios_get_controller_info): ... to this.
30588 (grub_vbe_get_mode_info): Renamed from this...
30589 (grub_vbe_bios_get_mode_info): ... to this.
30590 (grub_vbe_set_mode): Renamed from this...
30591 (grub_vbe_bios_set_mode): ... to this.
30592 (grub_vbe_get_mode): Renamed from this...
30593 (grub_vbe_bios_get_mode): ... to this.
30594 (grub_vbe_set_memory_window): Renamed from this...
30595 (grub_vbe_bios_set_memory_window): ... to this.
30596 (grub_vbe_get_memory_window): Renamed from this...
30597 (grub_vbe_bios_get_memory_window): ... to this.
30598 (grub_vbe_set_scanline_length): Renamed from this...
30599 (grub_vbe_set_scanline_length): ... to this.
30600 (grub_vbe_get_scanline_length): Renamed from this...
30601 (grub_vbe_bios_get_scanline_length): ... to this.
30602 (grub_vbe_set_display_start): Renamed from this...
30603 (grub_vbe_bios_set_display_start): ... to this.
30604 (grub_vbe_get_display_start): Renamed from this...
30605 (grub_vbe_bios_get_display_start): ... to this.
30606 (grub_vbe_set_palette_data): Renamed from this...
30607 (grub_vbe_bios_set_palette_data): ... to this.
30608 (grub_vbe_set_pixel_rgb): Removed.
30609 (grub_vbe_set_pixel_index): Likewise.
30610
30611 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30612 from this...
30613 (grub_vbe_bios_get_controller_info): ... to this.
30614 (grub_vbe_get_mode_info): Renamed from this...
30615 (grub_vbe_bios_get_mode_info): ... to this.
30616 (grub_vbe_set_mode): Renamed from this...
30617 (grub_vbe_bios_set_mode): ... to this.
30618 (grub_vbe_get_mode): Renamed from this...
30619 (grub_vbe_bios_get_mode): ... to this.
30620 (grub_vbe_set_memory_window): Renamed from this...
30621 (grub_vbe_bios_set_memory_window): ... to this.
30622 (grub_vbe_get_memory_window): Renamed from this...
30623 (grub_vbe_bios_get_memory_window): ... to this.
30624 (grub_vbe_set_scanline_length): Renamed from this...
30625 (grub_vbe_set_scanline_length): ... to this.
30626 (grub_vbe_get_scanline_length): Renamed from this...
30627 (grub_vbe_bios_get_scanline_length): ... to this.
30628 (grub_vbe_set_display_start): Renamed from this...
30629 (grub_vbe_bios_set_display_start): ... to this.
30630 (grub_vbe_get_display_start): Renamed from this...
30631 (grub_vbe_bios_get_display_start): ... to this.
30632 (grub_vbe_set_palette_data): Renamed from this...
30633 (grub_vbe_bios_set_palette_data): ... to this.
30634 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30635 getting corrupted after calling it. Added more pushes and pops.
30636 (grub_vbe_bios_set_mode): Likewise.
30637 (grub_vbe_bios_get_mode): Likewise.
30638 (grub_vbe_bios_get_memory_window): Likewise.
30639 (grub_vbe_bios_set_scanline_length): Likewise.
30640 (grub_vbe_bios_get_scanline_length): Likewise.
30641 (grub_vbe_bios_get_display_start): Likewise.
30642 (grub_vbe_bios_set_palette_data): Likewise.
30643
30644 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30645 (cl_insert): Likewise.
30646 (cl_delete): Likewise.
30647
30648 * term/gfxterm.c: New file.
30649
30650 * term/i386/pc/vesafb.c: Removed file.
30651
30652 * video/video.c: New file.
30653
30654 * video/i386/pc/vbe.c (real2pm): Added new function.
30655 (grub_video_vbe_draw_pixel): Likewise.
30656 (grub_video_vbe_get_video_ptr): Likewise.
30657 (grub_video_vbe_get_pixel): Likewise
30658 (grub_video_vbe_init): Likewise.
30659 (grub_video_vbe_fini): Likewise.
30660 (grub_video_vbe_setup): Likewise.
30661 (grub_video_vbe_get_info): Likewise.
30662 (grub_video_vbe_set_palette): Likewise.
30663 (grub_video_vbe_get_palette): Likewise.
30664 (grub_video_vbe_set_viewport): Likewise.
30665 (grub_video_vbe_get_viewport): Likewise.
30666 (grub_video_vbe_map_color): Likewise.
30667 (grub_video_vbe_map_rgb): Likewise.
30668 (grub_video_vbe_map_rgba): Likewise.
30669 (grub_video_vbe_unmap_color): Likewise.
30670 (grub_video_vbe_fill_rect): Likewise.
30671 (grub_video_vbe_blit_glyph): Likewise.
30672 (grub_video_vbe_blit_bitmap): Likewise.
30673 (grub_video_vbe_blit_render_target): Likewise.
30674 (grub_video_vbe_scroll): Likewise.
30675 (grub_video_vbe_swap_buffers): Likewise.
30676 (grub_video_vbe_create_render_target): Likewise.
30677 (grub_video_vbe_delete_render_target): Likewise.
30678 (grub_video_vbe_set_active_render_target): Likewise.
30679 (grub_vbe_set_pixel_rgb): Remove function.
30680 (grub_vbe_set_pixel_index): Likewise.
30681 (index_color_mode): Remove static variable.
30682 (active_mode): Likewise.
30683 (framebuffer): Likewise.
30684 (bytes_per_scan_line): Likewise.
30685 (grub_video_vbe_adapter): Added new static variable.
30686 (framebuffer): Likewise.
30687 (render_target): Likewise.
30688 (initial_mode): Likewise.
30689 (mode_in_use): Likewise.
30690 (mode_list): Likewise.
30691
30692 2006-03-10 Marco Gerards <marco@gnu.org>
30693
30694 * configure.ac (AC_INIT): Bumped to 1.93.
30695
30696 * DISTLIST: Added `include/grub/hfs.h'.
30697
30698 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30699
30700 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30701 18H, which might help the BIOS falling back to next boot media.
30702
30703 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30704
30705 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30706 Poe Chen <poe.poechen@gmail.com>.
30707
30708 2006-01-17 Marco Gerards <marco@gnu.org>
30709
30710 * include/grub/normal.h: Include <grub/script.h>.
30711 (grub_command_list): Removed struct.
30712 (grub_command_list_t): Removed type.
30713 (grub_menu_entry): Remove members `num' and `command_list'. Add
30714 members `commands' and `sourcecode'.
30715 * include/grub/script.h: Add inclusion guards.
30716 (grub_script_cmd_menuentry): New struct.
30717 (grub_script_execute_menuentry): New prototype.
30718 (grub_script_lexer_record_start): Likewise.
30719 (grub_script_lexer_record_stop): Likewise.
30720 * normal/execute.c (grub_script_execute_menuentry): New function.
30721 * normal/lexer.c (record, recording, recordpos, recordlen): New
30722 variables.
30723 (grub_script_lexer_record_start): New function.
30724 (grub_script_lexer_record_stop): Likewise.
30725 (recordchar): Likewise.
30726 (nextchar): Likewise.
30727 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30728 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30729 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30730 (current_menu): New variable.
30731 (free_menu): Mainly rewritten.
30732 (grub_normal_menu_addentry): New function.
30733 (read_config_file): Rewritten.
30734 * normal/menu.c (run_menu_entry): Mainly rewritten.
30735 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30736 the menu entry.
30737 (run): Mainly rewritten.
30738 * normal/parser.y (menu_entry): New variable.
30739 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30740 (menuentry): New rule.
30741 (command): Add `menuentry'.
30742 (if_statement): Allow additional returns before `fi'.
30743 * normal/script.c (grub_script_create_cmdmenu): New function.
30744
30745 2006-01-03 Marco Gerards <marco@gnu.org>
30746
30747 * INSTALL: GNU Bison is required.
30748 * configure.ac: Rewritten the test to detect Bison.
30749 * Makefile.in (YACC): New variable. Reported by Xun Sun
30750 <xun.sun.cn@gmail.com>.
30751
30752 2006-01-03 Marco Gerards <marco@gnu.org>
30753
30754 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30755 the HFS+ filesystem to filesystem blocks.
30756 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30757 GCC warning is silenced.
30758
30759 2006-01-03 Marco Gerards <marco@gnu.org>
30760
30761 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30762 read from disk from big endian to host byte order.
30763
30764 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30765
30766 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30767 documentation.
30768 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30769 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30770 embedded HFS+ filesystem.
30771 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30772 (grub_hfs_sblock): Move from here...
30773 * include/grub/hfs.h: To here... New file.
30774 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30775 documentation.
30776 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30777 New macros.
30778 (grub_hfsplus_volheader): Change type of member `magic' to
30779 `grub_uint16_t'.
30780 (grub_hfsplus_data): Add new member `embedded_offset'.
30781 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30782 returned block.
30783 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30784 Calculate the offset.
30785
30786 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30787
30788 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30789 Removed.
30790 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30791
30792 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30793
30794 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30795 ENV->NAME is NULL after allocating ENV->VALUE.
30796
30797 2005-12-25 Marco Gerards <marco@gnu.org>
30798
30799 * kern/env.c (grub_env_set): Rewritten the error handling code.
30800
30801 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30802
30803 * geninit.sh: Made more robust, and more portable.
30804
30805 2005-12-25 Marco Gerards <marco@gnu.org>
30806
30807 Add support for Apple HFS+ filesystems.
30808
30809 * fs/hfsplus.c: New file.
30810
30811 * DISTLIST: Added `fs/hfsplus.c'.
30812
30813 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30814 (hfsplus_mod_SOURCES): New variable.
30815 (hfsplus_mod_CFLAGS): Likewise.
30816 (hfsplus_mod_LDFLAGS): Likewise.
30817 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30818 (grub_setup_SOURCES): Likewise.
30819 (grub_mkdevicemap_SOURCES): Likewise.
30820 (grub_emu_SOURCES): Likewise.
30821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30822
30823 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30824
30825 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30826
30827 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30828
30829 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30830 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30831 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30832 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30833 normal/lexer.c, normal/parser.y, normal/script.c, and
30834 partmap/gpt.c.
30835 Removed kern/sparc64/cache.c.
30836
30837 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30838 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30839 grub_emu_init.c.
30840
30841 * configure.ac (AC_INIT): Bumped to 1.92.
30842
30843 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30844
30845 * kern/err.c (grub_error_push): Added new function to support error
30846 stacks.
30847 (grub_error_pop): Likewise.
30848 (grub_error_stack_items): New local variable to support error stacks.
30849 (grub_error_stack_pos): Likewise.
30850 (grub_error_stack_assert): Likewise.
30851 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30852 stack depth.
30853 (grub_print_error): Added support to print errors from error stack.
30854
30855 * include/grub/err.h (grub_error_push): Added function prototype.
30856 (grub_error_pop): Likewise.
30857
30858 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30859
30860 * configure.ac: Accept `powerpc64' as host_cpu.
30861 (amd64): Rename to `biarch32'.
30862
30863 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30864 non-cacheline-aligned addresses.
30865
30866 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30867 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30868 if `size' is non-zero.
30869
30870 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
30871
30872 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30873 and `cd' to make sure the filename is not prefixed with a
30874 directory name.
30875 (pkgdata_MODULES): Add `gpt.mod'.
30876 (gpt_mod_SOURCES): New variable.
30877 (gpt_mod_CFLAGS): Likewise.
30878 (gpt_mod_LDFLAGS): Likewise.
30879
30880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30881
30882 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30883 New macro.
30884
30885 * partmap/gpt.c: New file.
30886
30887 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30888 GPT partition map is detected.
30889
30890 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30891
30892 * commands/i386/pc/play.c: New file.
30893 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30894 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30895 macros.
30896
30897 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
30898
30899 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30900 ((unused))' to silence gcc warning.
30901
30902 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30903
30904 * configure.ac: Correct `AC_PROG_YACC' test.
30905
30906 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30907
30908 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30909 check before installing files.
30910
30911 2005-11-22 Mike Small <smallm@panix.com>
30912
30913 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30914 number regex so multidigit numbers are recognized correctly.
30915
30916 2005-11-22 Mike Small <smallm@panix.com>
30917
30918 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30919 debugging message before attempting to claim memory.
30920 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30921 multiple addresses in case of failure.
30922
30923 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30924
30925 * term/tparm.c (get_space): Remove empty `if' statement.
30926
30927 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30928
30929 * kern/parser.c (check_varstate): Rename `state' to 's'.
30930
30931 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30932
30933 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30934 variable definitions to the beginning of each function. Sort stack
30935 variables by size.
30936 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30937 `buf' argument to `char *'.
30938
30939 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30940
30941 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30942 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30943 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30944 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30945 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30946 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30947 configfile.mod, search.mod, gzio.mod and test.mod.
30948 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30949 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30950 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30951 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30952 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30953 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30954 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30955 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30956 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30957 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30958 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30959 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30960 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30961 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30962 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30963 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30964 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30965 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30966 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30967 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30968 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30969 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30970 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30971
30972 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30973 `grep --include'.
30974 (pkgdata_MODULES): Add test.mod.
30975
30976 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30977
30978 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30979 appending to variables with "+=".
30980 (PModule): Use full pathname to generate *.lst filenames.
30981
30982 * Makefile.in: Fixed list rules moved from genmk.rb.
30983 (.DELETE_ON_ERROR): New special target.
30984 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30985
30986 * conf/i386-pc.rmk: Include conf/common.mk.
30987 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30988 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30989 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30990 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30991 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30992 configfile.mod, search.mod, gzio.mod and test.mod.
30993 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30994 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30995 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30996 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30997 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30998 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30999 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31000 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31001 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31002 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31003 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31004 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31005 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31006 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31007 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31008 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31009 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31010 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31011 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31012 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31013 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31014 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31015 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31016 here...
31017 * conf/common.rmk: ... to here. New file.
31018
31019 * conf/common.mk: New file.
31020
31021 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31022
31023 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31024 (grub_script.tab.c): ... here.
31025
31026 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31027 (grub_script.tab.c): ... here.
31028
31029 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31030 (grub_script.tab.c): ... here.
31031
31032 * normal/command.c (grub_command_find): Fixed a memory leak of
31033 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31034
31035 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31036
31037 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31038 "@" which marks the start of a comment on ARM.
31039 (VARIABLE): Likewise.
31040
31041 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31042
31043 Add support for Linux/ADFS partition tables.
31044
31045 * partmap/acorn.c: New file.
31046
31047 * include/grub/acorn_filecore.h: Likewise.
31048
31049 * DISTLIST: Added `partmap/acorn.c' and
31050 `include/grub/acorn_filecore.h'.
31051
31052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31053 `partmap/acorn.c'.
31054 (pkgdata_MODULES): Add `acorn.mod'.
31055 (acorn_mod_SOURCES): New variable.
31056 (acorn_mod_CFLAGS): Likewise.
31057
31058 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31059 `partmap/acorn.c'.
31060 (pkgdata_MODULES): Add `acorn.mod'.
31061 (acorn_mod_SOURCES): New variable.
31062 (acorn_mod_CFLAGS): Likewise.
31063
31064 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31065 (pkgdata_MODULES): Add `acorn.mod'.
31066 (acorn_mod_SOURCES): New variable.
31067 (acorn_mod_CFLAGS): Likewise.
31068 (acorn_mod_LDFLAGS): Likewise.
31069
31070 * include/types.h (grub_disk_addr_t): New typedef.
31071
31072 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
31073
31074 * geninit.sh: New file.
31075
31076 * geninitheader.sh: Likewise.
31077
31078 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31079 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31080 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31081 * commands/configfile.c (grub_configfile_init)
31082 (grub_configfile_fini): Likewise.
31083 * commands/default.c (grub_default_init, grub_default_fini):
31084 Likewise.
31085 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31086 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31087 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31088 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31089 Likewise.
31090 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31091 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31092 Likewise.
31093 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
31094 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
31095 Likewise.
31096 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31097 Likewise.
31098 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
31099 Likewise.
31100 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31101 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31102 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31103 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31104 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31105 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31106 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31107 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31108 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31109 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31110 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31111 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31112 * partmap/amiga.c (grub_amiga_partition_map_init)
31113 (grub_amiga_partition_map_fini): Likewise.
31114 * partmap/apple.c (grub_apple_partition_map_init)
31115 (grub_apple_partition_map_fini): Likewise.
31116 * partmap/pc.c (grub_pc_partition_map_init)
31117 (grub_pc_partition_map_fini): Likewise.
31118 * partmap/sun.c (grub_sun_partition_map_init,
31119 grub_sun_partition_map_fini): Likewise.
31120 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31121 Likewise.
31122
31123 * util/grub-emu.c: Include <grub_modules_init.h>.
31124 (main): Don't initialize and de-initialize any modules directly,
31125 use `grub_init_all' and `grub_fini_all' instead.
31126
31127 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31128 `grub_vesafb_mod_init'.
31129 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31130 all users.
31131 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31132 `grub_vga_mod_init'. Updated all users.
31133 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
31134
31135 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31136 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31137 rules.
31138
31139 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31140 Generate a function to initialize the module in utilities.
31141 Updated all callers.
31142 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31143 initialize the module in utilities. Updated all callers.
31144
31145 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31146
31147 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31148 escape sequence and a literal ^L to clear the screen.
31149
31150 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31151 when returning from Open Firmware.
31152
31153 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31154
31155 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31156 (grub_ofconsole_height): Likewise.
31157 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31158 manually insert a '\n'.
31159 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31160 `grub_ofconsole_height'. Return early if these are already set.
31161
31162 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31163
31164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31165 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31166 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31167 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31168 and `normal/script.c'.
31169 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31170 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31171 (test_mod_SOURCES): New variable.
31172 (test_mod_CFLAGS): Likewise.
31173 (test_mod_LDFLAGS): Likewise.
31174 (pkgdata_MODULES): Add `test.mod'.
31175 (grub_script.tab.c): New rule.
31176 (grub_script.tab.h): Likewise.
31177
31178 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
31179
31180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31181 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31182 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31183 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31184 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31185 (test_mod_SOURCES): New variable.
31186 (test_mod_CFLAGS): Likewise.
31187 (pkgdata_MODULES): Add `test.mod'.
31188 (grub_script.tab.c): New rule.
31189 (grub_script.tab.h): Likewise.
31190
31191 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
31192
31193 Add initial scripting support.
31194
31195 * commands/test.c: New file.
31196 * include/grub/script.h: Likewise.
31197 * normal/execute.c: Likewise.
31198 * normal/function.c: Likewise.
31199 * normal/lexer.c: Likewise.
31200 * normal/parser.y: Likewise.
31201 * normal/script.c: Likewise.
31202
31203 * configure.ac: Add `AC_PROG_YACC' test.
31204
31205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31206 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31207 `normal/function.c' and `normal/script.c'.
31208 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31209 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31210 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31211 variables.
31212 (pkgdata_MODULES): Add `test.mod'.
31213 (grub_script.tab.c): New rule.
31214 (grub_script.tab.h): Likewise.
31215
31216 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31217
31218 * include/grub/normal.h (grub_test_init): New prototype.
31219 (grub_test_fini): Likewise.
31220
31221 * normal/command.c: Include <grub/script.h>.
31222 (grub_command_execute): Rewritten.
31223
31224 * util/grub-emu.c (main): Call `grub_test_init' and
31225 `grub_test_fini'.
31226
31227 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31228
31229 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31230 to 0.
31231 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31232 there are no pending characters.
31233
31234 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31235
31236 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31237 `grub_strndup' to drop device arguments. Replace unnecessary
31238 `grub_strndup' with `grub_strdup'.
31239
31240 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31241
31242 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31243 `debug' environment variable has been set.
31244
31245 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
31246
31247 * Makefile.in (install-local): Use $(DATA).
31248 (uninstall): Likewise.
31249 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31250 (sbin_UTILITIES): ... to here.
31251 (sbin_SCRIPTS): New variable.
31252 (grub_install_SOURCES): New variable.
31253 * util/powerpc/ieee1275/grub-install.in: New file.
31254 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31255 variable.
31256 (add_segments): Call `grub_util_get_path'.
31257
31258 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31259
31260 From Timothy Baldwin:
31261 * commands/ls.c (grub_ls_list_files): Close FILE with
31262 grub_file_close.
31263 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31264
31265 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
31266
31267 * include/grub/parser.h: New file.
31268
31269 * kern/parser.c: Likewise.
31270
31271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31272 (grub_setup_SOURCES): Likewise.
31273 (grub_probefs_SOURCES): Likewise.
31274 (grub_emu_SOURCES): Likewise.
31275 (kernel_img_HEADERS): Add `parser.h'.
31276
31277 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31278 (grub_emu_SOURCES): Add `kern/parser.c'.
31279 (grubof_SOURCES): Likewise.
31280
31281 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31282 (grubof_SOURCES): Add `kern/parser.c'.
31283
31284 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31285
31286 * kern/misc.c (grub_split_cmdline): Removed function.
31287
31288 * kern/rescue.c: Include <grub/parser.h>.
31289 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31290 of `grub_split_cmdline'.
31291
31292 * normal/command.c: Include <grub/parser.h>.
31293 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31294 of `grub_split_cmdline'.
31295
31296 * normal/completion.c: Include <grub/parser.h>.
31297 (cmdline_state): New variable.
31298 (iterate_dir): End the filename with a quote depending on the
31299 command line state.
31300 (get_state): new function.
31301 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31302 split the arguments and determine the current argument. When the
31303 argument string is not quoted, escape all spaces.
31304
31305 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31306
31307 * normal/sparc64/setjmp.S: New file.
31308
31309 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31310
31311 * include/grub/sparc64/libgcc.h: New file.
31312 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31313 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31314 normal/sparc64/setjmp.c.
31315
31316 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31317
31318 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31319 * kern/sparc64/cache.S: New file.
31320 * kern/sparc64/cache.c: Removed.
31321 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31322 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31323 -mtune=ultrasparc.
31324 (COMMON_LDFLAGS): Add -melf64_sparc.
31325 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31326 (grubof_SOURCES): Use cache.S instead of cache.c.
31327 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31328 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31329 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31330 commented though.
31331 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31332 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31333 (linux_mod_CFLAGS): Commented out.
31334 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31335 out because module isn't built.
31336 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31337 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31338 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31339 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31340 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31341 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31342 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31343 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31344 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31345 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31346 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31347 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31348 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31349 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31350
31351 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31352
31353 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31354 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31355 longer, because HFS should not be used on PC.
31356
31357 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31358
31359 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31360 consistently within the loop.
31361
31362 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31363
31364 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31365 directory can not be read.
31366
31367 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31368
31369 * configure.ac (AC_INIT): Increase the version number to 1.91.
31370
31371 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31372 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31373 term/i386/pc/serial.c.
31374
31375 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31376
31377 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31378 file size must be permitted.
31379
31380 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31381 between %ah and %al.
31382
31383 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31384
31385 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31386 grub_uint64_t.
31387 Call the hook with a NUL-terminated filename.
31388 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31389 grub_cpu_to_be32.
31390
31391 * kern/term.c (cursor_state): New variable.
31392 (grub_term_set_current): Reset the cursor state on a new
31393 terminal.
31394 (grub_setcursor): Rewritten to use CURSOR_STATE.
31395 (grub_getcursor): New function.
31396
31397 * include/grub/term.h (grub_getcursor): New prototype.
31398
31399 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31400 integers on ARM. Reported by Timothy Baldwin
31401 <T.E.Baldwin99@members.leeds.ac.uk>.
31402
31403 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31404
31405 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31406 allocated.
31407 (grub_sfs_dir): Likewise.
31408
31409 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31410
31411 Add support for the SFS filesystem.
31412
31413 * fs/sfs.c: New file.
31414
31415 * DISTLIST: Added `fs/sfs.c'.
31416
31417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31418 (grub_probefs_SOURCES): Likewise.
31419 (grub_emu_SOURCES): Likewise.
31420 (pkgdata_MODULES): Add `sfs.mod'.
31421 (sfs_mod_SOURCES): New variable.
31422 (sfs_mod_CFLAGS): Likewise.
31423 (sfs_mod_LDFLAGS): Likewise.
31424
31425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31426 (pkgdata_MODULES): Add `sfs.mod'.
31427 (sfs_mod_SOURCES): New variable.
31428 (sfs_mod_CFLAGS): Likewise.
31429
31430 * util/grub-emu.c (main): Call `grub_sfs_init' and
31431 `grub_sfs_fini'.
31432
31433 * include/grub/fs.h (grub_sfs_init): New prototype.
31434 (grub_sfs_fini): Likewise.
31435
31436 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31437
31438 Add support for the AFFS filesystem.
31439
31440 * fs/affs.c: New file.
31441
31442 * DISTLIST: Added `fs/affs.c'.
31443
31444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31445 (grub_probefs_SOURCES): Likewise.
31446 (grub_emu_SOURCES): Likewise.
31447 (pkgdata_MODULES): Add `affs.mod'.
31448 (affs_mod_SOURCES): New variable.
31449 (affs_mod_CFLAGS): Likewise.
31450 (affs_mod_LDFLAGS): Likewise.
31451
31452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31453 (pkgdata_MODULES): Add `affs.mod'.
31454 (affs_mod_SOURCES): New variable.
31455 (affs_mod_CFLAGS): Likewise.
31456
31457 * util/grub-emu.c (main): Call `grub_affs_init' and
31458 `grub_affs_fini'.
31459
31460 * include/grub/fs.h (grub_affs_init): New prototype.
31461 (grub_affs_fini): Likewise.
31462
31463 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31464
31465 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31466
31467 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31468
31469 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31470 `-m32' to CFLAGS.
31471
31472 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31473 linking.
31474
31475 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31476 (COMMON_LDFLAGS): New variable.
31477 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31478 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31479 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31480 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31481 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31482 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31483 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31484 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31485 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31486 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31487 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31488 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31489 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31490 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31491 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31492 variables.
31493 (normal_mod_ASFLAGS): Add `-m32'.
31494
31495 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31496 (grub_host_size_t, grub_host_ssize_t): New types.
31497 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31498 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31499 `GRUB_HOST_SIZEOF_VOID_P'.
31500
31501 * include/grub/kernel.h (struct grub_module_header): Type of
31502 member offset changed to `grub_host_off_t'. Type of member size
31503 changed to `grub_host_size_t'.
31504 (struct grub_module_info): Type of member offset changed to
31505 `grub_host_off_t'. Type of member size changed to
31506 `grub_host_size_t'.
31507
31508 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31509
31510 Make GRUB's kernel compliant to Multiboot Specification.
31511
31512 * kern/i386/pc/startup.S (multiboot_header): New label.
31513 (multiboot_entry): Likewise.
31514 (multiboot_trampoline): Likewise.
31515
31516 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31517 Increased to 0x4A0.
31518
31519 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31520 put parentheses after a question mark.
31521 [!GRUB_UTIL] (my_mod): New variable.
31522
31523 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31524
31525 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31526
31527 Adds support for the XFS filesystem. Btrees are not supported
31528 yet.
31529
31530 * fs/xfs.c: New file.
31531
31532 * DISTLIST: Added `fs/xfs.c'.
31533
31534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31535 (grub_probefs_SOURCES): Likewise.
31536 (grub_emu_SOURCES): Likewise.
31537 (pkgdata_MODULES): Add `xfs.mod'.
31538 (xfs_mod_SOURCES): New variable.
31539 (xfs_mod_CFLAGS): Likewise.
31540
31541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31542 (pkgdata_MODULES): Add `xfs.mod'.
31543 (xfs_mod_SOURCES): New variable.
31544 (xfs_mod_CFLAGS): Likewise.
31545
31546 * util/grub-emu.c (main): Call `grub_xfs_init' and
31547 `grub_xfs_fini'.
31548
31549 * include/grub/fs.h (grub_xfs_init): New prototype.
31550 (grub_xfs_fini): Likewise.
31551
31552
31553 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31554
31555 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31556 color modes, allow greater than 16 colors to be configured as
31557 a default palette.
31558
31559 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31560
31561 * normal/completion.c (complete_arguments): Add the qualifier
31562 const into OPTIONS.
31563
31564 From Omniflux <omniflux+lists@omniflux.com>:
31565 * include/grub/terminfo.h: New file.
31566 * include/grub/tparm.h: Likewise.
31567 * include/grub/i386/pc/serial.h: Likewise.
31568 * term/terminfo.c: Likewise.
31569 * term/tparm.c: Likewise.
31570 * term/i386/pc/serial.c: Likewise.
31571 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31572 serial.mod.
31573 (terminfo_mod_SOURCES): New variable.
31574 (terminfo_mod_CFLAGS): Likewise.
31575 (serial_mod_SOURCES): Likewise.
31576 (serial_mod_CFLAGS): Likewise.
31577
31578 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31579
31580 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31581 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31582 and kern/powerpc/ieee1275/cmain.c, respectively.
31583
31584 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31585 * kern/powerpc/ieee1275/crt0.S: ... here.
31586
31587 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31588 * kern/powerpc/ieee1275/cmain.c: ... here.
31589
31590 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31591 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31592 instead of boot/powerpc/ieee1275/crt0.S and
31593 boot/powerpc/ieee1275/cmain.c, respectively.
31594
31595 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31596 sectors. It was not used anyway.
31597
31598 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31599
31600 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31601 `unused parameter' warning.
31602
31603 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31604
31605 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31606 function.
31607 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31608 getcharwidth.
31609
31610 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31611
31612 * include/grub/normal.h (enum grub_completion_type): Added
31613 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31614
31615 * normal/cmdline.c (print_completion): Handle
31616 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31617 * normal/menu_entry.c (store_completion): Likewise.
31618
31619 * normal/completion.c (complete_arguments): New function.
31620 (grub_normal_do_completion): Call `complete_arguments' when the
31621 current words start with a dash.
31622
31623 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31624
31625 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31626 `gzio.mod' instead of `io.mod').
31627
31628 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31629
31630 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31631 (DISTDIRS): Added io and video.
31632 Rewrite the search routine to make an output consistently.
31633
31634 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31635 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31636 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31637 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31638 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31639 util/powerpc/ieee1275/misc.c.
31640
31641 * include/grub/gzio.h: New file.
31642 * io/gzio.c: Likewise.
31643
31644 * kern/file.c (grub_file_close): Call grub_device_close only if
31645 FILE->DEVICE is not NULL.
31646
31647 * include/grub/mm.h [!NULL] (NULL): New macro.
31648
31649 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31650
31651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31652 (pkgdata_MODULES): Added gzio.mod.
31653 (gzio_mod_SOURCES): New variable.
31654 (gzio_mod_CFLAGS): Likewise.
31655
31656 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31657 (pkgdata_MODULES): Added gzio.mod.
31658 (gzio_mod_SOURCES): New variable.
31659 (gzio_mod_CFLAGS): Likewise.
31660
31661 * commands/cat.c: Include grub/gzio.h.
31662 (grub_cmd_cat): Use grub_gzfile_open instead of
31663 grub_file_open.
31664
31665 * commands/cmp.c: Include grub/gzio.h.
31666 (grub_cmd_cmp): Use grub_gzfile_open instead of
31667 grub_file_open.
31668
31669 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31670 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31671 grub_file_open.
31672 (grub_rescue_cmd_module): Likewise.
31673
31674 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31675
31676 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31677 kern/sparc64/ieee1275/init.c because it contains _start.
31678 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31679
31680 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31681
31682 * configure.ac: Add support for sparc64 host with ieee1275
31683 firmware.
31684 * configure: Generated from configure.ac.
31685 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31686 instead of int.
31687 (grub_ofdisk_read): Likewise.
31688 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31689 pointers as (void *) to remove a warning.
31690 (grub_ofdisk_close): Likewise.
31691 (grub_ofdisk_read): Likewise.
31692 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31693 returns, so make it return void to remove a warning.
31694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31695 Corresponding prototype change.
31696 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31697 values, and cast the pointers as (void *) to remove a warning.
31698 (grub_mm_dump): Likewise.
31699 * conf/sparc64-ieee1275.mk: New file.
31700 * conf/sparc64-ieee1275.rmk: Likewise.
31701 * include/grub/sparc64/setjmp.h: Likewise.
31702 * include/grub/sparc64/types.h: Likewise.
31703 * include/grub/sparc64/ieee1275/console.h: Likewise.
31704 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31705 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31706 * include/grub/sparc64/ieee1275/time.h: Likewise.
31707 * kern/sparc64/cache.c: Likewise.
31708 * kern/sparc64/dl.c: Likewise.
31709 * kern/sparc64/ieee1275/init.c: Likewise.
31710 * kern/sparc64/ieee1275/openfw.c: Likewise.
31711
31712 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31713
31714 * util/console.c (grub_ncurses_putchar): If C is greater than
31715 0x7f, set C to a question mark.
31716 (grub_ncurses_getcharwidth): New function.
31717 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31718 getcharwidth.
31719
31720 * normal/menu.c (print_entry): Made aware of Unicode. First,
31721 convert TITLE to UCS-4, and predict the cursor position by
31722 grub_getcharwidth.
31723
31724 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31725 const to SRC.
31726 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31727
31728 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31729
31730 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31731 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31732 grub_strcat.
31733
31734 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31735 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31736 grub_strcpy and grub_strlen. Take it into account that a space
31737 character is inserted as a delimiter.
31738
31739 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31740
31741 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31742 invalid magic in the error.
31743
31744 * commands/search.c: New file.
31745
31746 * util/grub-emu.c (main): Call grub_search_init and
31747 grub_search_fini.
31748
31749 * kern/rescue.c (grub_rescue_print_disks): Removed.
31750 (grub_rescue_print_devices): New function.
31751 (grub_rescue_cmd_ls): Use grub_device_iterate with
31752 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31753 grub_rescue_print_disks.
31754
31755 * kern/partition.c (grub_partition_iterate): Return the result of
31756 PARTMAP->ITERATE instead of GRUB_ERRNO.
31757
31758 * kern/device.c: Include grub/partition.h.
31759 (grub_device_iterate): New function.
31760
31761 * include/grub/partition.h (grub_partition_iterate): Return int
31762 instead of grub_err_t.
31763
31764 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31765 prototype.
31766 [GRUB_UTIL] (grub_search_fini): Likewise.
31767
31768 * include/grub/device.h (grub_device_iterate): New prototype.
31769
31770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31771 commands/search.c.
31772 (pkgdata_MODULES): Added search.mod.
31773 (search_mod_SOURCES): New variable.
31774 (search_mod_CFLAGS): Likewise.
31775
31776 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31777 (pkgdata_MODULES): Added search.mod.
31778 (search_mod_SOURCES): New variable.
31779 (search_mod_CFLAGS): Likewise.
31780
31781 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31782 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31783 All callers changed.
31784
31785 * DISTLIST: Added commands/search.c.
31786
31787 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31788
31789 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31790 conversion.
31791 (grub_getcharwidth): New function.
31792
31793 * kern/misc.c (grub_utf8_to_ucs4): New function.
31794
31795 * include/grub/term.h (struct grub_term): Added a new member
31796 "getcharwidth".
31797 (grub_getcharwidth): New prototype.
31798
31799 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31800
31801 * term/i386/pc/console.c (map_char): New function. Segregated from
31802 grub_console_putchar.
31803 (grub_console_putchar): Use map_char.
31804 (grub_console_getcharwidth): New function.
31805 (grub_console_term): Specified grub_console_getcharwidth as
31806 getcharwidth.
31807
31808 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31809 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31810
31811 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31812 GRUB_ERRNO.
31813 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31814 on grub_strtoul completely.
31815 (write_char): Declare local variables in the beginning of the
31816 function.
31817 (grub_vesafb_getcharwidth): New function.
31818 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31819 getcharwidth.
31820
31821 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31822
31823 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31824 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31825 commands/i386/pc/vbetest.c.
31826
31827 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31828 call grub_vbe_get_controller_info again, because the returned
31829 information is volatile.
31830 (grub_vbe_set_video_mode): Mostly rewritten.
31831 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31832 grub_vbe_status_t correctly.
31833 (grub_vbe_get_video_mode_info): Likewise.
31834 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31835 several if statements.
31836
31837 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31838 * commands/i386/pc/vbeinfo.c: ... this.
31839
31840 * commands/i386/pc/vbe_test.c: Renamed to ...
31841 * commands/i386/pc/vbetest.c: ... this.
31842
31843 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31844 ...
31845 (grub_cmd_vbeinfo): ... this. Save video modes before
31846 iterating. Skip a video mode, if it is not available, not enough
31847 information is given or it is monochrome. Show the memory
31848 model. Leave the interpretation of MODEVAR to grub_strtoul
31849 completely.
31850 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31851 (GRUB_MOD_FINI): Likewise.
31852
31853 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31854 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31855 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31856 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31857 grub_strtoul completely.
31858 (real2pm): Removed.
31859 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31860 (GRUB_MOD_FINI): Likewise.
31861
31862 * normal/misc.c: Include grub/mm.h.
31863
31864 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31865 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31866 (vbe_list_modes_mod_SOURCES): Removed.
31867 (vbe_list_modes_mod_CFLAGS): Likewise.
31868 (vbe_test_mod_SOURCES): Likewise.
31869 (vbe_test_mod_CFLAGS): Likewise.
31870 (vbeinfo_mod_SOURCES): New variable.
31871 (vbeinfo_mod_CFLAGS): Likewise.
31872 (vbetest_mod_SOURCES): Likewise.
31873 (vbetest_mod_CFLAGS): Likewise.
31874
31875 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31876
31877 * normal/misc.c: New file.
31878
31879 * DISTLIST: Added normal/misc.c.
31880
31881 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31882 DISK to HOOK. Call HOOK with DISK.
31883 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31884 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31885 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31886
31887 * normal/menu_entry.c (struct screen): Added a new member
31888 "completion_shown".
31889 (completion_buffer): New global variable.
31890 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31891 (store_completion): New function.
31892 (complete): Likewise.
31893 (clear_completions): Likewise.
31894 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31895 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31896 a tab, call complete.
31897
31898 * normal/completion.c (disk_dev): Removed.
31899 (print_simple_completion): Likewise.
31900 (print_partition_completion): Likewise.
31901 (print_func): New global variable.
31902 (add_completion): Do not take the arguments WHAT or PRINT any
31903 longer. Added a new argument TYPE. Instead of printing directly,
31904 call PRINT_FUNC if not NULL.
31905 All callers changed.
31906 (complete_device): Use a local variable DEV instead of
31907 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31908 (grub_normal_do_completion): Take a new argument HOOK. Do not
31909 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31910 empty string, return NULL instead.
31911 All callers changed.
31912
31913 * normal/cmdline.c (print_completion): New function.
31914
31915 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31916 to HOOK.
31917 All callers changed.
31918
31919 * kern/disk.c (grub_print_partinfo): Removed.
31920
31921 * include/grub/partition.h (struct grub_partition_map): Add a new
31922 argument DISK into HOOK of ITERATE.
31923 (grub_partition_iterate): Add a new argument DISK to HOOK.
31924
31925 * include/grub/normal.h (enum grub_completion_type): New enum.
31926 (grub_completion_type_t): New type.
31927 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31928 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31929 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31930 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31931 (grub_normal_do_completion): Added a new argument HOOK.
31932 (grub_normal_print_device_info): New prototype.
31933
31934 * include/grub/disk.h (grub_print_partinfo): Removed.
31935
31936 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31937 (normal_mod_SOURCES): Likewise.
31938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31939 (normal_mod_SOURCES): Likewise.
31940
31941 * commands/ls.c (grub_ls_list_disks): Use
31942 grub_normal_print_device_info instead of grub_print_partinfo. Free
31943 PNAME.
31944 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31945 duplicating the code.
31946
31947 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31948
31949 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
31950 follow GCS more precisely.
31951 * commands/i386/pc/vbe_test.c: Likewise.
31952 * include/grub/i386/pc/vbe.h: Likewise.
31953 * term/i386/pc/vesafb.c: Likewise.
31954 * video/i386/pc/vbe.c: Likewise.
31955
31956 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31957
31958 * DISTLIST: Added term/i386/pc/vesafb.c
31959 DISTLIST: Added video/i386/pc/vbe.c
31960 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31961 DISTLIST: Added commands/i386/pc/vbe_test.c.
31962 * commands/i386/pc/vbe_list_modes.c: New file.
31963 * commands/i386/pc/vbe_test.c: Likewise.
31964 * term/i386/pc/vesafb.c: Likewise.
31965 * video/i386/pc/vbe.c: Likewise.
31966 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31967 (grub_vbe_probe) Added prototype.
31968 (grub_vbe_set_video_mode) Likewise.
31969 (grub_vbe_get_video_mode) Likewise.
31970 (grub_vbe_get_video_mode_info) Likewise.
31971 (grub_vbe_set_pixel_rgb) Likewise.
31972 (grub_vbe_set_pixel_index) Likewise.
31973 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31974 (pkgdata_MODULES): Added vesafb.mod.
31975 (pkgdata_MODULES): Added vbe_list_modes.mod.
31976 (pkgdata_MODULES): Added vbe_test.mod.
31977 (vbe_mod_SOURCES): Added.
31978 (vbe_mod_CFLAGS): Likewise.
31979 (vesafb_mod_SOURCES): Likewise.
31980 (vesafb_mod_CFLAGS): Likewise.
31981 (vbe_list_modes_mod_SOURCES): Likewise.
31982 (vbe_list_modes_mod_CFLAGS): Likewise.
31983 (vbe_test_mod_SOURCES): Likewise.
31984 (vbe_test_mod_CFLAGS): Likewise.
31985
31986 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31987
31988 * normal/command.c (grub_command_execute): If INTERACTIVE is
31989 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31990 CMDLINE. Disable the pager if INTERACTIVE is true.
31991 All callers are changed.
31992
31993 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31994 before reading a config file.
31995 * normal/main.c (read_config_file): Even if a command is not
31996 found, register it if it is within an entry.
31997
31998 * util/grub-emu.c: Include sys/types.h and unistd.h.
31999 (options): Added --hold.
32000 (struct arguments): Added a new member "hold".
32001 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32002 missing.
32003 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32004 cleared by a debugger, if it is not zero.
32005
32006 * include/grub/normal.h (grub_command_execute): Add an argument
32007 INTERACTIVE.
32008
32009 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32010
32011 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32012
32013 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32014
32015 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32016 program with another one, because the old one didn't detect a bug
32017 in gcc-3.4. Always use regparm 2, because the new test is still
32018 not enough for gcc-4.0. Someone must investigate a simple test
32019 case which detects a bug in gcc-4.0.
32020
32021 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32022
32023 * DISTLIST: Added normal/completion.c.
32024
32025 * normal/completion.c: New file.
32026
32027 * term/i386/pc/console.c (grub_console_getwh): New function.
32028 (grub_console_term): Assign grub_console_getwh to getwh.
32029
32030 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32031 function is defined in normal/completion.c as
32032 grub_normal_do_completion.
32033 (grub_cmdline_get): Use grub_normal_do_completion instead of
32034 grub_tab_complete.
32035
32036 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32037 returns non-zero, otherwise return 0.
32038 (grub_partition_iterate): First, probe the partition map. Then,
32039 call ITERATE only for this partition map.
32040
32041 * kern/misc.c (grub_strncmp): Rewritten.
32042
32043 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32044 returns non-zero. Otherwise return 0.
32045
32046 * include/grub/partition.h (grub_partition_map_iterate): Return
32047 int instead of void.
32048
32049 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32050
32051 * include/grub/misc.h (grub_strncmp): Change the type of N to
32052 grub_size_t.
32053
32054 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32055 of void.
32056
32057 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
32058 unsigned explicitly before comparing it with I.
32059
32060 * kern/main.c (grub_env_write_root): Add the attribute unused into
32061 VAR.
32062
32063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32064 normal/completion.c.
32065 (normal_mod_SOURCES): Likewise.
32066 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32067 (normal_mod_SOURCES): Likewise.
32068
32069 * normal/command.c (grub_iterate_commands): If ITERATE returns
32070 non-zero, return one immediately.
32071
32072 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32073
32074 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32075 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32076 descriptions.
32077 (grub_vbe_get_controller_info): New function.
32078 (grub_vbe_get_mode_info): Likewise.
32079 (grub_vbe_set_mode): Likewise.
32080 (grub_vbe_get_mode): Likewise.
32081 (grub_vbe_set_memory_window): Likewise.
32082 (grub_vbe_get_memory_window): Likewise.
32083 (grub_vbe_set_scanline_length): Likewise.
32084 (grub_vbe_get_scanline_length): Likewise.
32085 (grub_vbe_set_display_start): Likewise.
32086 (grub_vbe_get_display_start): Likewise.
32087 (grub_vbe_set_palette_data): Likewise.
32088 * include/grub/i386/pc/vbe.h: New file.
32089
32090 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32091
32092 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32093 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32094 * DISTLIST: Likewise.
32095 * kern/ieee1275/of.c: Moved to ...
32096 * kern/ieee1275/ieee1275.c: ... here.
32097
32098 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32099
32100 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32101 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32102 Pass 0 as `end' parameter to grub_strtoul().
32103
32104 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32105
32106 * include/grub/powerpc/ieee1275/console.h: Do not include
32107 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32108 ifdef.
32109 (grub_console_cur_color): Remove i386-specific prototype.
32110 (grub_console_real_putchar): Likewise.
32111 (grub_console_checkkey): Likewise.
32112 (grub_console_getkey): Likewise.
32113 (grub_console_getxy): Likewise.
32114 (grub_console_gotoxy): Likewise.
32115 (grub_console_cls): Likewise.
32116 (grub_console_setcursor): Likewise.
32117 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32118 Include <grub/machine/console.h>.
32119 * term/ieee1275/ofconsole.c: Likewise.
32120
32121 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32122
32123 * Makefile.in (LIBLZO): New variable.
32124
32125 * configure.ac: Check for LZO version 2.
32126
32127 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32128 lzo/lzo1x.h instead of lzo1x.h.
32129
32130 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32131 of -llzo.
32132
32133 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32134 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32135
32136 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32137 copying the data from PARTITION to P.
32138
32139 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32140
32141 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32142 negative, unload the module.
32143
32144 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32145 map is "pc_partition_map" but not "pc".
32146 (usage): Fix the description. The options are --boot-image and
32147 --core-image but not --boot-file or --core-file.
32148 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32149 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32150 DEFAULT_DIRECTORY.
32151
32152 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32153 --core-file. Specify INSTALL_DEVICE as an argument.
32154
32155 * util/console.c: Include config.h.
32156 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32157 [HAVE_NCURSES_H]: Include ncurses.h.
32158 [HAVE_CURSES_H]: Include curses.h.
32159 [!A_NORMAL] (A_NORMAL): Defined as zero.
32160 [!A_STANDOUT] (A_STANDOUT): Likewise.
32161
32162 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32163 -lncurses.
32164 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32165
32166 * configure.ac: Check for curses libraries and headers.
32167
32168 * Makefile.in (LIBCURSES): New variable.
32169
32170 * genmk.rb (Script::rule): Set the executable bits.
32171
32172 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32173 name of the PC partition map is "pc_partition_map" but not "pc".
32174
32175 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32176
32177 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32178 (modules): Likewise.
32179 (usage): Added descriptions for --modules and --grub-probefs.
32180 Handle --modules and --grub-probefs. Save the arguments in MODULES
32181 and GRUB_PROBEFS, respectively.
32182 Auto-detect a filesystem module against GRUBDIR. If the result is
32183 empty and modules are not specified explicitly, abort the
32184 installation. Add the result to MODULES.
32185
32186 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32187 disk/powerpc/ieee1275/ofdisk.c,
32188 include/grub/powerpc/ieee1275/init.h and
32189 term/powerpc/ieee1275/ofconsole.c.
32190 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32191 term/ieee1275/ofconsole.c.
32192
32193 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32194
32195 * COPYING: Upgraded to the latest version. Only the address of the
32196 FSF office has changed.
32197
32198 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32199
32200 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32201 kern/ieee1275.c with kern/ieee1275/of.c.
32202
32203 * kern/ieee1275.c: Moved to ...
32204 * kern/ieee1275/of.c: ... here.
32205
32206 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32207
32208 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
32209 readability.
32210
32211 * config.guess: Updated to the latest version from gnulib.
32212 * config.sub: Likewise.
32213 * install.sh: Likewise.
32214 * mkinstalldirs: Likewise.
32215
32216 * include/grub/console.h: Removed. This file is arch-specific. Do
32217 not put this in include/grub.
32218
32219 * include/grub/i386/pc/console.h: Resurrected.
32220
32221 * util/console.c: Include grub/machine/console.h instead of
32222 grub/console.h.
32223 * util/grub-emu.c: Likewise.
32224
32225 2005-08-04 Marco Gerards <metgerards@student.han.nl>
32226
32227 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32228 hardcoded value.
32229
32230 From Vincent Pelletier <subdino2004@yahoo.fr>
32231 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32232 Redefined to use grub_getwh.
32233 (grub_term): New member named getwh.
32234 (grub_getwh): New prototype.
32235 * kern/term.c (grub_getwh): New function.
32236 * term/i386/pc/console.c (grub_console_getwh): New function.
32237 (grub_console_term): New member `getwh'.
32238 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32239 (grub_vga_term): New member `getwh'.
32240 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
32241 grub_ssize_t.
32242 (grub_ofconsole_getw): New function.
32243 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32244 (grub_ofconsole_term): New field named getwh and new initial
32245 value.
32246
32247 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32248
32249 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32250 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32251 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32252 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32253 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32254 of <grub/machine/ieee1275.h>.
32255 * commands/ieee1275/reboot.c: Likewise.
32256 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32257 * kern/ieee1275.c: ... to here. All users updated. Change all
32258 parameter structs to use new type `grub_ieee1275_cell_t'.
32259 * term/powerpc/ieee1275/ofconsole.c: Move ...
32260 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32261 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32262 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32263 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32264 to return int.
32265 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32266 Remove unused prototypes. All users updated.
32267 * include/grub/powerpc/ieee1275/console.h: Removed.
32268 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32269 `grub_ieee1275_cell_t'.
32270 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32271 Cast comparisons with -1 to the correct type.
32272 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32273 type to match `grub_ieee1275_entry_fn'.
32274
32275 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32276
32277 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32278
32279 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32280 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32281 partmap/sun.c.
32282 (grub_probefs_SOURCES): New variable.
32283
32284 * util/i386/pc/grub-probefs.c: New file.
32285
32286 * util/i386/pc/grub-setup.c (main): Call
32287 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32288 grub_hfs_init and grub_jfs_init to initialize the system. Call
32289 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32290 grub_pc_partition_map_fini to finish the system.
32291
32292 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32293
32294 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32295 function.
32296 (grub_multiboot_load_elf32): Likewise.
32297 (grub_multiboot_is_elf64): Likewise.
32298 (grub_multiboot_load_elf64): Likewise.
32299 (grub_multiboot_load_elf): Likewise.
32300 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32301 an ELF32 or ELF64 file.
32302 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32303
32304 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32305 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32306 NULL before calling FS->LABEL.
32307 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32308 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32309 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32310 before calling FS->LABEL.
32311
32312 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32313
32314 * util/i386/pc/grub-install.in (datadir): New variable.
32315 (libdir): Removed.
32316 (pkgdatadir): New variable.
32317 (pkglibdir): Removed.
32318
32319 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32320
32321 * DISTLIST: Added util/i386/pc/grub-install.in.
32322
32323 * util/i386/pc/grub-install.in: New file.
32324
32325 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32326 (grub_install_SOURCES): Likewise.
32327
32328 * genmk.rb: Added support for scripts.
32329 (Script): New class.
32330 (scripts): New variable.
32331
32332 * Makefile.in (install-local): Install sbin_SCRIPTS by
32333 INSTALL_SCRIPT.
32334 (uninstall): Remove sbin_SCRIPTS.
32335
32336 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32337 device, try to get a GRUB device by
32338 grub_util_biosdisk_get_grub_dev.
32339 Free DEST_DEV.
32340
32341 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32342 description for --device-map.
32343
32344 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32345
32346 Change the semantics of variable hooks. They now return strings
32347 instead of error values.
32348
32349 * util/i386/pc/grub-setup.c: Include grub/env.h.
32350 (setup): Use grub_device_set_root instead of grub_env_set.
32351
32352 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32353 grub_env_get instead of grub_device_set_root and
32354 grub_device_get_root, respectively.
32355
32356 * kern/main.c (grub_env_write_root): New function.
32357 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32358 grub_env_set instead of grub_device_set_root.
32359
32360 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32361 many variables.
32362 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32363 rather than calling ENV->WRITE_HOOK afterwards.
32364 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32365 passing a pointer of a pointer.
32366 (grub_register_variable_hook): Change the types of "read_hook" and
32367 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32368 respectively.
32369 Allocate the default empty string on the heap, because this string
32370 may be freed later.
32371
32372 * kern/device.c: Include grub/env.h.
32373 (grub_device_set_root): Removed.
32374 (grub_device_get_root): Likewise.
32375 (grub_device_open): Use grub_env_get instead of
32376 grub_device_get_root.
32377
32378 * include/grub/env.h (grub_env_read_hook_t): New type.
32379 (grub_env_write_hook_t): Likewise.
32380 (grub_env_var): Change the types of "read_hook" and "write_hook"
32381 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32382 (grub_register_variable_hook): Likewise.
32383
32384 * include/grub/device.h (grub_device_set_root): Removed.
32385 (grub_device_set_root): Likewise.
32386
32387 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32388 make sure that DIRNAME terminates with '/', so that
32389 grub_fat_find_dir will fail if PATH is not a directory.
32390
32391 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32392 from DIRNAME.
32393 Use the qualifier auto for print_files and print_files_long.
32394 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32395 as a regular file.
32396 Put a newline only if there is no error.
32397 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32398 used.
32399
32400 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32401
32402 * kern/partition.c (grub_partition_probe): Initialize PART to
32403 NULL. Otherwise, when no partition map is registered, this returns
32404 a garbage.
32405
32406 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32407
32408 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32409 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32410 valid.
32411
32412 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32413
32414 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32415 information on each device, if it does not have partitions. Print
32416 "Device" instead of "Disk", because this function is not specific
32417 to disk devices.
32418
32419 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32420 static to ensure that it is put on the memory rather than a
32421 register.
32422
32423 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32424
32425 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32426 (grub_cat_init): Likewise.
32427 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32428 (options): Likewise.
32429 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32430 (grub_configfile_init): Likewise.
32431 * font/manager.c (GRUB_MOD_INIT): Likewise.
32432 * commands/help.c (GRUB_MOD_INIT): Likewise.
32433 (grub_help_init): Likewise.
32434 * normal/command.c (grub_command_init): Likewise.
32435 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32436 * disk/loopback.c (grub_loop_init): Likewise.
32437 (GRUB_MOD_INIT): Likewise.
32438 * commands/ls.c (grub_ls_init): Likewise.
32439 (GRUB_MOD_INIT): Likewise.
32440 (options): Likewise.
32441 * commands/boot.c (grub_boot_init): Likewise.
32442 (GRUB_MOD_INIT): Likewise.
32443 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32444 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32445 (GRUB_MOD_INIT): Likewise.
32446 * commands/cmp.c (grub_cmp_init): Likewise.
32447 (GRUB_MOD_INIT): Likewise.
32448
32449 * normal/arg.c: Use <> instead of "" to include header files.
32450 (SHORT_ARG_HELP): New macro.
32451 (SHORT_ARG_USAGE): Likewise.
32452 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32453 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32454 descriptions.
32455 (find_short): Check if C is 'h' or 'u' explicitly.
32456 (grub_arg_show_help): Use space characters instead of tabs. Treat
32457 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32458 are shown with --help and --usage only if they are not used for
32459 the command itself.
32460 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32461 'h' and 'u'.
32462
32463 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32464 const into "longarg". Change the type of "shortarg" to int.
32465
32466 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32467
32468 * boot/i386/pc/boot.S (boot_drive_check): New label.
32469
32470 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32471 macro.
32472
32473 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32474 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32475
32476 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32477
32478 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32479 When turning off Gate A20, skip the check and return immediately,
32480 because this is not fatal usually.
32481
32482 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32483
32484 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32485 be 0x7C00 instead of 0x8000.
32486
32487 * boot/i386/pc/pxeboot.S: Rewritten.
32488
32489 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32490 EXT_C.
32491 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32492 result.
32493
32494 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32495
32496 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32497 robustness. This routine now supports a BIOS call and System
32498 Control Port A to modify the gate A20.
32499
32500 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32501 Increased to 0x440.
32502
32503 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32504
32505 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32506 device path and resulting ihandle.
32507 (grub_ofdisk_close): dprintf the ihandle being closed.
32508 (grub_ofdisk_read): dprintf function parameters.
32509 * kern/mm.c (grub_mm_init_region): Likewise.
32510 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32511 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32512 size, and boot arguments.
32513 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32514 before loading into memory.
32515 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32516 before loading into memory.
32517
32518 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32519
32520 * kern/mm.c: Added much documentation.
32521 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32522 8, set to 5 instead of 8.
32523
32524 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32525
32526 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32527
32528 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32529 (grub_mkdevicemap_SOURCES): New variable.
32530
32531 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32532 lib/device.c of GRUB Legacy.
32533
32534 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32535
32536 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32537 instead of PATH is NULL.
32538
32539 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32540
32541 * commands/cmp.c (BUFFER_SIZE): New macro.
32542 (grub_cmd_cmp): Close the right file at the right time. Compare
32543 only data just read. Don't report files of different size as
32544 identical. Dynamically allocate buffers. Move variable
32545 declarations at the beginning of function.
32546
32547 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32548
32549 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32550 reverse.
32551
32552 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32553
32554 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32555 when backspace is pressed at beginning of line.
32556
32557 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32558
32559 * DISTLIST: Added genfslist.sh.
32560
32561 * normal/main.c (fs_module_list): New variable.
32562 (autoload_fs_module): New function.
32563 (read_fs_list): Likewise.
32564 (grub_normal_execute): Call read_fs_list.
32565
32566 * kern/fs.c (grub_fs_autoload_hook): New variable.
32567 (grub_fs_probe): Added support for auto-loading.
32568
32569 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32570 (grub_fs_module_list_t): New type.
32571
32572 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32573 (grub_fs_autoload_hook): New prototype.
32574
32575 * genfslist.sh: New file.
32576
32577 * genmk.rb: Added a rule to generate a filesystem list.
32578
32579 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32580
32581 * configure.ac: Fix the test for cross-compiling.
32582
32583 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32584 define GRUB_UTIL anymore.
32585
32586 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32587 so this function works on other systems than just big endian.
32588 (load_modules): Likewise.
32589 (add_segments): Likewise.
32590
32591 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32592
32593 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32594 contains `l' modifier, get a long from va_arg().
32595
32596 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32597
32598 * kern/mm.c (grub_free): If the next free block which is being
32599 merged is the first free block, set the first block to the block
32600 being freed.
32601 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32602
32603 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32604
32605 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32606 `grub_ieee1275_chosen'.
32607
32608 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32609
32610 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32611 (grub_ieee1275_chosen): New variable.
32612 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32613 `chosen'.
32614 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32615 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32616 Rename first argument to `phandle' for consistency.
32617 (grub_ieee1275_get_property_length): Likewise.
32618 (grub_ieee1275_next_property): Likewise. Change type of first argument
32619 to grub_ieee1275_phandle_t.
32620 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32621 Move export next to declaration.
32622 (grub_ieee1275_chosen): New variable.
32623 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32624 Correct cosmetic typo.
32625 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32626 `grub_ieee1275_chosen'.
32627 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32628 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32629 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32630 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32631 `grub_ieee1275_chosen'.
32632
32633 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32634
32635 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32636 /chosen/bootargs.
32637 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32638 /chosen/bootargs as "variable=value" pairs.
32639
32640 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32641
32642 * include/grub/misc.h (grub_dprintf): New macro.
32643 (grub_real_dprintf): New prototype.
32644 (grub_strword): Likewise.
32645 (grub_iswordseparator): Likewise.
32646 * kern/misc.c (grub_real_dprintf): New function.
32647 (grub_strword): Likewise.
32648 (grub_iswordseparator): Likewise.
32649
32650 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32651
32652 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32653 (roundup): Remove macro.
32654 (grub_ieee1275_flags): Make static.
32655 (grub_ieee1275_realmode): Remove.
32656 (grub_ieee1275_test_flag): New function.
32657 (grub_ieee1275_set_flag): Likewise.
32658 (find_options): Rename to `grub_ieee1275_find_options'; update
32659 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32660 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32661 (cmain): New prototype.
32662 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32663 `grub_ieee1275_flags' directly.
32664 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32665 machine/biosdisk.h.
32666 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32667 Don't include grub/machine/init.h.
32668 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32669 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32670 Remove prototype.
32671 (grub_ieee1275_realmode): Likewise.
32672 (grub_ieee1275_flag): New enum.
32673 (grub_ieee1275_test_flag): New prototype.
32674 (grub_ieee1275_set_flag): New prototype.
32675 * include/grub/powerpc/ieee1275/init.h: Remove file.
32676 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32677 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32678 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32679 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32680 comment.
32681 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32682 `grub_ieee1275_test_flag'.
32683 (grub_ieee1275_encode_devname): Likewise.
32684
32685 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32686
32687 * include/grub/powerpc/ieee1275/ieee1275.h
32688 (grub_ieee1275_encode_devname): New prototype.
32689 (grub_ieee1275_get_filename): Likewise.
32690 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32691 function.
32692 (grub_set_prefix): Likewise.
32693 (grub_machine_init): Call grub_set_prefix.
32694 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32695 (grub_parse_type): New enum.
32696 (grub_ieee1275_get_devargs): New function.
32697 (grub_ieee1275_get_devname): Likewise.
32698 (grub_ieee1275_parse_args): Likewise.
32699 (grub_ieee1275_get_filename): Likewise.
32700 (grub_ieee1275_encode_devname): Likewise.
32701
32702 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32703
32704 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32705 `grub_loader_unset'.
32706
32707 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32708
32709 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32710 instead of grub_ieee1275_interpret.
32711 (grub_halt_init): New function.
32712 (grub_halt_fini): Likewise.
32713 (GRUB_MOD_INIT): Correct message grammar.
32714 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32715 instead of grub_ieee1275_interpret.
32716 (grub_reboot_init): New function.
32717 (grub_reboot_fini): Likewise.
32718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32719 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32720 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32721 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32722 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32723 function.
32724 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32725 Add prototype.
32726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32727 prototype.
32728 (grub_halt): Likewise.
32729 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32730 (cmain): Remove __attribute__((unused)).
32731 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32732 (grub_heap_len): Likewise.
32733 (grub_machine_fini): New function.
32734 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32735 (grub_halt): Likewise.
32736 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32737 function.
32738 * util/powerpc/ieee1275/misc.c: New file.
32739
32740 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32741
32742 * DISTLIST: New file.
32743 * gendistlist.sh: Likewise.
32744
32745 * Makefile.in (COMMON_DISTFILES): Removed.
32746 (BOOT_DISTFILES): Likewise.
32747 (CONF_DISTFILES): Likewise.
32748 (DISK_DISTFILES): Likewise.
32749 (FS_DISTFILES): Likewise.
32750 (INCLUDE_DISTFILES): Likewise.
32751 (KERN_DISTFILES): Likewise.
32752 (LOADER_DISTFILES): Likewise.
32753 (TERM_DISTFILES): Likewise.
32754 (UTIL_DISTFILES): Likewise.
32755 (DISTFILES): Likewise.
32756 (uninstall): Uninstall files in $(pkgdata_DATA).
32757 (DISTLIST): New target.
32758 (distdir): Use the contents of the file DISTLIST to get a list of
32759 distributed files.
32760
32761 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32762
32763 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32764 descriptor. This is ported from GRUB Legacy.
32765
32766 * gencmdlist.sh: Added an extra semicolon to make it work with
32767 old sed versions. Reported by Robert Bihlmeyer
32768 <robbe@orcus.priv.at>.
32769
32770 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32771
32772 Automatic loading of commands is supported.
32773
32774 * normal/main.c (read_command_list): New function.
32775 (grub_normal_execute): Call read_command_list.
32776
32777 * normal/command.c (grub_register_command): Return zero or CMD.
32778 Allocate CMD->NAME from the heap.
32779 Initialize CMD->MODULE_NAME to zero.
32780 Find the same name as well. If the same command is found and it is
32781 a dummy command, overwrite members. If it is not a dummy command,
32782 return zero.
32783 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32784 (grub_command_find): If a dummy command is found, load a module
32785 and retry to find a command only once.
32786
32787 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32788 make sure that each command is loaded.
32789
32790 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32791 macro.
32792 (struct grub_command): Remove const from the member `name'.
32793 Add a new member `module_name'.
32794 (grub_register_command): Return grub_command_t.
32795
32796 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32797 sure that each command is loaded.
32798
32799 * genmk.rb (PModule::rule): Specify a module name without the
32800 suffix ".mod" to gencmdlist.sh.
32801
32802 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32803
32804 * gencmdlist.sh: New file.
32805
32806 * genmk.rb (PModule::rule): Generate a rule for a command list.
32807 Clean command.lst.
32808 Generate command.lst from $(COMMANDFILES).
32809
32810 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32811 (DATA): Added $(pkgdata_DATA).
32812 (install-local): Install files in $(pkgdata_DATA).
32813
32814 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32815
32816 * term/i386/pc/vga.c (debug_command): Removed.
32817 (GRUB_MOD_INIT): Do not register the command "debug".
32818
32819 From Hollis Blanchard:
32820 * commands/configfile.c: New file.
32821 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32822 commands/configfile.c.
32823 (pkgdata_MODULES): Added configfile.mod.
32824 (configfile_mod_SOURCES): New variable.
32825 (configfile_mod_CFLAGS): Likewise.
32826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32827 commands/configfile.c.
32828 (pkgdata_MODULES): Added configfile.mod.
32829 (configfile_mod_SOURCES): New variable.
32830 (configfile_mod_CFLAGS): Likewise.
32831 * util/grub-emu.c (main): Call grub_configfile_init and
32832 grub_configfile_fini.
32833 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32834 prototype.
32835 [GRUB_UTIL] (grub_configfile_fini): Likewise.
32836
32837 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32838
32839 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32840 address.
32841
32842 * commands/help.c (grub_cmd_help): Do not print newlines after
32843 the last command in print_command_help.
32844
32845 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32846
32847 * commands/default.h: New file.
32848 * commands/timeout.h: Likewise.
32849 * normal/context.c: Likewise.
32850
32851 * util/misc.c: Do not include sys/times.h.
32852 Include sys/time.h and grub/machine/time.h.
32853 (grub_get_rtc): Rewritten with gettimeofday.
32854
32855 * util/grub-emu.c (main): Call grub_default_init and
32856 grub_timeout_init before grub_normal_init, and call
32857 grub_timeout_fini and grub_default_fini after grub_main.
32858
32859 * util/console.c (grub_ncurses_checkkey): Return the read
32860 character or -1.
32861
32862 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32863 timeouts.
32864
32865 * normal/main.c (read_config_file): Push MENU. If this fails,
32866 print an error and wait for a user input.
32867 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32868 If a menu is empty or an error occurs, pop MENU.
32869 (grub_normal_execute): Pop and free MENU after grub_menu_run
32870 returns.
32871
32872 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32873
32874 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32875 include time.h.
32876 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32877 without GRUB_UTIL.
32878 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32879 time.h.
32880 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32881 without GRUB_UTIL.
32882
32883 * include/grub/normal.h (struct grub_menu_list): New struct.
32884 (grub_menu_list_t): New type.
32885 (struct grub_context): New struct.
32886 (grub_context_t): New type.
32887 (grub_register_command): Got rid of EXPORT_FUNC.
32888 (grub_unregister_command): Likewise.
32889 (grub_context_get): New prototype.
32890 (grub_context_get_current_menu): Likewise.
32891 (grub_context_push_menu): Likewise.
32892 (grub_context_pop_menu): Likewise.
32893 [GRUB_UTIL] (grub_default_init): Likewise.
32894 [GRUB_UTIL] (grub_default_fini): Likewise.
32895 [GRUB_UTIL] (grub_timeout_init): Likewise.
32896 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32897
32898 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32899 commands/timeout.c and normal/context.c.
32900 (pkgdata_MODULES): Added default.mod and timeout.mod.
32901 (normal_mod_SOURCES): Added normal/context.c.
32902 (default_mod_SOURCES): New variable.
32903 (default_mod_CFLAGS): Likewise.
32904 (timeout_mod_SOURCES): Likewise.
32905 (timeout_mod_CFLAGS): Likewise.
32906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32907 conf/i386-pc.rmk.
32908 (pkgdata_MODULES): Added default.mod and timeout.mod.
32909 (normal_mod_SOURCES): Added normal/context.c.
32910 (default_mod_SOURCES): New variable.
32911 (default_mod_CFLAGS): Likewise.
32912 (timeout_mod_SOURCES): Likewise.
32913 (timeout_mod_CFLAGS): Likewise.
32914
32915 * Makefile.in (all-local): Added $(MKFILES).
32916
32917 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32918
32919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32920 (grub_emu_SOURCES): Likewise.
32921 (pkgdata_MODULES): Add `sun.mod'.
32922 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32924 `partmap/sun.c'.
32925 (pkgdata_MODULES): Add `sun.mod'.
32926 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32927 * include/grub/partition.h (grub_sun_partition_map_init): New
32928 prototype.
32929 (grub_sun_partition_map_fini): Likewise.
32930 * partmap/sun.c: New file.
32931 * util/grub-emu.c (main): Initialize and de-initialize the sun
32932 partitionmap support.
32933
32934 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32935
32936 This implements an Emacs-like menu entry editor.
32937
32938 * normal/menu_entry.c: New file.
32939
32940 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32941 characters to ASCII.
32942 (saved_char): New variable.
32943 (grub_ncurses_checkkey): Rewritten completely.
32944 (grub_ncurses_getkey): Likewise.
32945 (grub_ncurses_init): Call raw instead of cbreak.
32946
32947 * normal/menu.c (print_entry): Do not put a space.
32948 (init_page): Renamed to ...
32949 (grub_menu_init_page): ... this. All callers changed.
32950 (edit_menu_entry): Removed.
32951 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32952
32953 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32954
32955 * kern/misc.c (grub_vprintf): Call grub_refresh.
32956
32957 * normal/menu.c (DISP_LEFT): Renamed to ...
32958 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32959 * normal/menu.c (DISP_UP): Renamed to ...
32960 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32961 * normal/menu.c (DISP_RIGHT): Renamed to ...
32962 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32963 * normal/menu.c (DISP_DOWN): Renamed to ...
32964 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32965 * normal/menu.c (DISP_HLINE): Renamed to ...
32966 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32967 * normal/menu.c (DISP_VLINE): Renamed to ...
32968 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32969 * normal/menu.c (DISP_UL): Renamed to ...
32970 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32971 * normal/menu.c (DISP_UR): Renamed to ...
32972 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32973 * normal/menu.c (DISP_LL): Renamed to ...
32974 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32975 * normal/menu.c (DISP_LR): Renamed to ...
32976 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32977 * normal/menu.c (TERM_WIDTH): Renamed to ...
32978 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32979 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32980 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32981 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32982 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32983 * normal/menu.c (TERM_MARGIN): Renamed to ...
32984 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32985 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32986 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32987 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32988 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32989 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32990 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32991 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32992 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32993 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32994 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32995 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32996 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32997 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32998 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32999 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33000 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33001 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33002 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33003 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33004 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33005 All callers changed.
33006
33007 * include/grub/normal.h: New prototype.
33008
33009 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33010 normal/menu_entry.c.
33011 (normal_mod_SOURCES): Likewise.
33012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33013 (normal_mod_SOURCES): Likewise.
33014
33015 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33016
33017 * include/grub/normal.h (grub_halt_init): New prototype.
33018 (grub_halt_fini): Likewise.
33019 (grub_reboot_init): Likewise.
33020 (grub_reboot_fini): Likewise.
33021
33022 * util/grub-emu.c: Include signal.h.
33023 (main_env): New global variable.
33024 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33025 catch C-c.
33026 (grub_machine_fini): New function.
33027 (main): Call grub_halt_init and grub_reboot_init before
33028 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33029 Call setjmp with MAIN_ENV to go back afterwards.
33030 Call grub_machine_fini right before return.
33031
33032 * include/grub/util/misc.h: Include setjmp.h.
33033 (main_env): New prototype.
33034
33035 * include/grub/kernel.h (grub_machine_fini): New prototype.
33036 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33037 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33038
33039 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33040 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33041 * term/i386/pc/console.c (grub_console_fini): Likewise.
33042
33043 * util/i386/pc/misc.c: New file.
33044
33045 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33046 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33047 commands/i386/pc/reboot.c.
33048
33049 2005-02-14 Guillem Jover <guillem@hadrons.org>
33050
33051 * include/grub/dl.h (grub_dl_check_header): New prototype.
33052 (grub_arch_dl_check_header): Change return type to grub_err_t,
33053 remove size parameter and export function. Update all callers.
33054 * kern/dl.c (grub_dl_check_header): New function.
33055 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33056 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33057 are inside the core.
33058 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33059 independent ELF header checks.
33060 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33061 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33062 `grub_dl_check_header' instead of explicit checks. Check for the
33063 ELF type.
33064 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33065 `grub_dl_check_header' instead of explicit checks. Remove arch
33066 specific ELF header checks.
33067
33068 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33069 argument SIZE.
33070
33071 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33072
33073 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33074 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33075
33076 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33077
33078 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
33079 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
33080 (part_map_iterate): Clear `grub_errno' and return 0 if
33081 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
33082 * partmap/amiga.c (amiga_partition_map_iterate): Return
33083 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33084 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33085
33086 2005-02-01 Guillem Jover <guillem@hadrons.org>
33087
33088 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33089 help info.
33090
33091 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33092
33093 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33094 Removed prototype.
33095 (grub_rescue_cmd_linux): New prototype.
33096 (grub_rescue_cmd_initrd): Likewise.
33097 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33098 `bi_rec'.
33099 (grub_linux_release_mem): Release the memory for the initrd.
33100 (grub_load_linux): Renamed from this...
33101 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33102 Changed `entry' not to be static. Loop over memory regions to
33103 find another one when the default fails.
33104 (grub_rescue_cmd_initrd): New function.
33105 (grub_linux_init): Remove function.
33106 (grub_linux_fini): Likewise.
33107 (GRUB_MOD_INIT): Register `initrd'.
33108 (GRUB_MOD_FINI): Unregister `initrd'.
33109 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33110 Function removed.
33111 (grub_linux_normal_fini): Likewise.
33112 (GRUB_MOD_INIT): Register `initrd'.
33113 (GRUB_MOD_FINI): Unregister `initrd'.
33114
33115 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33116
33117 * commands/help.c: New file.
33118 * normal/arg.c (show_help): Renamed to...
33119 (grub_arg_show_help): ... this.
33120 * commands/i386/pc/halt.c: New file.
33121 * commands/i386/pc/reboot.c: Likewise.
33122 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33123 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33124 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33125 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33126 variables.
33127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33128 `commands/help.c'.
33129 (pkgdata_MODULES): Add `help.mod'.
33130 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33131 * grub/i386/pc/init.h (grub_reboot): New prototype.
33132 (grub_halt): Likewise.
33133 * include/grub/normal.h (grub_arg_show_help): New prototype.
33134 (grub_help_init): Likewise.
33135 (grub_help_fini): Likewise.
33136 * util/grub-emu.c (main): Initialize and deinitialize the help
33137 command.
33138
33139 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33140
33141 * normal/command.c (grub_command_init): Fixed the description of
33142 the `set' and `unset' commands.
33143
33144 2005-01-31 Marco Gerards <metgerards@student.han.nl>
33145
33146 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33147 function.
33148 * commands/ieee1275/halt.c: New file.
33149 * commands/ieee1275/reboot.c: Likewise.
33150 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33151 `__attribute__ ((unused))'. Some GCS related fixed.
33152 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33153 (grub_suspend_fini): Likewise.
33154 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33155 and `halt.mod'.
33156 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33157 (halt_mod_CFLAGS): New variables.
33158 * include/grub/powerpc/ieee1275/ieee1275.h
33159 (grub_ieee1275_interpret): New prototype.
33160
33161 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33162
33163 * include/grub/misc.h (memmove): New prototype.
33164 (memcpy): Likewise.
33165
33166 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33167
33168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33169 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33170
33171 2005-01-22 Marco Gerards <metgerards@student.han.nl>
33172
33173 * kern/misc.c (grub_strndup): Function rewritten.
33174
33175 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33176
33177 * normal/menu.c (TERM_WIDTH): Macro redefined.
33178 (TERM_TOP_BORDER_Y): Likewise.
33179 (draw_border): Replaced while-loop by a for-loop. Make the number
33180 of lines consistent with the number of lines displayed in
33181 print_entries. Added a margin below the rectangle.
33182 (print_entry): Make the entry fit in the rectangle.
33183 (print_entries): Display the scroll arrows next to the right
33184 border.
33185
33186 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33187
33188 * fs/minix.c (grub_minix_find_file): Reserve more space for
33189 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33190 `grub_strncpy' to copy `path' into it.
33191
33192 2005-01-21 Marco Gerards <metgerards@student.han.nl>
33193
33194 Add the loopback device, a device via which files can be accessed
33195 as devices.
33196
33197 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33198 (pkgdata_MODULES): Add loopback.mod.
33199 (loopback_mod_SOURCES): New variable.
33200 (loopback_mod_CFLAGS): Likewise.
33201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33202 `disk/loopback.c'.
33203 (pkgdata_MODULES): Add loopback.mod.
33204 (loopback_mod_SOURCES): New variable.
33205 (loopback_mod_CFLAGS): Likewise.
33206 * disk/loopback.c: new file.
33207 * include/grub/normal.h (grub_loop_init): New prototype.
33208 (grub_loop_fini): New prototype.
33209 * util/grub-emu.c (main): Initialize and de-initialize loopback
33210 support.
33211 * include/grub/disk.h (grub_disk_dev_id): Add
33212 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33213
33214 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33215
33216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33217 function.
33218 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33219 (suspend_mod_SOURCES): New variable.
33220 (suspend_mod_CFLAGS): Likewise.
33221 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33222 New prototype.
33223 * commands/ieee1275/suspend.c: New file.
33224
33225 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33226
33227 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
33228 ((unused))' to `__attribute__ ((used))'.
33229 (GRUB_MOD_FINI): Likewise.
33230 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33231 * genmk.rb (PModule): Assign space to common symbols when linking
33232 modules.
33233
33234 2005-01-20 Marco Gerards <metgerards@student.han.nl>
33235
33236 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33237 `unsigned' arguments to `grub_size_t'.
33238 (grub_malloc): Likewise.
33239 (grub_realloc): Likewise.
33240 (grub_memalign): Likewise.
33241 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33242 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33243 * util/misc.c (grub_malloc): Likewise.
33244 (grub_realloc): Likewise.
33245 * kern/mm.c (get_header_from_pointer): Change the casts to
33246 `unsigned' into a cast to `grub_size_t'.
33247
33248 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33249 point to `currnode' when `currnode' is changed.
33250
33251 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33252 Schottelius <nico-linux@schottelius.org>.
33253
33254 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33255
33256 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33257 (note_path): Remove variable.
33258 (GRUB_IEEE1275_NOTE_NAME): New macro.
33259 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33260 (grub_ieee1275_note_hdr): New structure.
33261 (grub_ieee1275_note_desc): Likewise.
33262 (grub_ieee1275_note): Likewise.
33263 (load_note): Remove `dir' argument. All callers updated. Remove
33264 `note_img' and `path'. Do not load a file from `note_path'.
33265 Initialize a struct grub_ieee1275_note and write that to `out'.
33266 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33267
33268 2005-01-05 Marco Gerards <metgerards@student.han.nl>
33269
33270 * util/misc.c (grub_util_read_image): Revert last change. It
33271 called `grub_util_read_at', which seeks from the beginning of the
33272 file.
33273
33274 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33275
33276 * TODO: Add note about endianness in grub-mkimage.
33277 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33278 section.
33279 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33280 (grub_mkimage_SOURCES): New target.
33281 * include/grub/kernel.h (grub_start_addr): Remove variable.
33282 (grub_end_addr): Likewise.
33283 (grub_total_module_size): Likewise.
33284 (grub_kernel_image_size): Likewise.
33285 (GRUB_MODULE_MAGIC): New constant.
33286 (grub_module_info): New structure.
33287 (grub_arch_modules_addr): New prototype.
33288 (grub_get_end_addr): Remove prototype.
33289 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33290 * include/grub/powerpc/ieee1275/kernel.h: New file.
33291 * include/grub/util/misc.h (grub_util_get_fp_size): New
33292 prototype.
33293 (grub_util_read_at): Likewise.
33294 (grub_util_write_image_at): Likewise.
33295 * kern/main.c (grub_get_end_addr): Remove function.
33296 (grub_load_modules): Call grub_arch_modules_addr instead of using
33297 grub_end_addr. Look for a grub_module_info struct in memory. Use
33298 the grub_module_info fields instead of calling grub_get_end_addr
33299 as loop conditions. Move grub_add_unused_region code here.
33300 (grub_add_unused_region): Remove function.
33301 * kern/i386/pc/init.c: Include grub/cache.h.
33302 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33303 one call to add_mem_region.
33304 (grub_arch_modules_addr): New function.
33305 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33306 (grub_total_module_size): Likewise.
33307 Include grub/machine/kernel.h.
33308 (grub_arch_modules_addr): New function.
33309 * util/grub-emu.c (grub_end_addr): Remove variable.
33310 (grub_total_module_size): Likewise.
33311 (grub_arch_modules_addr): New function.
33312 * util/misc.c: Include unistd.h.
33313 (grub_util_get_fp_size): New function.
33314 (grub_util_read_at): Likewise.
33315 (grub_util_write_image_at): Likewise.
33316 (grub_util_read_image): Call grub_util_read_at.
33317 (grub_util_write_image): Call grub_util_write_image_at.
33318 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33319 additional memory in kernel_img for a struct grub_module_info.
33320 Fill in that grub_module_info.
33321 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33322
33323 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33324
33325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33326 New function.
33327 * include/grub/powerpc/ieee1275/ieee1275.h
33328 (grub_ieee1275_milliseconds): New prototype.
33329 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33330 Change to 1000.
33331 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33332 grub_ieee1275_milliseconds.
33333
33334 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33335
33336 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33337 variable.
33338 (find_options): New function.
33339 (cmain): Call find_options.
33340 * include/grub/powerpc/ieee1275/ieee1275.h
33341 (grub_ieee1275_realmode): New extern variable.
33342 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33343 grub_map if grub_ieee1275_realmode is false.
33344
33345 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33346
33347 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33348 lines are inserted and make it work like readline. Reported by
33349 Vincent Pelletier <subdino2004@yahoo.fr>.
33350
33351 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33352
33353 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33354
33355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33356 `kern/powerpc/cache.S'.
33357
33358 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33359
33360 * genmk.rb: Handle the `Program' class in the main loop. Written
33361 by Johan Rydberg <jrydberg@gnu.org>.
33362 (Program): New class.
33363 (programs): New variable.
33364 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33365 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33366 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33367 (help_arch): Function removed.
33368 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33369 `powerpc/libgcc.h' and `loader.h'.
33370 (pkgdata_PROGRAMS): New variable.
33371 (sbin_UTILITIES): Variable removed.
33372 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33373 (grubof_SOURCES): Variable re-defined so it only includes the
33374 core functionality.
33375 (grubof_CFLAGS): Remove `-DGRUBOF'.
33376 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33377 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33378 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33379 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33380 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33381 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33382 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33383 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33384 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33385 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33386 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33387 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33388 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33389 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33390 (pc_mod_CFLAGS): New variables.
33391 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33392 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33393 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33394 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33395 Moved from here...
33396 * include/grub/i386/pc/init.h (grub_os_area_addr)
33397 (rub_os_area_size): ... to here.
33398 * include/grub/powerpc/ieee1275/ieee1275.h
33399 (grub_ieee1275_entry_fn): Export symbol.
33400 * include/grub/powerpc/ieee1275/init.h: New file.
33401 * include/grub/powerpc/libgcc.h: Likewise.
33402 * include/grub/cache.h: Likewise.
33403 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33404 <hollis@penguinppc.org>.
33405 * kern/dl.c: Include <grub/cache.h>.
33406 (grub_dl_flush_cache): New function.
33407 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33408 for this module.
33409 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33410 (grub_console_init): Removed prototypes.
33411 (grub_machine_init): Don't initialize the modules anymore.
33412 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33413 static.
33414 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33415 Macro undef removed.
33416 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33417 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33418 relocation `R_PPC_REL32'. Return an error when the relocation is
33419 unknown.
33420 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33421 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33422 * util/misc.c (grub_arch_sync_caches): Likewise.
33423
33424 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33425
33426 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33427 `symlist.c', add `grubof_symlist.c'.
33428 (symlist.c): Variable removed.
33429 (grubof_HEADERS): Variable added.
33430 (grubof_symlist.c): New target.
33431 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33432 `kernel_img_HEADERS'.
33433 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33434 * kern/powerpc/dl.c: New file.
33435 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33436 Function removed.
33437 (grub_arch_dl_relocate_symbols): Likewise.
33438 (grub_register_exported_symbols): Likewise.
33439
33440 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33441
33442 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33443 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33444 to fail instead. Reported by Vincent Pelletier
33445 <subdino2004@yahoo.fr>.
33446
33447 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33448 it is not allocated. Reported by Vincent Pelletier
33449 <subdino2004@yahoo.fr>.
33450
33451 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33452 output so the output looks better.
33453
33454 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33455
33456 Modulize the partition map support and add support for the amiga
33457 partition map.
33458
33459 * commands/ls.c: Include <grub/partition.h> instead of
33460 <grub/machine/partition.h>.
33461 * kern/disk.c: Likewise.
33462 * kern/rescue.c: Likewise.
33463 * loader/i386/pc/chainloader.c: Likewise.
33464 * normal/cmdline.c: Likewise.
33465 * kern/powerpc/ieee1275/init.c: Likewise.
33466 (grub_machine_init): Call `grub_pc_partition_map_init',
33467 `grub_amiga_partition_map_init' and
33468 `grub_apple_partition_map_init'.
33469 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33470 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33471 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33472 `partition.h' and `pc_partition.h'.
33473 (grub_setup_SOURCES): Remove
33474 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33475 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33476 (grub_emu_SOURCES): Likewise.
33477 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33478 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33479 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33481 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33482 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33483 (grubof_SOURCES): Likewise.
33484 * disk/i386/pc/partition.c: File removed.
33485 * disk/powerpc/ieee1275/partition.c: Likewise.
33486 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33487 * include/grub/i386/pc/partition.h: Likewise.
33488 * kern/partition.c: New file.
33489 * partmap/amiga.c: Likewise.
33490 * partmap/apple.c: Likewise.
33491 * partmap/pc.c: Likewise.
33492 * include/grub/partition.h: Likewise..
33493 * include/grub/pc_partition.h: Likewise.
33494 * util/grub-emu.c: Include <grub/partition.h> instead of
33495 <grub/machine/partition.h>.
33496 (main): Call `grub_pc_partition_map_init',
33497 `grub_amiga_partition_map_init' and
33498 `grub_apple_partition_map_init' and deinitialize afterwards.
33499 * util/i386/pc/biosdisk.c: Include `#include
33500 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33501 `<grub/machine/partition.h>'.
33502 * util/i386/pc/grub-setup.c: Likewise.
33503 * util/i386/pc/biosdisk.c: Likewise.
33504 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33505 partition information in case of a PC partition.
33506 * util/i386/pc/grub-setup.c: Include `#include
33507 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33508 `<grub/machine/partition.h>'.
33509 (setup): Only access the PC specific partition information in case
33510 of a PC partition.
33511
33512 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33513
33514 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33515 (grub_longjmp): Likewise.
33516 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33517 20.
33518 * normal/powerpc/setjmp.S: New file.
33519 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33520 `normal/powerpc/setjmp.S'.
33521 (grubof_CFLAGS): Add `-DGRUBOF'.
33522 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33523 [GRUB_UTIL && !GRUBOF].
33524
33525 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33526
33527 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33528 property named `name'. Correctly handle the error returned by
33529 `grub_ieee1275_finddevice' if a device can not be opened.
33530
33531 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33532
33533 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33534 `actual' for negativity.
33535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33536 kern/fshelp.c.
33537
33538 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33539
33540 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33541 (PAGE_OFFSET): New macro.
33542 (CRTC_ADDR_PORT): Likewise.
33543 (CRTC_DATA_PORT): Likewise.
33544 (START_ADDR_HIGH_REGISTER): Likewise.
33545 (START_ADDR_LOW_REGISTER): Likewise.
33546 (GRAPHICS_ADDR_PORT): Likewise.
33547 (GRAPHICS_DATA_PORT): Likewise.
33548 (READ_MAP_REGISTER): Likewise.
33549 (INPUT_STATUS1_REGISTER): Likewise.
33550 (INPUT_STATUS1_VERTR_BIT): Likewise.
33551 (page): New variable.
33552 (wait_vretrace): New function.
33553 (set_read_map): Likewise.
33554 (set_start_address): Likewise.
33555 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33556 the right page.
33557 (check_vga_mem): Take the page into account.
33558 (write_char): Likewise.
33559 (write_cursor): Likewise.
33560 (scroll_up): Likewise. Copy the page to the page that is not
33561 shown and switch between both pages.
33562 (grub_vga_putchar): Fix off by one error.
33563 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33564 account.
33565
33566 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33567
33568 Add support for iso9660 (including rockridge).
33569
33570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33571 (iso9660_mod_SOURCES): New variable.
33572 (iso9660_mod_CFLAGS): Likewise.
33573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33574 * include/grub/fs.h (grub_iso9660_init): New prototype.
33575 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33576 * fs/iso9660.c: New file.
33577
33578 * include/grub/misc.h (grub_strncat): New prototype.
33579 * kern/misc.c (grub_strncat): New function.
33580
33581 * fs/hfs.c (grub_hfs_mount): Translate the error
33582 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33583 * fs/jfs.c (grub_jfs_mount): Likewise.
33584 * fs/ufs.c (grub_ufs_mount): Likewise.
33585
33586 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33587
33588 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33589 which initialized BAT registers.
33590 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33591 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33592 Move from here...
33593 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33594 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33595 ... to here.
33596 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33597 (grub_mapclaim): Likewise.
33598 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33599 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33600 hand.
33601
33602 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33603
33604 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33605 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33606 -ffreestanding and -msoft-float.
33607
33608 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33609
33610 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33611 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33612 set in grub_ieee1275_flags.
33613
33614 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33615
33616 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33617 prototype.
33618 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33619 grub_console_init first.
33620 Change the memory range used for grub_ieee1275_claim and
33621 grub_mm_init_region.
33622 Print an error message if the claim fails.
33623 Include <grub/misc.h>.
33624
33625 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33626
33627 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33628 Call grub_children_iterate for device nodes of type `scsi',
33629 `ide', or `ata'.
33630 (grub_ofdisk_open): Remove manual device alias resolution.
33631 Fix memory leak when device cannot be opened.
33632 * include/grub/powerpc/ieee1275/ieee1275.h
33633 (grub_children_iterate): New prototype.
33634 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33635 New function.
33636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33637 Return -1 if args.size was -1.
33638
33639 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33640
33641 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33642 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33643 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33644 Open Firmware's memory for it; claim memory from _start to _end.
33645 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33646 (_end): New extern.
33647 (_start): Zero BSS from __bss_start to _end.
33648 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33649 New extern.
33650 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33651
33652 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33653
33654 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33655 -1 if args.base was -1.
33656
33657 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33658
33659 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33660 escape sequence instead of a literal ^L. Also call
33661 grub_ofconsole_gotoxy.
33662
33663 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33664
33665 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33666 void * arguments to grub_addr_t. All callers updated. Also make
33667 the `result' argument optional.
33668 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33669 All callers updated.
33670
33671 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33672
33673 * commands/ls.c (grub_ls_list_files): Use the string following the
33674 initial ')', if present, as the filesystem path.
33675 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33676
33677 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33678
33679 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33680
33681 Make the source code of the menu interface more readable.
33682
33683 * normal/menu.c: Include grub/mm.h.
33684 (TERM_WIDTH): New macro.
33685 (TERM_HEIGHT): Likewise.
33686 (TERM_INFO_HEIGHT): Likewise.
33687 (TERM_MARGIN): Likewise.
33688 (TERM_SCROLL_WIDTH): Likewise.
33689 (TERM_TOP_BORDER_Y): Likewise.
33690 (TERM_LEFT_BORDER_X): Likewise.
33691 (TERM_BORDER_WIDTH): Likewise.
33692 (TERM_MESSAGE_HEIGHT): Likewise.
33693 (TERM_BORDER_HEIGHT): Likewise.
33694 (TERM_NUM_ENTRIES): Likewise.
33695 (TERM_FIRST_ENTRY_Y): Likewise.
33696 (TERM_ENTRY_WIDTH): Likewise.
33697 (TERM_CURSOR_X): Likewise.
33698 (draw_border): Use macros instead of magic numbers.
33699 (print_entry): Likewise.
33700 (print_entries): Likewise.
33701 (run_menu): Likewise. Also, handle the key 'e'.
33702 (run_menu_entry): Ignore empty command lines.
33703 (print_message): Added a new argument EDIT. If EDIT is true,
33704 print a different message.
33705 (init_page): Likewise.
33706 (edit_menu_entry): New function. Not implemented yet.
33707
33708 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33709
33710 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33711 can be loaded from normal mode.
33712
33713 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33714 `multiboot.mod'.
33715 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33716 (multiboot_mod_CFLAGS): New variables.
33717 * loader/i386/pc/linux_normal.c: New file.
33718 * loader/i386/pc/multiboot_normal.c: Likewise.
33719
33720 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33721 attribute `unused'.
33722
33723 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33724 `fdiro' to read the mode information from instead of `diro'.
33725
33726 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33727 looking up a symlink.
33728
33729 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33730 macro.
33731 * normal/command.c (grub_command_execute): Don't parse the
33732 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33733 flags of the command.
33734
33735 * normal/menu.c (grub_menu_run): Fix typo.
33736
33737 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33738
33739 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33740
33741 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33742 `y + 1' instead of `y - 1'.
33743
33744 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33745
33746 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33747
33748 From Hollis Blanchard <hollis@penguinppc.org>:
33749 * kern/misc.c (memmove): New alias for grub_memmove.
33750 (memcmp): New alias for grub_memcmp.
33751 (memset): New alias for grub_memset.
33752 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33753 Change "int handle" to "grub_ieee1275_phandle_t handle".
33754 * include/grub/powerpc/ieee1275/ieee1275.h
33755 (grub_ieee1275_get_property): Likewise.
33756
33757 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33758
33759 Added normal mode command `chainloader' as module chain.mod, which
33760 depends on normal.mod and _chain.mod.
33761
33762 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33763 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33764 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33765 Deleted prototype.
33766 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33767 but arguments parsing moved to ...
33768 (grub_chainloader_cmd): ... here. New function.
33769 * include/grub/i386/pc/chainloader.h: New file.
33770 * loader/i386/pc/chainloader_normal.c: Likewise.
33771
33772 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33773
33774 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33775 (grub_mkimage_LDFLAGS): Likewise.
33776 (grub_emu_SOURCES): Likewise.
33777 (kernel_img_HEADERS): Added fshelp.h.
33778 * fs/ext2.c: Include <grub/fshelp.h>.
33779 (FILETYPE_REG): New macro.
33780 (FILETYPE_INO_REG): Likewise.
33781 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33782 Changed all users.
33783 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33784 all users.
33785 (grub_fshelp_node): New struct.
33786 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33787 to a pointer.
33788 (grub_ext2_get_file_block): Removed function.
33789 (grub_ext2_read_block): New function.
33790 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33791 This function was written.
33792 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33793 (grub_ext2_find_file): Removed function.
33794 (grub_ext2_read_symlink): New function.
33795 (grub_ext2_iterate_dir): Likewise.
33796 (grub_ext2_open): Rewritten.
33797 (grub_ext2_dir): Rewritten.
33798 * include/grub/fshelp.h: New file.
33799 * fs/fshelp.c: Likewise.
33800
33801 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33802
33803 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33804 (print_message): Add a missing newline.
33805 (run_menu): Added timeout support.
33806 (run_menu_entry): New local function.
33807 (grub_menu_run): Added support for booting.
33808
33809 * kern/loader.c (grub_loader_is_loaded): New function.
33810
33811 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33812 (grub_get_rtc): Exported.
33813
33814 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33815 (grub_get_rtc): Exported.
33816
33817 * include/grub/normal.h (struct grub_command_list): Remove
33818 constant from the member `command'.
33819
33820 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33821
33822 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33823
33824 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33825
33826 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33827
33828 Add support for the JFS filesystem.
33829
33830 * fs/jfs.c: New file.
33831 * include/grub/fs.h (grub_jfs_init): New prototype.
33832 (grub_jfs_fini): New prototype.
33833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33834 (grub_emu_SOURCES): Likewise.
33835 (pkgdata_MODULES): Add jfs.mod.
33836 (jfs_mod_SOURCES): New variable.
33837 (jfs_mod_CFLAGS): Likewise.
33838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33839 (grubof_SOURCES): Likewise.
33840 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33841
33842 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33843 endian to the host endian.
33844 (grub_fat_utf16_to_utf8): Move function from there...
33845 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
33846 the endianness of the source string anymore.
33847 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33848
33849 2004-08-24 Marco Gerards <metgerards@student.han.nl>
33850
33851 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33852 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33853 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33854 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
33855
33856 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33857 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33858 for `node_found' and `it_dir'.
33859 (grub_hfs_dir): Add prototype for `dir_hook'.
33860
33861 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33862 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33863 and `indir32' to silence a gcc warning.
33864
33865 * include/grub/fs.h (grub_hfs_init): New prototype.
33866 (grub_hfs_fini): Likewise.
33867
33868
33869 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33870
33871 Each disk device has its own id now. This is useful to make use
33872 of multiple disk devices.
33873
33874 * include/grub/disk.h (grub_disk_dev_id): New enum.
33875 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33876 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33877
33878 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33879 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33880
33881 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33882 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33883
33884 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33885 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33886
33887 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33888 "id" which is used by the cache manager.
33889
33890 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33891 of just "GRUB".
33892
33893 2004-08-18 Marco Gerards <metgerards@student.han.nl>
33894
33895 * fs/hfs.c: New file.
33896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33897 (grub_emu_SOURCES): Likewise.
33898 (pkgdata_MODULES): Add hfs.mod.
33899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33900 (grubof_SOURCES): Likewise.
33901 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33902
33903 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33904 * kern/misc.c (grub_strncasecmp): Add function.
33905
33906 2004-08-14 Marco Gerards <metgerards@student.han.nl>
33907
33908 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33909 with parentheses.
33910
33911 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33912 (grub_ext2_dir): In case the directory entry type is unknown, read
33913 it from the inode.
33914
33915 2004-08-02 Peter Bruin <pjbruin@dds.nl>
33916
33917 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33918 grub_load_linux instead of grub_rescue_cmd_linux as second
33919 argument of grub_rescue_register_command.
33920
33921 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33922
33923 2004-07-27 Marco Gerards <metgerards@student.han.nl>
33924
33925 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33926 function.
33927 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33928 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33929 `loader/powerpc/ieee1275/linux.c',
33930 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33931 * include/grub/powerpc/ieee1275/ieee1275.h
33932 (grub_ieee1275_release): New prototype.
33933 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33934 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33935 normal, boot, linux and linux_normal.
33936 * loader/powerpc/ieee1275/linux.c: New file.
33937 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33938
33939 2004-07-12 Marco Gerards <metgerards@student.han.nl>
33940
33941 * normal/arg.c (grub_arg_parse): Correct error handling after
33942 reallocating the argumentlist (check if `argl' is not null instead
33943 of checking if `args' is not null).
33944 * kern/mm.c (grub_realloc): Return the same pointer when using the
33945 same region, instead of returning the header address.
33946
33947 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33948
33949 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33950 one block instead of two when looking for the initial partition.
33951 (grub_partition_probe): Initialize the local variable `p' with 0.
33952 Use base 10 for the grub_strtoul call.
33953 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33954 need for one local variable.
33955 (grub_strtoul): Don't add the new value to `num', instead of that
33956 just assign it.
33957
33958 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33959
33960 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33961 (pxeboot_img_SOURCES): New variable.
33962 (pxeboot_img_ASFLAGS): Likewise.
33963 (pxeboot_img_LDFLAGS): Likewise.
33964 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33965 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33966 <lode_leroy@hotmail.com>.
33967
33968 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33969
33970 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33971 there was no input.
33972
33973 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33974
33975 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33976 the history buffer logic.
33977
33978 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33979
33980 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33981 (FILETYPE_INO_SYMLINK): New macros.
33982 (grub_ext2_find_file): Check if the node is a directory using the
33983 inode stat information instead of using the filetype in the
33984 dirent. Exclude the first character of an absolute symlink.
33985 (grub_ext2_dir): Mask out the filetype part of the mode member of
33986 the inode.
33987
33988 2004-05-24 Marco Gerards <metgerards@student.han.nl>
33989
33990 Add support for UFS version 1 and 2. Add support for the minix
33991 filesystem version 1 and 2, both the variants with 14 and 30 long
33992 filenames.
33993
33994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33995 fs/minix.c.
33996 (grub_emu_SOURCES): Likewise.
33997 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33998 (ufs_mod_SOURCES): New variable.
33999 (ufs_mod_CFLAGS): Likewise.
34000 (minix_mod_SOURCES): Likewise.
34001 (minix_mod_CFLAGS): Likewise.
34002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34003 fs/minix.c.
34004 (grubof_SOURCES): Likewise.
34005 * fs/ufs.c: New file.
34006 * fs/minix.c: New file.
34007 * include/grub/fs.h (grub_ufs_init): New prototype.
34008 (grub_ufs_fini): Likewise.
34009 (grub_minix_init): Likewise.
34010 (grub_minix_fini): Likewise.
34011 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34012 minix fs.
34013
34014 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34015
34016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34017 commands/ls.c, commands/terminal.c, commands/boot.c,
34018 commands/cmp.c and commands/cat.c.
34019 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34020
34021 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34022 "env.h"
34023
34024 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34025
34026 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34027 and grub_, respectively. Because the conversion is trivial and
34028 mechanical, I omit the details here. Please refer to the CVS
34029 if you need more information.
34030
34031 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34032
34033 * include/pupa: Renamed to ...
34034 * include/grub: ... this.
34035 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34036 * util/i386/pc/grub-mkimage.c: ... this.
34037 * util/i386/pc/pupa-setup.c: Renamed to ...
34038 * util/i386/pc/grub-setup.c: ... this.
34039 * util/pupa-emu.c: Renamed to ...
34040 * util/grub-emu.c: ... this.
34041
34042 2004-03-29 Marco Gerards <metgerards@student.han.nl>
34043
34044 Add support for the newworld apple macintosh (PPC). This has been
34045 tested on the powerbook 2000 only. It only adds support for
34046 generic ieee1275 functions, console and disk support. This should
34047 be easy to port to other architectures with support for Open
34048 Firmware.
34049
34050 * configure.ac: Accept the powerpc as host_cpu. In the case of
34051 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34052 specific tests are only executed while building for the i386.
34053 Inverse test for crosscompile.
34054 * genmk.rb (Utility): Allow assembler files.
34055 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34056 * conf/powerpc-ieee1275.rmk: New file.
34057 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34058 * disk/powerpc/ieee1275/partition.c: Likewise.
34059 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34060 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34061 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34062 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34063 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34064 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34065 * include/pupa/powerpc/ieee1275/loader.h
34066 * include/pupa/powerpc/setjmp.h: Likewise.
34067 * include/pupa/powerpc/types.h: Likewise.
34068 * kern/powerpc/ieee1275/init.c: Likewise.
34069 * kern/powerpc/ieee1275/openfw.c: Likewise.
34070 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34071
34072 These files were written by Johan Rydberg
34073 (jrydberg@night.trouble.net) and I only modified them slightly.
34074
34075 * boot/powerpc/ieee1275/cmain.c: New file.
34076 * boot/powerpc/ieee1275/crt0.S: Likewise.
34077 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34078 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34079
34080 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34081
34082 * Makefile.in: Update copyright.
34083 * genmodsrc.sh: Likewise.
34084 * gensymlist.sh: Likewise.
34085 * term/i386/pc/vga.c: Indent correctly.
34086
34087 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34088 bugreporting address.
34089 * util/i386/pc/pupa-setup.c (usage): Likewise,
34090 (main): Call pupa_ext2_init and pupa_ext2_fini.
34091
34092 * fs/fat.c (log2): Renamed to ...
34093 (fat_log2): ... this.
34094 All callers changed.
34095 * kern/misc.c (memcpy): Alias to pupa_memmove.
34096 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34097 lvalue cast.
34098 * util/console.c (pupa_ncurses_fini): Return 0.
34099
34100 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34101 Move fail label here.
34102 [__GNU__]: Don't warn when using stat.
34103 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34104 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34105 long int. Use strtol instead of strtoul.
34106
34107 2004-03-14 Marco Gerards <metgerards@student.han.nl>
34108
34109 * commands/boot.c: New file.
34110 * commands/cat.c: Likewise.
34111 * commands/cmp.c: Likewise.
34112 * commands/ls.c: Likewise.
34113 * commands/terminal.c: Likewise.
34114 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34115 (pupa_register_command): Changed interface to match the new
34116 argument parser.
34117 (pupa_command_execute): Changed (almost rewritten) so it uses
34118 pupa_split_command. Added support for setting variables using the
34119 syntax `foo=bar'.
34120 (rescue_command): Changed to work with the new argument parser.
34121 (terminal_command): Moved from here to commands/terminal.c.
34122 (set_command): New function.
34123 (unset_command): New function.
34124 (insmod_command): New function.
34125 (rmmod_command): New function.
34126 (lsmod_command): New function.
34127 (pupa_command_init): Don't initialize the command terminal
34128 anymore. Initialize the commands set, unset, insmod, rmmod and
34129 lsmod.
34130 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34131 (kernel_img_HEADERS): Add arg.h and env.h.
34132 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34133 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34134 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34135 normal/arg.c.
34136 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34137 terminal.mod.
34138 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34139 (boot_mod_SOURCES): New variable.
34140 (terminal_mod_SOURCES): Likewise.
34141 (ls_mod_SOURCES): Likewise.
34142 (cmp_mod_SOURCES): Likewise.
34143 (cat_mod_SOURCES): Likewise.
34144
34145 * normal/arg.c: New file.
34146 * kern/env.c: Likewise.
34147 * include/pupa/arg.h: Likewise.
34148 * include/pupa/env.h: Likewise.
34149 * font/manager.c (font_command): Changed to match argument parsing
34150 interface changes.
34151 (PUPA_MOD_INIT): Likewise.
34152 * hello/hello.c (pupa_cmd_hello): Likewise.
34153 (PUPA_MOD_INIT): Likewise.
34154 * include/pupa/disk.h: Include <pupa/device.h>.
34155 (pupa_print_partinfo): New prototype.
34156 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34157 (pupa_dl_get_prefix): Likewise.
34158 * include/pupa/misc.h: Include <pupa/err.h>.
34159 (pupa_isgraph): New prototype.
34160 (pupa_isdigit): Likewise.
34161 (pupa_split_cmdline): Likewise.
34162 * include/pupa/normal.h: Include <pupa/arg.h>.
34163 (pupa_command): Changed the prototype of the member `func' to
34164 match the argument parsing interface. Added member `options'.
34165 (pupa_register_command): Updated to match function.
34166 (pupa_arg_parse): New prototype.
34167 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34168 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34169 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34170 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34171 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34172 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34173 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34174 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34175 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34176 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34177 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34178 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34179 * kern/disk.c: Include <pupa/file.h>.
34180 (pupa_print_partinfo): New function.
34181 * kern/dl.c: Include <pupa/env.h>.
34182 (pupa_dl_dir): Variable removed.
34183 (pupa_dl_load): Use the environment variable `prefix' instead of
34184 the variable pupa_dl_dir.
34185 (pupa_dl_set_prefix): Function removed.
34186 (pupa_dl_get_prefix): Likewise.
34187 * kern/i386/pc/init.c: Include <pupa/env.h>.
34188 (pupa_machine_init): Use the environment variable `prefix' instead of
34189 using pupa_dl_set_prefix to set the prefix.
34190 * kern/main.c: Include <pupa/env.h>.
34191 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34192 using pupa_dl_get_prefix to get the prefix.
34193 * kern/misc.c: Include <pupa/env.h>.
34194 (pupa_isdigit): New function.
34195 (pupa_isgraph): Likewise.
34196 (pupa_ftoa): Likewise.
34197 (pupa_vsprintf): Added support for printing values of the type
34198 `double'. Make it possible to format variable output when using
34199 formatting like `%1.2%f'.
34200 (pupa_split_cmdline): New function.
34201 * kern/rescue.c: Include <pupa/env.h>.
34202 (next_word): Removed function.
34203 (pupa_rescue_cmd_prefix): Likewise.
34204 (pupa_rescue_cmd_set): New function.
34205 (pupa_rescue_cmd_unset): New function.
34206 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34207 split the command line instead of splitting it here. Added
34208 support for setting variables using the syntax `foo=bar'. Don't
34209 initialize the prefix command anymore. Initialized the set and
34210 unset commands.
34211 * normal/cmdline.c: Include <pupa/env.h>.
34212 (pupa_tab_complete): Added prototypes for print_simple_completion,
34213 print_partition_completion, add_completion, iterate_commands,
34214 iterate_dev, iterate_part and iterate_dir. Moved code to print
34215 partition information from here to kern/disk.c.
34216 (pupa_cmdline_run): Don't check if the function exists anymore.
34217 * normal/main.c: Include <pupa/env.h>.
34218 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34219 instead of using pupa_dl_get_prefix to get the prefix.
34220 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34221 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34222 warning.
34223 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34224 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34225 ((unused))' to silence a gcc warning.
34226 (pupa_vga_setcolor): Likewise.
34227 (debug_command): Changed to match argument parsing
34228 interface changes.
34229 * util/pupa-emu.c: Include <pupa/env.h>.
34230 (options): Added 0's for unused fields to silence a gcc warning.
34231 (argp): Likewise.
34232 (main): Use the environment variable `prefix' instead of using
34233 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34234 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34235 and terminal.
34236
34237 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34238 * util/misc.c: Include <malloc.h>.
34239 (pupa_malloc): Rewritten so errors are correctly reported.
34240 (pupa_realloc): Likewise.
34241 (pupa_memalign): Likewise.
34242 (pupa_mm_init_region): Declare unused variables with
34243 `__attribute__ ((unused))' to silence a gcc warning.
34244 * normal/i386/setjmp.S: Remove tab at the end of the file to
34245 silence a gcc warning.
34246 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34247 variables with `__attribute__ ((unused))' to silence a gcc
34248 warning.
34249 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34250 local variable i unsigned to silence a gcc warning.
34251
34252 * kern/term.c: Include <pupa/misc.h>.
34253 (pupa_more_lines): New variable.
34254 (pupa_more): Likewise.
34255 (pupa_putcode): When the pager is active pause at the end of every
34256 screen.
34257 (pupa_set_more): New function.
34258 * include/pupa/term.h (pupa_set_more): New prototype.
34259
34260
34261 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34262
34263 Now this project is GRUB 2 rather than PUPA. The location of
34264 the CVS repository was moved to GRUB's.
34265
34266 * configure.ac: Use bug-grub as the reporting address.
34267 Use GRUB instead of PUPA.
34268 Change the version number to 1.90.
34269
34270 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34271
34272 * genkernsyms.sh: Updated copyright information.
34273 * genmk.rb: Likewise.
34274 * genmodsrc.sh: Likewise.
34275 * gensymlist.sh: Likewise.
34276 * boot/i386/pc/boot.S: Likewise.
34277 * boot/i386/pc/diskboot.S: Likewise.
34278 * disk/i386/pc/biosdisk.c: Likewise.
34279 * disk/i386/pc/partition.c: Likewise.
34280 * font/manager.c: Likewise.
34281 * fs/ext2.c: Likewise.
34282 * fs/fat.c: Likewise.
34283 * include/pupa/boot.h: Likewise.
34284 * include/pupa/device.h: Likewise.
34285 * include/pupa/disk.h: Likewise.
34286 * include/pupa/dl.h: Likewise.
34287 * include/pupa/elf.h: Likewise.
34288 * include/pupa/err.h: Likewise.
34289 * include/pupa/file.h: Likewise.
34290 * include/pupa/font.h: Likewise.
34291 * include/pupa/fs.h: Likewise.
34292 * include/pupa/kernel.h: Likewise.
34293 * include/pupa/loader.h: Likewise.
34294 * include/pupa/misc.h: Likewise.
34295 * include/pupa/mm.h: Likewise.
34296 * include/pupa/net.h: Likewise.
34297 * include/pupa/normal.h: Likewise.
34298 * include/pupa/rescue.h: Likewise.
34299 * include/pupa/setjmp.h: Likewise.
34300 * include/pupa/symbol.h: Likewise.
34301 * include/pupa/term.h: Likewise.
34302 * include/pupa/types.h: Likewise.
34303 * include/pupa/i386/setjmp.h: Likewise.
34304 * include/pupa/i386/types.h: Likewise.
34305 * include/pupa/i386/pc/biosdisk.h: Likewise.
34306 * include/pupa/i386/pc/boot.h: Likewise.
34307 * include/pupa/i386/pc/console.h: Likewise.
34308 * include/pupa/i386/pc/init.h: Likewise.
34309 * include/pupa/i386/pc/kernel.h: Likewise.
34310 * include/pupa/i386/pc/linux.h: Likewise.
34311 * include/pupa/i386/pc/loader.h: Likewise.
34312 * include/pupa/i386/pc/memory.h: Likewise.
34313 * include/pupa/i386/pc/multiboot.h: Likewise.
34314 * include/pupa/i386/pc/partition.h: Likewise.
34315 * include/pupa/i386/pc/time.h: Likewise.
34316 * include/pupa/i386/pc/vga.h: Likewise.
34317 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34318 * include/pupa/util/getroot.h: Likewise.
34319 * include/pupa/util/misc.h: Likewise.
34320 * include/pupa/util/resolve.h: Likewise.
34321 * kern/device.c: Likewise.
34322 * kern/disk.c: Likewise.
34323 * kern/dl.c: Likewise.
34324 * kern/err.c: Likewise.
34325 * kern/file.c: Likewise.
34326 * kern/fs.c: Likewise.
34327 * kern/loader.c: Likewise.
34328 * kern/main.c: Likewise.
34329 * kern/misc.c: Likewise.
34330 * kern/mm.c: Likewise.
34331 * kern/rescue.c: Likewise.
34332 * kern/term.c: Likewise.
34333 * kern/i386/dl.c: Likewise.
34334 * kern/i386/pc/init.c: Likewise.
34335 * kern/i386/pc/lzo1x.S: Likewise.
34336 * kern/i386/pc/startup.S: Likewise.
34337 * loader/i386/pc/chainloader.c: Likewise.
34338 * loader/i386/pc/linux.c: Likewise.
34339 * loader/i386/pc/multiboot.c: Likewise.
34340 * normal/cmdline.c: Likewise.
34341 * normal/command.c: Likewise.
34342 * normal/main.c: Likewise.
34343 * normal/menu.c: Likewise.
34344 * normal/i386/setjmp.S: Likewise.
34345 * term/i386/pc/console.c: Likewise.
34346 * term/i386/pc/vga.c: Likewise.
34347 * util/console.c: Likewise.
34348 * util/genmoddep.c: Likewise.
34349 * util/misc.c: Likewise.
34350 * util/pupa-emu.c: Likewise.
34351 * util/resolve.c: Likewise.
34352 * util/unifont2pff.rb: Likewise.
34353 * util/i386/pc/biosdisk.c: Likewise.
34354 * util/i386/pc/getroot.c: Likewise.
34355 * util/i386/pc/pupa-mkimage.c: Likewise.
34356 * util/i386/pc/pupa-setup.c: Likewise.
34357
34358 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34359
34360 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34361 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34362 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34363 reading and reset it after reading.
34364 (pupa_ext2_close): Return PUPA_ERR_NONE.
34365
34366 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34367 Correct value.
34368 (struct linux_kernel_header): Add kernel_version and
34369 initrd_addr_max.
34370 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34371 pupa_file_read succeeds.
34372 (pupa_rescue_cmd_initrd): Implement.
34373
34374 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34375
34376 * fs/ext2.c (pupa_ext2_label): New function.
34377 (pupa_ext2_fs): Added label.
34378 * fs/fat.c (pupa_fat_label): New function.
34379 (pupa_fat_fs): Added label.
34380 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34381
34382 * kern/misc.c (pupa_strndup): New function.
34383 * include/pupa/misc.h (pupa_strndup): New prototype.
34384
34385 * include/pupa/normal.h: Include <pupa/err.h>.
34386 (pupa_set_history): New prototype.
34387 (pupa_iterate_commands): New prototype.
34388 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34389 <pupa/disk.h>, <pupa/file.h>.
34390 (hist_size): New variable.
34391 (hist_lines): Likewise.
34392 (hist_end): Likewise.
34393 (hist_used): Likewise.
34394 (pupa_set_history): New function.
34395 (pupa_history_get): Likewise.
34396 (pupa_history_add): Likewise.
34397 (pupa_history_replace): Likewise.
34398 (pupa_tab_complete): Likewise.
34399 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34400 completion shows partitionnames while completing partitions, this
34401 feature was suggested by Jeff Bailey.
34402 * normal/command.c (pupa_iterate_commands): New function.
34403 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34404 (pupa_normal_init): Initialize history buffer.
34405 (PUPA_MOD_INIT): Likewise.
34406 (pupa_normal_fini): Free the history buffer.
34407 (PUPA_MOD_FINI): Likewise.
34408
34409 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34410 key.
34411
34412 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34413 * configure.ac [i386]: Check for regparam bug.
34414 (NESTED_FUNC_ATTR) [! i386]: Defined.
34415
34416 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34417
34418 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34419 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34420 (pupa_emu_SOURCES): New variable.
34421 (pupa_emu_LDFLAGS): Likewise.
34422 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34423 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34424 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34425 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34426 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34427 (pupa_jmp_buf): New typedef.
34428 (pupa_setjmp) [PUPA_UTIL]: New macro.
34429 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34430 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34431 (pupa_refresh): New prototype.
34432 * include/pupa/util/getroot.h: New file.
34433 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34434 it.
34435 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34436 (pupa_rescue_cmd_cat): Likewise.
34437 (pupa_rescue_cmd_ls): Likewise.
34438 (pupa_rescue_cmd_testload): Likewise.
34439 (pupa_rescue_cmd_lsmod): Likewise.
34440 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34441 * normal/menu.c (run_menu): Likewise.
34442 * kern/term.c (pupa_cls): Likewise.
34443 (pupa_refresh): New function.
34444 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34445 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34446 * util/console.c: New file.
34447
34448 * util/i386/pc/getroot.c: New file.
34449 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34450 (pupa_putchar): New function.
34451 (pupa_refresh): Likewise.
34452 (xgetcwd): Function moved to ...
34453 (strip_extra_slashes): Likewise.
34454 (get_prefix): Likewise.
34455 * util/i386/pc/getroot.c: ... here.
34456 (find_root_device): Function moved and renamed to...
34457 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34458 Changed all callers.
34459 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34460 and renamed to...
34461 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34462 Changed all callers.
34463 * util/misc.c (pupa_memalign): New function.
34464 (pupa_mm_init_region): Likewise.
34465 (pupa_register_exported_symbols): Likewise.
34466 (pupa_putchar): Function removed.
34467 * util/pupa-emu.c: New file.
34468
34469 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34470
34471 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34472 (_multiboot_mod_SOURCES): New variable.
34473 (_multiboot_mod_CFLAGS): Likewise.
34474 * loader/i386/pc/multiboot.c: New file.
34475 * include/pupa/i386/pc/multiboot.h: Likewise.
34476 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34477 (pupa_multiboot_real_boot): New function.
34478 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34479 (pupa_multiboot_real_boot): New prototype.
34480 (pupa_rescue_cmd_multiboot): Likewise
34481 (pupa_rescue_cmd_module): Likewise.
34482
34483 * kern/loader.c (pupa_loader_set): Continue when
34484 pupa_loader_unload_func() fails.
34485 (pupa_loader_unset): New function.
34486 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34487
34488 * kern/misc.c (pupa_stpcpy): New function.
34489 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34490
34491 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34492
34493 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34494 for available extensions.
34495
34496 * include/pupa/i386/pc/time.h: New file.
34497 * kern/disk.c: Include <pupa/machine/time.h>.
34498 (PUPA_CACHE_TIMEOUT): New macro.
34499 (pupa_last_time): New variable.
34500 (pupa_disk_open): Flush the cache when there was a timeout.
34501 (pupa_disk_close): Reset the timer.
34502 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34503 pupa_currticks.
34504 * util/misc.c: Include <sys/times.h>
34505 (pupa_get_rtc): New function.
34506
34507 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34508
34509 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34510 as blocks.
34511 (pupa_ext2_get_file_block): Use blocks member.
34512
34513 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34514 first block. Return -1 instead of pupa_errno on error.
34515
34516 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34517
34518 * README: In the pupa-mkimage example use _chain instead of chain
34519 and ext2 instead of fat.
34520 * TODO: Replace ext2fs with jfs as an example. Add an item for
34521 adding journal playback for ext2fs.
34522 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34523 (pkgdata_MODULES): Added ext2.mod.
34524 (ext2_mod_SOURCES): New variable.
34525 (ext2_mod_CFLAGS): Likewise.
34526 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34527 * include/pupa/misc.h (pupa_strncpy): New prototype.
34528 (pupa_strcat): Likewise.
34529 (pupa_strncmp): Likewise.
34530 * kern/misc.c (pupa_strcat): Enable function.
34531 (pupa_strncpy): New function.
34532 (pupa_strncmp): Likewise.
34533 * fs/ext2.c: New file.
34534
34535 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34536 when the read failed before retrying.
34537 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34538 (_FILE_OFFSET_BITS): Likewise.
34539 * configure.ac: Added AC_SYS_LARGEFILE.
34540
34541 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34542
34543 * genmk.rb (PModule#rule): Make sure to get only symbol names
34544 from the output of nm.
34545 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34546
34547 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34548
34549 I forgot to check in these changes for a long time. This adds
34550 incomplete support for VGA console, and this is still very
34551 buggy. Also, a lot of consideration is required for I18N,
34552 UNICODE, and VGA font issues. Therefore, assume that this is
34553 such that "better than nothing".
34554
34555 * font/manager.c: New file.
34556 * include/pupa/font.h: Likewise.
34557 * include/pupa/i386/pc/vga.h: Likewise.
34558 * term/i386/pc/vga.c: Likewise.
34559 * util/unifont2pff.rb: Likewise.
34560
34561 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34562 (pkgdata_MODULES): Added vga.mod and font.mod.
34563 (vga_mod_SOURCES): New variables.
34564 (vga_mod_CFLAGS): Likewise.
34565 (font_mod_SOURCES): Likewise.
34566 (font_mod_CFLAGS): Likewise.
34567
34568 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34569
34570 * include/pupa/term.h: Include pupa/err.h.
34571 (struct pupa_term): Added init and fini.
34572 Changed the argument of putchar to pupa_uint32_t.
34573
34574 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34575 (pupa_console_real_putchar): New prototype.
34576 (pupa_console_putchar): Removed.
34577 (pupa_console_checkkey): Exported.
34578 (pupa_console_getkey): Likewise.
34579
34580 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34581 characters.
34582
34583 * kern/term.c (pupa_term_set_current): Rewritten.
34584 (pupa_putchar): Likewise.
34585 (pupa_putcode): New function.
34586
34587 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34588 (pupa_console_real_putchar): ... this.
34589 (pupa_vga_set_mode): New function.
34590 (pupa_vga_get_font): Likewise.
34591
34592 * normal/command.c: Include pupa/term.h.
34593 (terminal_command): New function.
34594 (pupa_command_init): Register the command "terminal".
34595
34596 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34597 (DISP_UP): Likewise.
34598 (DISP_RIGHT): Likewise.
34599 (DISP_DOWN): Likewise.
34600 (DISP_HLINE): Likewise.
34601 (DISP_VLINE): Likewise.
34602 (DISP_UL): Likewise.
34603 (DISP_UR): Likewise.
34604 (DISP_LL): Likewise.
34605 (DISP_LR): Likewise.
34606
34607 * term/i386/pc/console.c (pupa_console_putchar): New function.
34608
34609 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34610
34611 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34612 FIX. Reverse the path_list.
34613
34614 * include/pupa/normal.h: Export pupa_register_command and
34615 pupa_unregister_command.
34616
34617 * hello/hello.c (pupa_cmd_hello): New module.
34618 * conf/i386-pc.rmk: Added hello.mod.
34619
34620 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34621
34622 * kern/i386/pc/lzo1x.S: New file.
34623
34624 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34625 (compress_kernel): New variable.
34626 (generate_image): Heavily modified to support compressing a
34627 large part of the core image.
34628
34629 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34630 leak.
34631 (pupa_util_load_image): New function.
34632
34633 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34634 (pupa_compressed_size): New variable.
34635 (codestart): Enable Gate A20 here.
34636 Decompress the compressed part of the core image.
34637 Rearrange the code to put functions and variables which are
34638 required for initialization in the non-compressed part.
34639 Include lzo1x.S.
34640
34641 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34642 here.
34643
34644 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34645
34646 * include/pupa/i386/pc/kernel.h
34647 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34648 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34649 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34650 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34651 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34652
34653 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34654
34655 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34656 (Utility#rule): Likewise.
34657
34658 * configure.ac: Check if LZO is available.
34659
34660 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34661
34662 * include/pupa/normal.h: New file.
34663 * include/pupa/setjmp.h: Likewise.
34664 * include/pupa/i386/setjmp.h: Likewise.
34665 * normal/cmdline.c: Likewise.
34666 * normal/command.c: Likewise.
34667 * normal/main.c: Likewise.
34668 * normal/menu.c: Likewise.
34669 * normal/i386/setjmp.S: Likewise.
34670
34671 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34672 (pupa_rescue_cmd_initrd): Likewise.
34673
34674 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34675 Likewise.
34676
34677 * kern/i386/pc/startup.S (translation_table): New variable.
34678 (translate_keycode): New function.
34679 (pupa_console_getkey): Call translate_keycode.
34680
34681 * kern/rescue.c (attempt_normal_mode): New function.
34682 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34683 it failed, print a message.
34684
34685 * kern/mm.c (pupa_real_malloc): Print more information when a
34686 free magic is broken.
34687 (pupa_free): If the first free header is not free actually, set
34688 it to P.
34689
34690 * kern/main.c (pupa_load_normal_mode): Just load the module
34691 "normal".
34692 (pupa_main): Don't print the message
34693 "Entering into rescue mode..." here.
34694
34695 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34696 Declared.
34697 (pupa_rescue_cmd_initrd): Likewise.
34698 (pupa_rescue_cmd_initrd): Likewise.
34699
34700 * include/pupa/symbol.h (FUNCTION): Specify the type.
34701 (VARIABLE): Likewise.
34702
34703 * include/pupa/err.h (pupa_err_t): Added
34704 PUPA_ERR_UNKNOWN_COMMAND.
34705
34706 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34707 (pupa_dl_get_prefix): Likewise.
34708
34709 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34710 Added _chain.mod and _linux.mod instead of chain.mod and
34711 linux.mod.
34712 (chain_mod_SOURCES): Renamed to ...
34713 (_chain_mod_SOURCES): ... this.
34714 (chain_mod_CFLAGS): Renamed to ...
34715 (_chain_mod_CFLAGS): ... this.
34716 (linux_mod_SOURCES): Renamed to ...
34717 (_linux_mod_SOURCES): ... this.
34718 (linux_mod_CFLAGS): Renamed to ...
34719 (_linux_mod_CFLAGS): ... this.
34720 (normal_mod_SOURCES): New variable.
34721 (normal_mod_CFLAGS): Likewise.
34722 (normal_mod_ASFLAGS): Likewise.
34723
34724 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34725
34726 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34727 possible.
34728
34729 * kern/dl.c (pupa_dl_ref): Refer depending modules
34730 recursively.
34731 (pupa_dl_unref): Unrefer depending modules recursively.
34732 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34733 a module is unloaded before one depending on that module is
34734 unloaded.
34735 (pupa_dl_unload): Unload depending modules explicitly,
34736 if possible.
34737
34738 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34739
34740 * include/pupa/i386/pc/linux.h: New file.
34741 * loader/i386/pc/linux.c: Likewise.
34742
34743 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34744 Removed.
34745 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34746 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34747 of PUPA_CHAINLOADER_BOOT_SECTOR.
34748
34749 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34750 (pupa_linux_prot_size): New variable.
34751 (pupa_linux_tmp_addr): Likewise.
34752 (pupa_linux_real_addr): Likewise.
34753 (pupa_linux_boot_zimage): New function.
34754 (pupa_linux_boot_bzimage): Likewise.
34755
34756 * kern/i386/pc/init.c (struct mem_region): New structure.
34757 (MAX_REGIONS): New macro.
34758 (mem_regions): New variable.
34759 (num_regions): Likewise.
34760 (pupa_os_area_addr): Likewise.
34761 (pupa_os_area_size): Likewise.
34762 (pupa_lower_mem): Likewise.
34763 (pupa_upper_mem): Likewise.
34764 (add_mem_region): New function.
34765 (compact_mem_regions): Likewise.
34766 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34767 the size of the conventional memory and that of so-called upper
34768 memory (before the first memory hole).
34769 Instead of adding each found region to free memory, use
34770 add_mem_region and add them after removing overlaps.
34771 Also, add only 1/4 of the upper memory to free memory. The rest
34772 is used for loading OS images. Maybe this is ad hoc, but this
34773 makes it much easier to relocate OS images when booting.
34774
34775 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34776 (pupa_enter_rescue_mode): Don't register initrd and module.
34777
34778 * kern/mm.c: Include pupa/dl.h.
34779
34780 * kern/main.c: Include pupa/file.h and pupa/device.h.
34781
34782 * kern/loader.c (pupa_loader_load_module_func): Removed.
34783 (pupa_loader_load_module): Likewise.
34784
34785 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34786 ``.o''.
34787
34788 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34789 (pupa_linux_tmp_addr): Likewise.
34790 (pupa_linux_real_addr): Likewise.
34791 (pupa_linux_boot_zimage): Likewise.
34792 (pupa_linux_boot_bzimage): Likewise.
34793
34794 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34795 (pupa_upper_mem): Likewise.
34796 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34797 module is too dangerous.
34798
34799 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34800 (pupa_os_area_size): Likewise.
34801 (pupa_loader_set): Remove the first argument. Loader doesn't
34802 manage modules or initrd any longer.
34803 (pupa_loader_load_module): Removed.
34804
34805 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34806 (linux_mod_SOURCES): New variable.
34807 (linux_mod_CFLAGS): Likewise.
34808
34809 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34810
34811 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34812 the length of a blocklist correctly.
34813
34814 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34815 Use ioctl only if the OS file is a block device.
34816 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34817 not very useful for normal files.
34818
34819 * kern/main.c (pupa_set_root_dev): New function.
34820 (pupa_load_normal_mode): Likewise.
34821 (pupa_main): Call those above.
34822
34823 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34824 pupa_uint16_t.
34825
34826 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34827
34828 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34829
34830 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34831 (setup): Configure the installed partition information and the
34832 dl prefix.
34833
34834 * loader/i386/pc/chainloader.c (my_mod): New variable.
34835 (pupa_chainloader_unload): New function.
34836 (pupa_rescue_cmd_chainloader): Refer itself.
34837 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34838
34839 * kern/i386/pc/startup.S (install_partition): Removed.
34840 (version_string): Likewise.
34841 (config_file): Likewise.
34842 (pupa_install_dos_part): New variable.
34843 (pupa_install_bsd_part): Likewise.
34844 (pupa_prefix): Likewise.
34845 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34846
34847 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34848 and pupa/misc.h.
34849 (make_install_device): New function.
34850 (pupa_machine_init): Set the dl prefix.
34851
34852 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34853 (buf): Renamed to ...
34854 (linebuf): ... this.
34855 (pupa_rescue_cmd_prefix): New function.
34856 (pupa_rescue_cmd_insmod): Likewise.
34857 (pupa_rescue_cmd_rmmod): Likewise.
34858 (pupa_rescue_cmd_lsmod): Likewise.
34859 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34860 rmmod and lsmod.
34861
34862 * kern/mm.c (pupa_memalign): If failed even after invalidating
34863 disk caches, unload unneeded modules and retry.
34864
34865 * kern/misc.c (pupa_memmove): New function.
34866 (pupa_memcpy): Removed.
34867 (pupa_strcpy): New function.
34868 (pupa_itoa): Made static.
34869
34870 * kern/dl.c (pupa_dl_iterate): New function.
34871 (pupa_dl_ref): Likewise.
34872 (pupa_dl_unref): Likewise.
34873 (pupa_dl_unload): Return if succeeded or not.
34874 (pupa_dl_unload_unneeded): New function.
34875 (pupa_dl_unload_all): Likewise.
34876 (pupa_dl_init): Renamed to ...
34877 (pupa_dl_set_prefix): ... this.
34878 (pupa_dl_get_prefix): New function.
34879
34880 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34881 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34882 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34883 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34884 (pupa_install_dos_part): Declared.
34885 (pupa_install_bsd_part): Likewise.
34886 (pupa_prefix): Likewise.
34887 (pupa_boot_drive): Likewise.
34888
34889 * include/pupa/types.h: Fix a typo.
34890
34891 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34892 pupa_memmove.
34893 (pupa_memmove): Declared.
34894 (pupa_strcpy): Likewise.
34895
34896 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34897 pupa_mod_init takes one argument, its own module.
34898 (pupa_dl_unload_unneeded): Declared.
34899 (pupa_dl_unload_all): Likewise.
34900 (pupa_dl_ref): Likewise.
34901 (pupa_dl_unref): Likewise.
34902 (pupa_dl_iterate): Likewise.
34903 (pupa_dl_init): Renamed to ...
34904 (pupa_dl_set_prefix): ... this.
34905 (pupa_dl_get_prefix): Declared.
34906
34907 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
34908 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
34909 unloaded.
34910 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34911 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34912
34913 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34914 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34915
34916 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34917
34918 * util/i386/pc/pupa-setup.c (setup): Define the internal
34919 function find_first_partition_start at the top level, because GCC
34920 3.0.x cannot compile internal functions in deeper scopes
34921 correctly.
34922 (find_root_device): Use lstat instead of stat.
34923 Don't follow symbolic links.
34924 Fix the path-constructing code.
34925
34926 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34927 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34928 by a BLKGETSIZE ioctl first, because block devices don't fill
34929 the member st_mode of the structure stat on Linux.
34930 [__linux__] (linux_find_partition): Use a temporary buffer
34931 REAL_DEV for the working space. Copy it to DEV before returning.
34932 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34933 buffer cache consistent.
34934 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34935 strncmp. The previous value was merely wrong.
34936 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34937
34938 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34939 FAT size is 12. The previous value was merely wrong.
34940
34941 * kern/main.c (pupa_main): Don't split the starting message from
34942 newlines.
34943
34944 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34945 LF, because BIOS goes crazy about character attributes in this
34946 case.
34947
34948 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34949
34950 * include/i386/pc/util/biosdisk.h: New file.
34951 * util/i386/pc/biosdisk.c: Likewise.
34952 * util/i386/pc/pupa-setup.c: Likewise.
34953
34954 * Makefile.in (INCLUDE_DISTFILES): Added
34955 include/pupa/i386/pc/util/biosdisk.h.
34956 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34957 directory util/i386/pc.
34958 (install-local): Added a rule for sbin_UTILITIES.
34959 (uninstall): Likewise.
34960
34961 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34962
34963 * util/misc.c (xrealloc): New function.
34964 (pupa_malloc): Likewise.
34965 (pupa_free): Likewise.
34966 (pupa_realloc): Likewise.
34967 (pupa_stop): Likewise.
34968 (pupa_putchar): Likewise.
34969
34970 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34971
34972 * include/pupa/util/misc.h (xrealloc): Declared.
34973
34974 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34975 macro.
34976 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34977 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34978
34979 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34980 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34981
34982 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34983 way should be implemented.
34984 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34985
34986 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34987 the size of NAME for safety.
34988 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34989 0x88.
34990
34991 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34992 (pupa_setup_SOURCES): Likewise.
34993
34994 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34995
34996 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34997
34998 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34999 bunch of pushl's from pusha, because this destroys the return
35000 value.
35001
35002 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35003
35004 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35005 This means that any missing prototypes could be fatal. Also, you
35006 must take care when writing assembly code. See the comments at
35007 the beginning of startup.S, for more details.
35008
35009 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35010 compilation mechanism.
35011 (pupa_chainloader_real_boot): Likewise.
35012 (pupa_biosdisk_rw_int13_extensions): Likewise.
35013 (pupa_biosdisk_rw_standard): Likewise.
35014 (pupa_biosdisk_check_int13_extensions): Likewise.
35015 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35016 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35017 (pupa_get_memsize): Likewise.
35018 (pupa_get_mmap_entry): Likewise.
35019 (pupa_console_putchar): Likewise.
35020 (pupa_console_setcursor): Likewise.
35021 (pupa_getrtsecs): Use pushl instead of push.
35022
35023 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35024 memory instead of the stack for a mmap entry, because some
35025 BIOSes may ignore the maximum size and overflow.
35026
35027 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35028
35029 * genmk.rb (PModule#rule): Compile automatically generated
35030 sources with module-specific CFLAGS as well as other sources.
35031
35032 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35033
35034 * configure.ac: Check ld.
35035 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35036 respectively, before checking endianness and sizes.
35037
35038 * Makefile.in (LD): New variable.
35039
35040 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35041
35042 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35043
35044 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35045
35046 * Changelog: New file.
35047